Why I Switched to Ionic (And Never Regret My Decision) Last update: 2017-04-25
It’s not like native development is bad. Swift itself is a beautiful language, and even Android Studio is not that bad anymore, so how comes more and more people switched to Ionic?
This article reveals some reasons about switching to Ionic and why I never looked back since. Not all of these have to appeal to you, but for me everything together made the difference.
A Tiny Decision
Almost 2,5 years ago this blog was created, and though I did not know where it would take me I picked up the Ionic Framework as a cool new way to build better cross platform apps. Better than all the frameworks like Titanium before. More beautiful than just Cordova.
At first, coming from a native iOS background everything else that helped to also build Android apps looked interesting. AngularJS was completely new to me, but as I began to pick it up I found it to be quite powerful and somehow we fell in love.
After this rather random encounter I kept blogging about Ionic for whatever reason. It just felt good to develop Ionic apps back then!
Today, this blog has grown to a platform with advanced help for all Ionic developers like the Ionic Academy.
Many people still struggle to decide between frameworks like NativeScript, React Native, Xamarin or Cordova. This post ist not a comparison, and if you think the air smells better to your left, pick that path like Gandalf. I’m not here to tell you which is the best framework (because honestly, there is no single best).
I’ll give you my point of view about why I switched completely to Ionic, and if you feel the same why I never looked back since.
Ionic in Action
If you are new to Ionic, it’s kinda hard to wrap everything it makes up into a few sentences. I’ll put the Github message here for simplicity:
Ionic is the open-source mobile app development framework that makes it easy to build top quality native and progressive web apps with web technologies. - Ionic Github
At it’s core, Ionic is a NPM package which will give you beautiful styled components inside your App, which will look and feel native on both iOS and Android. And there’s also the API you can access directly through Angular (at the time of writing Angular 4). And then there is Cordova.
Cordova is a project on its own, but it’s used inside the Ionic project to add plugins, which are the bridge in your app to native plugins like the camera. Or to finally build your app into a native project, where your web code will run inside a web container.
Oh, and Ionic also has an own wrapper around these Cordova plugins to make your life easier.
And then there are more built in solutions for theming your app, for saving data inside the local storage and and and…
And finally the Ionic Cloud, a cloud platform with more services to easily connect to your app.
You see, it’s quite hard to get all the components of Ionic first, that’s why it is more a complete Ecosystem.
And it’s a living ecosystem!
The Community
The Ionic community is very open and helpful, be it inside the Slack channel, the students of the Ionic Academy or anywhere else on Quora or SO.
Max Lynch, Co-founder of Ionic does a great job of always keeping an eye on the overall mission. If you want to get deeper insights and thoughts about Ionic, make sure to check out his Medium profile and the articles of the last year.
With any rather ”new” framework, you sometimes have problems finding help. Not with Ionic.
First, there are already countless tutorials, courses, books and everything you need out there because the number of people using Ionic is growing heavily over the last years.
Second, at its core it’s still Angular, so everyone using Angular can and will be helpful for your problems as well!
Finding help and support for your problems is a major point inside the equation and comparison to other frameworks. But like all other frameworks, new versions will come and you might find yourself at the front line more often than you like..
The Progress
The progress of Ionic and everything inside its ecosystem is sometimes astonishing to me.And at the same time scary.
As a creator of content, I sometimes can’t keep up with the pace to update code which is now already outdated again. And this is not a personal problem, but at the same time a problem for people looking for help.
People find outdated code, sometimes not even knowing it is deprecated. Some updates brake the process of your CLI and you don’t know why suddenly everything stops working.
I guess this is the normal pain that comes with faster progress.
Ionic 2 was and still is a major milestone for cross platform app development, and all further versions will improve and contribute to that experience. Through Angular 2 and TypeScript people get a sense what it means to write modern JavaScript.
The good thing here is the progress is made not only on the code side (which sometimes drives us mad) but also on the technology side of the Ionic services.
With Ionic Cloud, developers get powerful tools directly in one place, and products like the Ionic View App or the Creator are just 2 great examples of the strategic minds behind Ionic.
The Ionic team experiments with different options and is also able to cut off projects that tend to end up not useful for mobile developers early enough.
The Future
For some months Ionic tried to develop something similar to Firebase called Ionic DB. Although the idea was appealing, they decided very early to end the project because it would be a hard sell. There are already great alternatives out there, and people would need to make a decision to leave their current DB provider and migrate to Ionic.
So although they are making progress in many areas and bringing new ideas into the game, they are also able to cut off what’s not working.
Currently you can see the fast progress with Ionic 3 already being released, just a few months after we saw the final release of Ionic 2.
They stick their development now close to the Angular releases, that’s why we will see more and more major version upgrades over the next years.
In terms of other new technologies we should mention the PWA support out of the box, something Ionic embraces and developers will love more and more. Or the Ionic Native and Ionic Storage packages, something that makes life a lot easier for developers.
We can expect more good upgrades like these, which makes developing Ionic apps more easy in the future for everyone.
Would I do it again?
As you know my background is in native iOS development, and I still like Swift as a language (cmon, I even worked with Objective-C!). But JavaSCript is becoming more and more the language for everyone. Hell you can even write servers with JavaScript today.
Though, at the moment Ionic is the wiser decision for me now. The potential to build for the web, major mobile platforms and even for desktop using Electron is something nothing can beat.
Also, you can’t deny the job opportunities for all Angular developers (which you are more or less with Ionic) that are currently coming up everywhere. Being skilled with JavaScript is a skill people will look for over the next years for sure.
And as native and mobile emerge more and more, being able to develop for all platforms makes you very attractive to all employers that are using a modern technology stack.
Finally, keep in mind: This framework is still young compared to stuff like Java!
Ok it’s a framework vs. a language, but I think you get the point.
I have never regret my decision to stick to Ionic, and I’ll continue to work with it and wait for the next innovations the team brings out.
If you want to learn Ionic and make your own hands-on experience, the Ionic Academy is a perfect place to take your first steps together.
Happy Coding, Simon