Tuesday, July 10, 2012

The first .NET HTML5 Websockets Rich Enterprise Application Framework update


Well, this has been a very exciting week already.  Have been working through an issue related to Threading with the Websockets Framework.  Have managed to get things working as designed.  Basically, I was faced with a dreaded - "An error occurred invoking the method.  The destination thread no longer exists." error.  The internal Thread being used was still available, or at least I thought so.  I discovered that the Thread was running as a Background Thread and was finalizing by the time I was attempting to access Thread.  I couldn't get this Thread to stay alive due to the way in which I was using it, so I had to resort to using a Thread Pool Manager which keeps the Threads in a Queue.  Then I was faced with another dreaded - "Cross-thread operation not valid: Control 'UserControl1' accessed from a thread other than the thread it was created on." error which was related to accessing one of the controls from another thread besides the GUI Thread.  I over came this also by using ISynchronizeInvoke interface.  Now, the Websockets Framework is stable and pretty fast in a Browser.  Interfaces built with this framework are nearly as fast as Windows Desktop native applications because of Websockets.  53 user interface controls are working but need a little work to make them stable and I have to finish up 7 more before CTP1.  Right now the following controls exists:
ExtJs Controls -
Window Accordion Panel
Accordion
Accordion Panel
Button
CheckBox
ComboBox
DateBox
FieldSet
GroupBox
HTMLEditor
Label
NumberBox
Panel
PlaceHolder
Radio
TextArea
TimeBox
Timer
TabPanel
DataList
BorderLayout
CardLayout
ContentPanel
ColorMenu
DateMenu
TreeView
StatusBar
ToolBar
ToolStrip
UserControl

JQuery Controls -
CrossSlide
CycleImage
ImageScroller

HTML Controls -
Marquee
HTMLAnchor
HTMLButton
HTMLCheckBox
HTMLDropDownList
HTMLFieldSet
HTMLFileUpload
HTMLHiddenField
HTMLHorizontalRule
HTMLFrame
HTMLLabel
HTMLListBox
HTMLObject
HTMLPanel
HTMLParagraph
HTMLRadio
HTMLTable
HTMLTextArea
HTMLTextBox
HTMLBorderLayout

HTML5 Controls - Future releases...

Today was a great day.  Hopefully the next couple of weeks are just as successful.