App Framework is not a new name on a current HTML5 mobile framework market. Now owned by Inter its used to be called jqMoby. Like Sencha Touch, it was used to make more native-like hybrid mobile applications and at the same time this is the biggest difference between it and jQuery Mobile.
 
 

Note: If this tutorial was helpful, need further clarification, something is not working or do you have a request for another Ionic post? Furthermore, if you don't like something about this blog, if something is bugging you, don't like how I'm doing stuff here, again leave me a comment below. I'm here to help you, I expect the same from you. Feel free to comment below, subscribe to my blog, mail me to dragan.gaic@gmail.com, or follow and mention me on twitter (@gajotres). Thanks and have a nice day!

PS. If you want my help, if possible (even if it takes you some time to do that), create a working example I can play with. Use Plunker for AngularJS based questions or jsFiddle for jQuery/jQuery Mobile based questions.


 
jQuery Mobile was never intended to be used only as a HTML5/CSS3 hybrid mobile app framework. On a similar track like its older brothers jQuery and jQuery UI it was intended to be used as a robust responsive solution in ever growing mobile web application market. What it took from its older brother was a all around browser support. It can be executed in every possible and available HTML5 browser and it will work just the same.
 
That same broad browser support also brought another problem and that is a platform optimization. Because jQuery Mobile can’t favor specific platforms that also means it is not optimized to use most of them.
 
Let’s also talk about Phonegap a bit. While great app packaging system, it becomes a hell hole when used with a larger jQuery Mobile applications. It’s like two great parents made a deformed bastard child.
 

Another solution is on the way

 
Like always in human history another groups of developers came to fill this evident hole. And here came jqMoby (now Intel App Framework), jqTouch, Zepto, Sencha Touch (I have already covered it in my other article: Sencha Touch vs jQuery Mobile), Trigger.io and others.
 

App Frameworks good side …

 
Before going any further then jQuery Mobile one thing must be understood, what every you gain in speed (and trust me you will get it) you will loose in community support. While every earlier mentioned framework has a sizable developer community behind them, all of them combined can’t even come close to jQuery Mobile.
 
This said let as delve into specifics. From my experience currently 2 best solutions as HTML5/CSS3 Android and iOS hybrid app frameworks are App Framework and Sencha Touch. First let me say, they are fast, faster then jQuery Mobile, and will probably stay as such (if jQuery Mobile developers stay on this course).
 
UI support is similar if not even better in case of Sencha Touch, not to mention UI is more native looking that it is case with jQuery Mobile which suffer from a problem I call “cloned applications”. Essentially, because of a jQuery Mobile UI the more applications you create, the more that start looking dull, cloned and the same. App Frameworks listviews are faster, scrolling is better, transitions do not stutter.
 

vs bad

 
Before someone asks why do people then choose to use jQuery Mobile instead let me tell you about bad sides of App Framework? The obvious reason would be community support and to some extent this is the truth. But there are some other pressing matters here. While jQMoby advertise itself as a truer jQuery alternative to jQuery Mobile it is a big lie (usual case in software marketing, just look at a Sencha Touch line: is the only framework that enables developers to build powerful apps that work on iOS, Android, BlackBerry, Windows Phone, and more).
 
While still a great and excellent framework, its developers are using this saying as a marketing trick. They have indeed cloned (redone them) a lot of jQuery features but this is only a partial job and veteran jQuery developers are going to find them self in a problem soon enough. They will not be able to make fully the most of their previous knowledge thus spending more time trying to find how to do something that was supposed to work – then working on an app.
 
On the other hand, Sencha Touch don’t suffer from this problem because it has a different syntax, almost alien one. Like with jqMoby you will need a lot of time to get into its syntax. But have no fear, the result is going to be satisfactory in the end.
 
One other thing, unlike jQuery Mobile and Phonegap, AppFramework and Sencha Touch have their own native app packaging system. In my humble opinion this system are better then Phonegap because they are optimized to work with their own mobile frameworks. Only thing Phonegap can offer over them is a HUGE plugin development community.
 

Links

 
jQuery vs Zepto vs jQMobi – which one is the fastest?
 
In this case jQuery is like jQuery Mobile because test here relays on an underlying framework functionality that jQM takes from jQ.
 
Good ranting on jQuery Mobile vs Sencha Touch
 
Title says it all.
 
AppFramework forum
 
Best jqMoby support site
 
Sencha Touch forum
 
Best Sencha Touch support site
 

Conclusion

 
AppFramework is a good choice for you, if you can go beyond its limits. It has a similar design as jQuery Mobile so syntax is not going to be a problem., not to mention faster then jQuery Mobile. Of course, if you want something better supported you should look at PhoneJS or KendoUI.
 
 

Who Am I?

Between working as a senior Java developer in one of the largest insurance companies in the world and traveling, in my free time, I work as a professional mobile development adviser. I'm also a major jQuery Mobile supporter back at StackOverflow and a forum moderator at the official Ionic Framework forum.

Blogs worth reading

