When I first wanted to build a mobile app, the idea was very daunting. I was going to have to learn a new technology or two — especially if I wanted to put it on both the Apple App Store and Google Play Store. There were some options to make it cross-platform compatible, like Xamarin […]
When I first wanted to build a mobile app, the idea was very daunting. I was going to have to learn a new technology or two — especially if I wanted to put it on both the Apple App Store and Google Play Store. There were some options to make it cross-platform compatible, like Xamarin and Cordova, but then I would have to ensure that everything looked and felt just right. That’s when I learned about Ionic.
With a lot of tools for building mobile apps available today, you have to either learn a new framework, learn the quirks of a particular set of tools or something equally as frustrating. Ionic is an extension of Angular 1.x and thus has a similar development flow as building an Angular web application. It comes with a lot of useful components for you to use, such as a tabbed layout, side navigation and cards. Besides having to learn the components and how they look and are used, you are just building a plain Angular 1.x app.
Ionic runs on top of Cordova, so apps built using Ionic can be installed on iOS, Android, or even Windows 10 mobile. Because it is running on Cordova, you can also leverage the native features through Cordova plugins. If you want to be able to get GPS data, there’s a plugin for it. The same is true for the camera, fingerprint sensor, and many more features built into mobile devices.
In addition, the components built into Ionic — the tabs, side navigation, cards, buttons, and others — are styled so that they look like they belong on iOS when you’re on an iPhone or iPad, but they look like they belong on Android when you’re running on an Android device. Ionic’s components even support Windows 10 mobile styling.
Ionic is not just a framework, but an entire platform. It comes with a suite of cloud-based tools that make building and supporting your app quick and easy. The most notable of the tools gives you the ability to push your app and have it compile and generate output files for you. You give it a Provisioning Profile for iOS and/or a Keystore for Android, and it will do the heavy lifting for you. The biggest benefit of this is that it allows you to compile your app for iOS regardless of which operating system you’re running on your local machine.
This is by no means the only tool that was useful in the Ionic suite — which has benefits such as a way to deploy your app to devices directly, rather than having to go through app store processes, a powerful WYSIWYG editor, a push notification scheduler, an Oauth manager, a cloud-based database and soon, will also contain analytics. All of these prove easy to use, powerful, and deserving of their own commendation.
The one biggest fault with Ionic was the documentation. It is incomplete, including a few pages that don’t even show the public API of the components they describe. Seeing that the platform contains so many features and is constantly growing, this is not entirely surprising. On top of that, the team has recently launched Ionic 2. It is similarly powerful to Ionic 1.X, but built using Angular 2. It also works with all of the same cloud-based tools besides the WYSIWYG editor (but support will come soon). That being said, Ionic 2 is a topic for another blog post.