I just wanted to throw in a few comments here…
Dhtmlx has also become my #1 framework of choice. There are so many things which can be done in this framework–so many it is hard to remember. For example, putting a container in form. What’s that? You have a form and you want to drop in a grid or a tree or a layout. One line of code in the form then create the object and that’s it. It works in every browser, it loads before you can blink your eyes and it works every time.
Another hardly unknown item is the Layout View. With this you can make single page web apps in nice neat modules called Views. Simply change the view, ajax some data, maybe call a url pushstate() function and bam. The benefit here that the page structure is cached so only data is moving from server to client.
That’s the dhtmlx way. Things work, they work fast and there are lots of programmer APIs. Sure there could more. For just about everything I’ve wanted to do, I’ve either found an API or was able to create a prototype.
I experimented with extJs and it drove me batty. After making a few pages, it was clear that the programming effort was vastly more time consuming. For example, just getting data on the page, you need to map the data to a model and then map the controller to the model too. In dhtmlx the data contains the mapping either by json field names, array position or by xml id (or position). So there are 1/3 the moving parts—this equates to faster development and it easy to maintain. Seriously, how many times have you ever had a data->field mapping problem that could not figure out in 20 seconds as it was being developed? There is no need to jump through so many hoops. In reality, this strict MVC framework makes it easier for the developers of extJs to create the product. In the end, it makes it harder for us end users to create our apps AND and it will always run slower than it could. Json already contains the data mapping–just use it.
I’ve also worked on an app where we had to use jqueryUI (thanks to some unmentioned person who now uses dhtmlx). jqueryUi (not to be confused with “jquery”), also drove me batty. One group created the window object and then another group created jqgrid, can’t image why there might be problems when you try to put a grid in window. Things like seeing double scroll bars would appear in some browser and not in others . There were grid to window sizing issues. This has never happened in dhtmlx. The grids snap into windows, layouts and containers exactly to the pixel.
All in all, if you want a product that works and performance is a high priority, dhtmlx has got it.
Same goes for dhtmlx touch. In it’s current release(version 1 or something), I created an iPad app which controls a credit card reader for a Point of Sale app. Apple accepted it on the first look. It is a one page web app written in HTML5. It runs fast and it looks great. I did used only Apple’s X code and dhtmlx touch.
The power of dhtmlx is vast and wide. And it is only getting better!