Learn Ionic 2+ Properly (a Study/Learning Guide) -- Words (1161)

How To Learn Ionic 2+ Properly?

Throughout this post I'm going to show you two detailed study guides to help you learn Ionic 2+ quickly and properly.

These study guides are designed for beginners and experienced developers.

The first guide which depends on different paid and free online resources is designed to teach you how to build a fully fledged hybrid and cross-platform mobile application from scratch with all features you usually find in a mobile application.

The second guide will help those experienced developers get started with Ionic 2+ to build mobile apps for Android, iOS and Universal Windows Platform by using a bunch of books, screen casts and online resources.

First lets start by a comprehensive introduction to Ionic 2+ in which i'm going to talk thoroughly about hybrid mobile apps, Ionic 2+, Angular 2+ and TypeScript so you learn about everything you should know before you can decide if you should invest your time (and maybe money) to master these technologies.

Start by reading this Introduction to hybrid mobile apps and Ionic 2+

An Introduction to Ionic 2+ and Hybrid Mobile Development

In this introduction to Ionic 2+ I'm going to explain:

  • What is hybrid mobile development?
  • How it is different from native mobile development?
  • What Ionic 2+ is?
  • And how it is related to both TypeScript language and Angular 2+ framework?
  • What can Ionic 2+ offer you as a developer?
  • And what other alternatives you can take into consideration and when?

I'm going also to talk about where you can find Ionic 2+ jobs and Ionic 2+ resources or developers.

I'm going also to cover some frequently asked questions about Ionic 2+, TypeScript and Angular 2+, Ionic 2 pros and cons etc.

I'm really pleased and exited to teach you about this technology and I hope you are existed to know everything about Ionic 2+ and that you find this article helpful with all resources I'm going to to recommend. But please you can also help me by any type of feedback, using the comments box below, either it's related to my recommended resources, maybe you have stumbled upon better books, screen casts or free resources and tutorials on the web, or any type of errors. Please don't hesitate to send your feedback by comment or email. After all, we are all here to learn something new that can add value to our skills.

I'm going to honestly provide you with accurate information and best recommended material to learn Ionic 2+ based on my own experience but nothing is perfect, so your feedback will be helpful and appreciated either for me or other people who are still in their first steps to learn how to build hybrid mobile apps using web technologies, particularly Ionic 2+.

Now lets begin with our introduction to Ionic 2+ and hybrid apps.

What is Hybrid Mobile Development?

Hybrid mobile development refers to the process of developing mobile apps using a mix of web technologies, which were designed on the first place to build web apps, thanks to some clever developers who built tools used to adopt the ewisting web tools in order to build native-like mobile apps.

A hybrid mobile app is a web application with a mobile-like UI, built using HTML, JavaScript and CSS, and packaged with a native container such as Apache Cordova,the most popular native container in these days.

Ionic 2+ is based on Apache Cordova so what is Cordova and what it does?

Apache Cordova is by itself a framework to build hybrid mobile apps but also a native web container or more precisely an embedded browser based on Chromium which allows you to package and present users with a web application which has a mobile like user interface, that can be downloaded from app stores, installed on the user device and more importantly have access to native device features such as Geolocation, different sensors, Camera etc.

Cordova makes use of multiple plugins to allow your apps to access native features using only JavaScript instead of native mobile languages such as Java, Swift or C#. Experienced Java, Swift and C# developers can build Cordova plugins to access some native feature so other web developers can use them in their mobile apps without having any knowledge about native languages and underlying systems features or APIs.

So, do you need to use the device camera in your hybrid mobile app? No problem and no fears you don't need to know Java (For Android) or Swift (For iOS) or C# (For Universal Windows Platform) you can just grab a Cordova plugin for Camera access, install it then call the API with JavaScript. Isn't that very awesome? I personally find it very awesome even if I'm not really that bad with Java and C#. I don't know anything about Swift but I don't have to target iOS too. But anyway the idea of Cordova plugins can be of a great help for most developers since you can target many mobile platforms with one plugin i.e one mobile app with the same code base without having to reinvent the wheel.

As I said Cordova is not just a native web container but also a framework for building hybrid mobile apps using the three pillars of the web: JavaScript, HTML and CSS. So why using Ionic 2+?

Before answering this question, lets answer an important related question:

What is Ionic?

Ionic is a hybrid mobile framework used to build cross-platform mobile apps that can target Android, iOS and Windows with the same code base. It allows developers to build once and deploy everywhere.

Ionic is based on Cordova which means all interfacing with underlying device system features is done with Cordova. In fact the pure Ionic library is just a mobile User Interface library that offers developers common UI controls and patterns which have two main goals:

  • You can build your mobile app without being a mobile interfaces designer or a CSS guru.

  • You can build your mobile app without worrying about best practices and performance issues.

Ionic has two major versions which are both based on Cordova for low level features but uses different stack on top level.

  • Ionic 1 is the first version, it uses JavaScript and AngularJS. AngularJS is a JavaScript client side MVC framework built and used by Google to build frontends with best practices, an MVC approach and best design patterns such as IoC and Dependency Injection.

  • Ionic 2 is the second major version which is based on Angular 2, a completely rewritten from scratch framework based mainly on TypeScript, with better performance and more features than AngularJS.

  • Ionic 3 is the third version, but in fact it's just Ionic 2 with improvements such as the use of Angular 4, so we are going to refer to all versions of Ionic starting with Ionic 2 as Ionic 2+.