Back then …

I don’t know how many of you know a history of Ionic Framework. The project was originally started back in the Summer of 2013. It may not sound much but think about it; jQuery Mobile was still at the height of its success, and Android 2.3 was a dominant platform.
 
Apparently, according to Max Lynch, the decision to work with Angular1 was just timely choice. This decision makes sense, in a lot of ways, the year 2013 was a turning point for the hybrid mobile market. Many great frameworks of that time, like Sencha Touch, were in decline or dying. And what was to be a new generation of frameworks (like Ionic or OnsenUI) was just a story somewhere in a vastness of Reddit.
 
For those of you born under a rock or still working with jQuery Mobile, Ionic is a hybrid mobile framework, built on the foundation of Angular1, made to mimic native UI look and feel. Meaning, when working on a mobile application, you don’t need to worry about specific platform code and needs. Create an application for Android and it will also work on iOS, and vice versa.
 

A sweet song of tomorrow

Fast forward two and a half years and Ionic has become a leader in hybrid mobile development word. A staggering 1.2 million apps were created in this time span, and that number can only go higher.
 
Unfortunately, this is not enough. Don’t get me wrong, Ionic 1 is reasonably the most popular framework of this age, but, at the same time, is far from an outstanding product. I’m not calling it a bad or flawed, most of its problems arise from Angular1, but some of them can be attributed to Ionic itself (I’m talking about page transitions and list scrolling).
 
As it seems, Angular2 was a perfect solution for most of those problems. Hence, Ionic 2 was born.
 
Angular 2 is currently in beta status and Ionic 2 closely follows in alpha. Hopefully, it will reach beta status soon, and release candidate by summer (fingers crossed).
 

What is New?

  • ES6 or ECMAScript 6 – New Angular2 supports ES6 and TypeScript, which looks a lot like Java or .Net code.
  • Component-based UI – No more pesky controllers and $scope. They have been replaced with components which are classes with templates
  • Improved performance – From the perspective of Ionic 2, page transitions and list scrolling now works better than ever … I’ve checked that … several times 🙂
  • Simpler to read – Angular1 was a pain in the neck to read, well no longer
  • Overhauled navigation – Some of you may not like this change, but for me is God given, navigation finally makes sense
  • New theming implementation – New system makes it easier to style your app, and we finally have a Material Design support
  • Improved animations – This was the first thing I checked, and improvement is visible
 

What You May Dislike

  • Typescript can be confusing – While ES6/Typescript code looks like Java or .Net it still confuses me from time to time.
  • New navigation – Most common Ionic2 forum question: Can we use classic Ionic1 navigation?
  • New project structure – While I personaly adore this new project structure a lot of people still prefer the old one
 

So Should You Move?

If you’ve already started working on an application, then keep working with Ionic1. Drifty Co developers will continue supporting Ionic1 in parallel with Ionic2 for a long time, so don’t worry. You will have more than enough time to switch.
 
I would advise sticking to Ionic1 if you’re planning to release an application in next 3-6 months. More than that, go with Ionic2, you’ll probably release it just in time with Ionic2 1.0.
 
If you’re working on a simple and non-critical app, go with Ionic2, it’s stable enough. Even if you stumble on a bug, you’ll find a way around it.
 
On the other hand, If you’re adventurous or still learning, by all means go with Ionic2, it’s a brand new world, and you don’t have anything to loose.
 

Conclusion

Even in alpha status, Ionic2 is superior to Ionic1 in almost every aspect. I’m currently enjoying building applications with Ionic2 and hopefully so should you.
 
In the end, let me share this article: Why I Released an Ionic 2 & Angular 2 Application with you. Hopefully, it will give you a more personal insight into Ioni2 app development.
 
  • Yupp, Ionic2 is going to be awesome, I’m working on Ionic1 at the moment cause I’m planning to release like this week 😛

    But I have a couple of simple catalog apps in my icebox that I’m just going to do in v2 🙂

    • I can’t agree more 🙂 It’s almost everything I want from a hybrid mobile framework.

  • Awesome read. How much work will it be to convert a Ionic1 app to Ionic2? I’m shooting to have my app out in a couple of months.. but I really don’t want to have to redo it again in Ionic 2.

    • If you’re app is already under way then my advice is to stick with Ionic1. Ionic2 requires a major shift in design of your application. Now each page works as a separate component, plus new code looks like a Java/.NET.

  • Hazou Shebly

    i could not find a decent tutorial on animation in ionic 2

    • Animation in what context? Page transitions, carousels, slide boxes?

  • FR

    What would be your advice today, 4 months after you excellent post? I´m facing this decision for a non-critical, but strategic iOS/Android on Xamarin hybrid app (home made)