A reader of my blog asked me this question a few days ago and I figured others might be interested in the answer as well, so here it goes.
A long time ago, in the year 2014...
I stumbled upon the Ionic Framework while it was still in Beta. I had already built and published my first hybrid app early in 2014 and I hacked a UI together that looked a bit like the iOS 7 UI, because I wanted a native looking iOS app.
Since it was a hybrid app, I figured I could release it for Android as well. However, I didn't want to release an Android app that looked like an iOS app.
So when I saw the Ionic Framework and played around with it a bit, I realized this was the missing piece of the (hybrid) puzzle! It had all the native-like UI components and view transitions built into the framework for both iOS and Android, making it a breeze for developers to build hybrid apps.
What I Like About Ionic
It's been a year since I've started developing with the Ionic Framework and here are the main reasons I'm still using it for mobile app development.
1. I can build apps for multiple platforms
I'm not going into the whole hybrid vs. native debate here, but I wouldn't be able to build native apps for both iOS and Android without investing a lot more time learning 2 completely different languages. It was so much easier learning Ionic (and Angular) on top of the web development knowledge I already had.
2. The Ionic team build stuff I want and need
The main reason I started with Ionic was because it offered a native looking UI out of the box, but then I realized how easy it was to use the Ionic CLI during development for things like live reload and running/debugging apps on the emulators and devices.
Ionic started out as a framework but has evolved into a platform. It now offers services like Push Notifications, the ability to update your app in the App Stores instantly, easy-to-integrate Analytics and recently the Ionic Package service was released in Alpha.
In short, Ionic makes life easier for me, I can focus on building functionality for my apps instead of reinventing the wheel.
3. Big and helpful developer community
Ionic is built on top of Angular and Cordova, which are very popular technologies on their own, so anytime I run into problems there usually is a blog post or StackOverflow to help me out. The best place to ask Ionic specific questions is usually the Ionic Forum.
There are also developers (myself included) who write tutorials to help you build your apps faster:
And check out these awesome Ionic resources lists for an overview of tutorials:
4. I'm learning new and valuable skills
It's very important for me, as a developer, to stay up-to-date and learn new technologies. I didn't have any experience with Angular which is a very popular framework. So even if in the future I decide to stop using Ionic, I will still be able to use Angular in web development projects.
What About Other Frameworks?
In the past year, a couple of other frameworks have popped up that seemed interesting but just haven't convinced me to switch.
The only one that I think is very interesting doesn't take a hybrid approach: React Native. It recently added support for Android, so I might take the time to dig into it (and blog about it, of course, so don't forget to subscribe).