This is an excellent time to be a web developer. The web moves forward faster and faster. For the first time in history, web apps are able to close the app gap, and act like a native app with techniques like Progressive Webapps or Cordova.
However, we still have a problem; we have to spend a lot of time to make our app’s UI and UX similar to it’s hosting system. This is when Ionic comes into the picture.
Ionic is a front-end SDK built on top of Angular for building cross-platform mobile apps.
Ionic gets rid of the weight of the UI and UX adaptation costs for every supported platform by providing ready to use UI building blocks and animations. You only need to build your app once and then it runs everywhere.
Ionic was created by Max Lynch and Ben Sperry back in 2013 when the mobile web was not a nice place to develop for. Their initial goal was to give web developers a way to use their skillset to build mobile applications.
Today Ionic is the most popular cross-platform development tool for building hybrid mobile apps.
It is built on the top of Cordova, a platform that enables you to build apps with web technologies. These apps will compile to native executables which you can run on every platform, and they can be uploaded to the official stores as well.
Developers made more than a million Ionic apps so far, including some exceptional ones. And the story’s just begun! The Ionic team is working hard on bringing us Ionic 2 which will introduce some major changes in how we can build our Ionic applications.
Ionic 2 is written for Angular 2 that took an entirely different approach on how an Angular app is built. So we have to adapt to that new approach in our Ionic 2 application development. The main differences between the two version:
While Angular 2 is different from Angular in some fundamental parts, it brings a lot of useful features to the table. A big advancement is speed; change detection in Angular 2 could be up to 10x times faster in production. It also dispatches calculations to Web Workers for smooth scrolling and transitions. The dependency injection was rewritten, no more strings passed around; we pass variables instead. To take advantage of all the benefits, you should follow the Angular 2 style guide and coding conventions.
- The ability to use the newest JS features isn’t supported in every browser yet. The Typescript compiler will take care of this, and compiles your code to ES5 that every major browser can understand.
- The second main selling point is the introduction of types. It enables statical type checking and control flow analysis that can prevent a lot of bugs even before compiling.
Ionic Native is the successor of ngCordova. It’s a collection of thin wrapper classes around the official Cordova plugins written in Typescript. It makes working with plugins easier by adding types and definitions to them and wrapping callbacks into Promises or Observables.
Starting with 2.0, the Windows Universal Platform (UWP) became a first class citizen in the Ionic ecosystem. With this step, your Ionic app has access to more than 4 billion (including iOS, Android and Windows) devices over the world! That is a quite impressive number, isn’t it?
Ionic is currently our top choice for app development, and we have made that choice for the fast development speed we can achieve with it. The first version of Ionic is an excellent framework to build mobile apps with. As you can see, the second version will be even better. The guys at Driftyco made a great work expanding the possibilities of Ionic 2.