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.
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.