A Little Bit of History
Back in 2010 the iPad was released and Josh Timonen and I wanted to build apps for it. Neither of us knew Objective-C and without spending too much time learning a new language we wanted to explore other alternatives with languages we did know.
There were two main options we were looking at: PhoneGap and Titanium.
We bit the bullet and learned Objective-C, with all of it’s nightmares (before automatic reference counting) and built a load of apps with it.
Five years have passed and things have changed. Both PhoneGap and Titanium have matured and there are new players on the hybrid web-technologies app building front; most notably Ionic.
What is Ionic?
The technologies used in Ionic are Cordova, the open sourced component of the PhoneGap platform, Sass and AngularJS.
It allows you to create cross-platform applications, meaning you can write your code once and deploy it anywhere; iOS, Android and announced at Build2015, now on Windows.
Why Now and Why Ionic?
There’s been a lot of debate why native is better than hybrid and for a while, I was persuaded that native would always be the best. But there are a number of advancements both as part of Ionic and in the technology itself that’s shifting the debate in favor of hybrid apps.
You Don’t Need to Implement your Own UI Code
Where PhoneGap gave you a blank slate, Ionic provides UI components for you to use and to customize using the popular CSS extension language – Sass. Before building a hybrid app using PhoneGap or Cordova, you’d be in a state of choice paralysis. Which UI framework would you use? Ionic removes that choice for you and gives you a solid foundation with examples for you to make and create your own apps quickly. You can get on with the business logic of your app without the overhead of picking what UI kit to use.
Performance of Web Views
Web views used in applications didn’t always match the performance of the web browsers bundled with the phone, like Safari. As time moved on, the SDK’s for building applications included more modern, more performant Web Views. This means that hybrid HTML5 applications get faster.
That isn’t to take away what work the Ionic team have done themselves. The Ionic team is super focused on performance and they need to be given credit for their buttery-smooth scrolling views.
Ionic is Looking Forward
Ionic is opinionated. It says “We’re using AngularJS and Sass”. It provides the UI components for you to use. It reduces the cognitive overhead to get up and running.
With version 1.0 just being released, the team is focused on version 2.0, with support for Angular 2.0 and TypeScript. If you don’t know why TypeScript is a big deal, check out my other post here – Why TypeScript is Hot Now, and Looking Forward.
Ionic is making these bold decisions so you don’t have to. You can just get to work on your app immediately and know what technologies you need to use to get up and running.
Microsoft Visual Studio Support
In the Microsoft Build2015 conference, there were a lot of awesome announcements. Microsoft’s commitment to cross-platform app development was centre stage.
If you’re a Windows developer it can be a pain to get up and running with the likes of Node.js and NPM, which Ionic’s CLI or command line interface is based. However, in Visual Studio 2015 you can install Ionic and get all of it’s dependencies up and running by clicking a few checkboxes when setting up your project. Microsoft is really showing love to developers.
Some developers are doing this already with Ionic and it is becoming more of an officially supported pattern by the likes of Microsoft, who are sanctioning this type of model specifically.
If you’ve ever been put off trying to create your own mobile app by the native vs hybrid debate, now’s the time to challenge your perception and build one with Ionic!