At last Sencha Conference (SenchaCon13) I had an interesting discussion about handling responsive web design with ExtJS and/or SenchaTouch. At least many attendees hoped to get a merge between ExtJS and SenchaTouch to have only one framework to rule them all.

In my opinion many developers try to put things together on a table, which could never end in a valuable result. Naming ExtJS, SenchaTouch and responsive web design in one sentence shows the misunderstanding of these tools.

ExtJS is a full stack application framework. It not only raises a claim to support older browsers (at least IE8 until 2014/15) and to make javascript less browser dependent for a developer. It also supports things not usable on mobile devices. It is made for desktops (having also more power to serve a website). Sencha will add some touch features, but they are dedicated to more powerful touch devices (notebooks / desktops with touch screens). The powerful layout system (border, vbox, hbox, … layouts) is one of the major reasons to pick ExtJS.

SenchaTouch is a JavaScript framework made especially for mobile browsers. Only webkit browsers at the beginning. Currently on iOS, Android, Blackberry 10 and also Windows Phone 8 now as first none webkit based browser. It is less feature rich then ExtJS, no older/other browser support at all, different kind of charting (canvas instead of svg/vml), …

But responsive web design is not a framework and almost not a kind of having things simple floating around. Checkout wikipedia for what responsive web design means. If you plan to develop an application and decided to use ExtJS on the desktop. Responsive web design is not what you are looking for, when you are willing to bring some application features to a phone/tablet. It is not only the layout system what will fail, because you defined more or less fixed positions for elements. Also cpu/memory consumption is too high for small devices. The way you designed an application in terms of UI/UX will not fit to a mobile device. Simple think about your thumb touching a link, row, icon, whatever on your desktop screen instead of a tiny mouse pointer.

If you want to see parts of your application on mobile devices, use SenchaTouch. In best case you can at least share some javascript code parts, when you build them in packages (using Sencha Command).

If your need is to be responsive for any price, then ExtJS or SenchaTouch are definitively not the right canon to fire on this target. Rethink your decision. You may think about AngluarJS, to just name one of many others, to solve your problem.

To close this topic: an application is configurable, not responsive. A website has different requirements as an application.