If you're here looking for information related to the Ionic Framework, you will also like these blogs:






  • You ought to be a part of a contest for one of the best blogs online.

    I most certainly will recommend this site!

  • Great article thank you. After reading your article I have used AppFramework and its really good.

    One thing I am not sure how to fix. I need your guidance. On Iphone retina the button response was very slow. Its not as smooth as list. You need a firm push in order to made the transition. Is there any work around for this? I have tried fastclick.js but nothing improved.

    • Don’t use click event, switch to touchStart event, it will not suffer from 300 ms click delay.

      • Lesz

        Hi I’m new to JS. Does this mean we need to bind touchstart to all button listener?

        • It depends are you working on desktop or mobile application. If you are working on mobile application you will need to use touchStart or vClick instead of click, and yes, you will need to use it on every button element, at least if you want to solve click delay problem.

  • Laurie

    Thank you so much for all your efforts in this blog and your help on StackOverflow.

    Leaving aside the issues of learning curves, documentation and community support, which framework would you recommend from a purely performance perspective in PhoneGap? Basically, which performs the best – Kendo, Sencha or App Framework?

    I understand that Sencha has its own app wrapper but my investigations reveal that its a bit buggy, especially on Touchwiz devices. Sencha works quite well in PhoneGap though.

    I suspect you may say that there is not much between them which means I can make my decision on the other factors :-).

    Any guidance greatly appreciated.

    Regards,

    Laurie

    • They all have similar speed, framework syntax is biggest difference among those three. Basically it all comes to your choice, if you prefer jQuery then pick Kendo UI (or PhoneJS) or if you prefer vanilla java script then pick Sencha Touch.

  • Wayne Chong

    Hi, I’m starting to develop a hybrid app and found a lot of resources, this article is one of the resource i feel helpful, and i would like to try to use Intel App Framework, but i’m still not very clear about Intel App Framework. For example, if i want to create a single page, in jQuery Mobile i’m just using normal HTML DIV to markup the structure like header, title, footer…
    For Sencha Touch, it’s use a Javascript to create a DIV even header and so on to structure the page, so Intel App Framework is using which the syntax way? is similar with Sencha Touch or jQuery Mobile?

    Thanks & Regards,
    Wayne

    • Intel App Framework used to be more similar to jQuery Mobile then Sencha Touch, thou it was 2 years ago.

      • Hi Gaic…Great to see you. I’m not understand what do you mean of “Intel App Framework used to be more similar to App Framework…” are you refer to jQuery Mobile?

        And I have found that Intel App Framework came out a latest version and able to work with a IDE provided by Intel also, call Intel XDK…Perhaps you can share something about that?

        Thanks,
        Wayne

        • You are correct, I meant jQuery Mobile. Intel XDK is a good piece of software, you can even use it for jQuery Mobile development. But don’t expect Eclipse (or any other professional IDE) level of functionaries. It is all around tool, it comes integrated with Cordova and you can use it for direct app deployment.

  • Hey Gaic, thx for sharing. Beside Intel, another framework I was found is Ionic, which is treat as one of the advanced framework for mobile app development. Have you experienced this framework?

    • Currently, Ionic and Famo-us are probably two best available mobile frameworks. So I give it a highest recommendation.

  • Thanks for your recommendation Gaic. But as I know Famo-us is using JavaScript to build the UI like Sencha Touch right? What is the different between the JavaScript of this 2 frameworks?

    For Ionic, I’m not understand is it using HTML structure to build the UI or just like Famo-us and Sencha Touch? Because Ionic have to work well with a plugin call Angular-JS… What is the linkage between both?

    Thanks
    Wayne

    • Hi Wayne. Both Ionic and Famo.us use JavaScript for page building, thou Ionic has (at least to me) a little bit better approach using AngularJS and HTML templates, where Famo.us has a pure JavaScript approach (you can still use AngularJs with it).

      Also AngularJs is not a plugin, it is a full-fledged framework, Ionic is simply built around it, just like jQuery Mobile around jQuery. But, unlike jQuery, AngularJS is an MVC framework, or in its case an MV-Whatever framework.

      • Hi Gaic, thanks for your explanation. I’m receives few of the newsletters as you’re posted new post about jQuery Mobile, Ionic, Famo.us and Osean UI. That’s awesome…. Could you please post and share Intel App Framework & Intel XDK as well?

        Cheers,
        Wayne Chong

        • Hi Wayne. Yes, of course, I will review it soon. Currently, I’m working on Kendo UI.

  • Hi Gaic,
    I’ve read all your new series post of best “HTML 5 App Frameworks”…that is a really great information, will be better if you can give a review of the level of the learning curve for each frameworks. I’m found the answer that I want to know from there for certain framework and I’m just waiting your good share of Intel App Framework & Intel XDK.
    And perhaps you may share some of the good HTML5 markup based frameworks as well.

    Cheers,
    Wayne Chong

  • jcesar

    AppFramework is just UI now (version 3), you can use it with jquery or zepto