Book Image

Learning Ionic, Second Edition - Second Edition

By : Arvind Ravulavaru
Book Image

Learning Ionic, Second Edition - Second Edition

By: Arvind Ravulavaru

Overview of this book

Ionic makes it incredibly easy to build beautiful and interactive mobile apps using HTML5, SCSS, and Angular. Ionic also makes app development easier, faster, and more fun. This hands-on guide will help you understand the Ionic framework and how you can leverage it to create amazing real-time applications. We begin by covering the essential features of Angular 2, and then dive straight into how Ionic fits in today’s world of hybrid app development and give you a better understanding of the mobile hybrid architecture along the way. Further on, you will learn how to work with Ionic decorators, services, and components, which will allow you to build complex apps using the Ionic framework. We will take a look at theming Ionic apps using the built-in SCSS setup. After that, we will explore Ionic Native, and you will learn how to integrate device-specific features, such as notifications, with the Ionic app. To complete our learning, we will be building a Rider app, using Ionic and Uber API, to book a ride. Next, you will learn how to unit test, end-to-end test, monkey test, and execute device testing on AWS Device farm. Then, we will take a look at migrating the existing Ionic 1 apps to Ionic 2 and deploy them to the App Store. The final chapter on Ionic 3 wraps up this book by explaining the new features of Ionic 3 at the time of writing this book. By the end of this book, you will be able to develop, deploy, and manage hybrid mobile applications built with Cordova, Ionic, and Angular. All the examples in this book are valid for both Ionic 2 and Ionic 3.
Table of Contents (13 chapters)

Migration plan

Now that we are done with our Ionic v1 Todo app, we will be looking at migrating the same to Ionic 2.

Note: If you were planning to migrate from Ionic 1 to Ionic 3, you would be following a similar approach.

The plan is simple; we are going to scaffold a new blank template using the --v2 flag and start putting stuff together. The following table would be a good starting point:

Component Ionic 1 Ionic 2
Ionic starter template Blank Blank
Bootstrap application ng-app NgModule
Navigation State router NavController
Components Templates and controllers @Component
Services/factory Service provider @Injectable Provider
Persistence Local storage Storage API
Device interaction NgCordova Ionic Native
Local notifications $cordovaLocalNotification service LocalNotifications class

Now that we are aware of the high level mapping, we will start by scaffolding a new blank template in v2.