15

I have a good experience on HTML5,Javascript, jQuery, AngularJS. I am about to develop a hybrid mobile app.

i just want to know which one of them is the best.

And i am planning with IONIC as it has started supporting windows too. How far this will be helpful. is there anything best than IONIC?

Gajotres
  • 57,309
  • 16
  • 102
  • 130
eaglemac
  • 235
  • 1
  • 2
  • 12

3 Answers3

60

May I change your question a bit? The right one should be which mobile application framework sucks the least.

Don't get me wrong, I'm not a hater. At this point, I'm the most contributing jQuery Mobile supporter here, with more than 1300 answers: https://stackoverflow.com/tags/jquery-mobile/topusers. Plus I'm also forum moderator at the official Ionic framework forum: https://forum.ionicframework.com/users/gajotres/activity. So I'm more than versed in this topic.

First of all, there's no such thing as a best mobile application framework. What you need is a mobile framework that's as close to native mobile apps as possible (I'm talking about performance and look & feel). Plus you want to use a JavaScript framework you're most experienced with.

Frameworks

Sencha (ExtJS) is a thing of past. At one point it was the best available framework. Unfortunately, today it's just fat and slow.

jQuery Mobile (jQuery) is a living dead. It was never a great framework but a lot of people used it because it worked on top of jQuery. Last major version was created 3 years ago (1.4). Next one should be released soon, but it's already obsolete. Let's put this into the perspective. Ionic was released after jQuery Mobile 1.4 and developers are already working on Ionic 2.

Ionic (AngularJS) is currently the most used hybrid mobile framework. Is it the best? Far from it. It's not very fast (though it's faster than the most currently available competition). Page transitions/animations are abysmal, you literally need to use certain Cordova plugin just to make them look any good. And this is not everything but I'm not gonna bother you anymore.

Ionic 2 (AngularJS 2) is another story. This alpha product is even at this point better than a production ready Ionic. Most of my concerns are gone though page transitions are still not native-like.

OnsenUI (AngularJS/jQuery) is to my knowledge only decent Ionic competitor. It's always one step ahead of Ionic. Better performance, no AngularJS routing, easier to work with. Unfortunately, it has a smaller user base. Last but not least, it offers a better desktop browser support than Ionic.

OnsenUI 2 (platform agnostic) is the next major iteration of OnsenUI. Even better performance. Platform agnostic so you can use it with any JavaScript framework you like. Still in beta.

Titanium/Xamarin - Use JavaScript or C# code to create a fully native mobile application. On the one hand, you'll receive a real native app. Unfortunately, these applications are usually prone to memory leaks plus you can't style them on the same level compared to HTML5 and CSS hybrid mobile frameworks.

Native Script/React Native - These frameworks are another special case. I would call them the real hybrid mobile frameworks, mostly because their final result is a native app with a JavaScript background. They offer the best of both worlds but they also require a lot of time to master. Plus they are usually 10-20% slower than real native apps, mostly because of Javascript <-> native code abstraction.

Conclusion

My advice. If you're set on AngularJS, Go with Ionic or Ionic 2 if you're willing to wait for a release candidate version. On the other hand, if you prefer jQuery over AngularJS then go with OnsenUI or OnsenUI 2.

Community
  • 1
  • 1
Gajotres
  • 57,309
  • 16
  • 102
  • 130
  • That was a clear shot.. thanks a lot for your suggestion and points. i am all set with Angular believing its full support from Google. Going with Ionic. Ionic 2 i dont think it has a stable release. – eaglemac Dec 30 '15 at 12:22
  • As for ExtJS - you can stick with version 3.x to have a good looking app with good performance. And yes - versions 5 and 6 suck. – Thevs Jun 30 '16 at 06:16
13

The question is way too broad for this format, beyond the scope of this site and showing a lack of research:

  • Sencha is using Cordova.
  • Jquery mobile is using Cordova.
  • Ionic is using Cordova
  • Cordova has no GUI framework, it is only a browser container.

So in fact it is

(a) Cordova vs. Titanium

  • Cordova is providing a browser window and some native plugins that extend JavaScript so that certain native functions are available. But the GUI is JavaScript in a browser, so anything goes that you can do in a browser.
  • Titanium is transpiling your JS logic into native code and is using native controls, which makes it faster, but you can't reuse 3rd party javascript controls.

(b) If Cordova, then ExtJS vs. IONIC vs. JQuery Mobile

I have only used ExtJS so far, so I can't comment on the other frameworks. Have a look at some sample code (implementing a button, a field, a list or grid and whatever else you need for your app), try to understand it and you'll find what suits you.

Alexander
  • 19,906
  • 19
  • 75
  • 162
2

I'm biased because I work for Codename One which is similar in some regards to ionic only native and uses Java instead of JavaScript. You can embed a PhoneGap/Cordova/ionic app into Codename One to get a native app.

If you prefer JavaScript then ionic is probably the way to go as you can just simulate everything in the desktop easily.

Appcelerator translates the code to a native project and its process seems somewhat dated when compared to other JavaScript to native tools. E.g. React Native and Codename One provide a more fluent developer experiences.

Shai Almog
  • 51,749
  • 5
  • 35
  • 65