OnsenUI vs Ionic Framework

I want to start developing a mobile hybrid app using angularjs, css3 and html5. Was searching for a framework and found these two. Both are looking very nice however I was not able to get a good comparison between both of them. Can anyone please list down pros and cons for both.

A comparison between them in terms of scalable, out of the box components, speed and compatibility with Angular and devices targeted will be very helpful

One year has passed since both frameworks were released. Onsen UI is currently in stable 1.2 version while Ionic is in the last release candidate state.

I have worked with both of them so let me give you a short overview, I also wrote a much larger blog article, you'll find it at the end of this answer.

I won't go into much details about the core framework; if you have a previous AngularJS knowledge you will easily transition to Ionic or Onsen UI.

  • Both frameworks are built around AngularJS and they heavily depend on directives, you can also easily build your custom directives. Onsen UI also features a jQuery support (unnecessary if you ask me).

  • Both frameworks support Android 4+, iOS 6+ (some features are available on Android 2.3), Onsen UI also officially supports Firefox OS and desktop browsers. Ionic don't have an official desktop support, but it will still work (it will not be pretty, imagine ).

  • Ionic currently don't support Windows Mobile platform (it will have it in the future); Onsen UI support is currently in development (since November 2014).

  • Both frameworks support some kind of splitview feature so they can be used for table development.

  • Both frameworks have a distinctive beautiful looking flat UI. I prefer Ionic over Onsen UI look and feel, but this is a matter of personal taste. Both default themes look iOS 7 like.

  • Onsen UI supports native looking themes for Android and iOS. Ionic framework uses the same theme for all platforms, but some features will depend on the platform (for example tab look and feel)

  • Both frameworks have a working theme builder.

  • Ionic supports SASS while Onsen UI is built around Topcoat CSS library.

  • Both frameworks have a large widget support (directives)

  • Onsen UI has a better documentation. It is separated at two different locations. First one is “Components” where you can see different directives and each one has a working example you can use and replicate. Second part is a “Guide” where you are guided through the application creation process.

  • Ionic has a disorganized documentation (heavily fragmented). It lacks a real “getting started” tutorial, even if you have previous AngularJS experience. It shows you pieces, but not how to connect them correctly.

  • On the other hand Ionic has much larger community so you will easily find problem solutions.

  • Ionic framework has a great official forum + large StackOverflow community. At the same time, Onsen UI uses only StackOverflow as a help center (I would call this a fail).

  • Onsen UI has an HTML5 IDE called MONACA IDE (great tool), Ionic IDE is currently in production; you can participate in beta test.

  • Ionic has a growing 3rd party plugin community (for example date picker); I couldn't find any 3rd party Onsen UI plugin

I wrote a much larger article covering Ionic / Onsen UI changes, find it here.

Since both frameworks are pretty new and not very popular (yet!), I don't think anybody has taken the time to do an extensive comparison between the two. I don't even think the final set of out of the box components is determined by the developers themselves yet, active development is still going on.

As for compatibility, hybrid apps run in the native browsers of the devices where they are installed on. Both frameworks need CSS3, so old phones will never be supported by either of the frameworks.

The OnsenUI-tag here on StackOverflow is the only support OnsenUI offers (currently), and at the moment of writing there are 0 questions/answers. Ionic has a very active forum on their website + some questions/answers here on SO.

I think having an active community backing up a framework will eventually lead to a better framework. Therefore I'd go for Ionic. Personally, I find Ionic's standard-design more appealing as well, but you should judge that for yourself.

Ionic

  • more lean to Angular style like routes,controllers and template and it's structure is kind of complicated in first hand.
  • command like "ionic start myApp tabs" still don't available in onsenUI
  • Material Design like "Cardboard" are available

OnsenUI

  • simpler structure, easy to start
  • couple with Monaca IDE, some of features are only available only if you use Monaca. otherwise you have to create things by yourself.
  • supported ios8 design recently

Ionic has a more mature feature and CSS component set and out of the box. Injectable delegate services, representing the UI elements (directives) gives you more control over UI/UX interactions. The development community is (currently) very active and it's gaining traction.

I cannot properly speak to speed/performance between the two but know both are optimized for mobile.

As I develop more, I will report back with comparisons. Good luck.

Just started using ionic after some time native development. Must seriously say it has some great cli features! For example you can start your project from a gist in my opinion this is nice to have for poc's

Havent been able to test everything but what i've seen really impresses me!

It's well documented in there own way, active community and it keeps getting better.

Just wanted to share my thoughts for what it's worth