Jorge is the author of three software development books: "Building a Sencha Touch Application", "How to Build a jQuery Mobile Application", and the "Ext JS 3.0 Cookbook". He runs a software development and developer education shop that focuses on mobile, web and desktop technologies. Jorge is a DZone MVB and is not an employee of DZone and has posted 53 posts at DZone. You can read more from them at their website. View Full User Profile

Sencha Touch or jQuery Mobile?

  • submit to reddit

If you ever need to choose between jQuery Mobile and Sencha Touch, you need to consider these factors before making your decision:

About jQuery Mobile

  • It’s a UI-only library, which relies on jQuery and jQuery UI for DOM manipulation, Ajax and other utilities
  • To create UI widgets, you generally need to hand-code their html, and the library enhances their look and feel
  • As it works by enhancing the html you create, it allows you to re-use or re-purpose existing html
  • Some simple applications can be created using only html, without having to write JavaScript code
  • It has a relatively small object model, which makes it faster and easier to learn, specially if you are familiar with jQuery
  • It does not impose a coding discipline or structure, which gives you flexibility, but can lead to applications that are difficult to maintain
  • Easier to integrate with other frameworks
  • Targets more devices than Sencha Touch
  • Not tied to a particular vendor

About Sencha Touch

  • It’s a library that tries to do it all: UI widgets, DOM manipulation, Ajax and other utilities
  • Does not depend on other libraries
  • Follows a JavaScript-centric approach, where you are required to write little html
  • Has a large object model, which provides more features out of the box, but takes longer to learn
  • Imposes a coding structure and discipline, which generally results in well-organized code
  • Provides built-in server and local storage abstractions, which make it easier to perform CRUD operations on relational data
  • Has built-in facilities for creating iOS and Android native packages
  • Targets less devices than jQuery Mobile

Now go ahead and start building that application.


Published at DZone with permission of Jorge Ramon, author and DZone MVB.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)


dev danke replied on Sun, 2012/02/05 - 3:19am

Beware: Sencha Touch uses the business-unfriendly GPLv3 license. They also offer a so-called "Free Commercial License" (as of 5-Feb-2012). But that license is deceptively named and probably not what you want. A better name would be "Version Locked - Free Commercial License".

Sencha's "Free Commercial License", will Not give you security patches and bug fixes. Here's an excerpt from the license:

You are not entitled to receive major version updates (i.e. X.Y, X+1.Y) or bug fix updates to the Software (X.Y.Z, X.Y.Z+1). Major version updates and bug fix updates to the Software are available separately for purchase.

Sencha wants to lock-in you or your company, to their proprietary product, so they can charge you. They're counting on you not reading the fine print in the license. The fact is, Sencha's "Free Commercial License" is so restricted that it's useless in a commercial product, just ask your company's lawyer.

Once you realize that the Sencha company doesn't mind using trickery to lock-in customers, you may be looking for alternatives to Sencha Touch. Truly free-and-open, cross-platform, standards compliant, mobile develop frameworks exist now. As a starting point, consider jQuery Mobile and PhoneGap.

Michael replied on Wed, 2012/02/15 - 6:47pm

Dev Danke. Please don't attribute malice where you can attribute something else (generally stupidity, or haste). That license language *is* confusing, but the reason why was that it was copy and pasted from our commercial Ext JS license. You're right to say it doesn't completely make sense for Sencha Touch, but please don't go further and attribute malicious motives. Its good that you flagged it, we're going to change it to something that makes more sense for a free license and try to make it plainer English while we're at it. Your claims that our commercial license language is *too restrictive* are simply not true. I'd be happy to talk to whatever lawyer told you that, (and check his bar registration while I'm at it.) Or post what you think is restrictive here, and we can discuss it.

For more detail, let me give you background on the way Ext JS commercial license works. When you pay for a commercial Ext JS license, you only get rights to the then current major version, not future major versions. Aka when you buy version 4, you don't get version 5 for free, you have to buy it version 5. On the other hand, you DO get rights to version 4.1, 4.2, 4.3 etc.

Also, if you buy just the commercial product without support, you currently DON'T get rights to version 4.1.1, version 4.1.2 etc. These patch releases are only available to support subscribers, but the bug fixes they contain get rolled into the next minor version. The money we make from our support subscriptions helps us to pay our developers to create these bug fixes. Note that if you get a support subscription you also get free upgrades to the next major version (version 5, 6 etc.) during the term of the support subscription. 

And finally, yes, we're a commercial open source company that makes money by commercial licensing our software, but over 95% of our community happily develops using our GPLv3 license, including some of the largest banks in the world. GPLv3 is the ultimate open source license because it *ensures* that downstream modifications get contributed back to the community.  

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.