Ionic is a front-end HTML framework built on top of AngularJS and Cordova. As per their official document, the definition of this Ionic Open Source Framework is as follows −
Ionic is an HTML5 Mobile App Development Framework targeted at building hybrid mobile apps. Think of Ionic as the front-end UI framework that handles all the look and feel and UI interactions your app needs to be compelling. Kind of like "Bootstrap for Native", but with the support for a broad range of common native mobile components, slick animations and a beautiful design.
Following are the most important features of Ionic −
AngularJS − Ionic is using AngularJS MVC architecture for building rich single page applications optimized for mobile devices.
CSS components − With the native look and feel, these components offer almost all elements that a mobile application needs. The components’ default styling can be easily overridden to accommodate your own designs.
Ionic CLI − This is NodeJS utility powered with commands for starting, building, running and emulating Ionic applications.
Ionic View − Very useful platform for uploading, sharing and testing your application on native devices.
Licence − Ionic is released under MIT license.
Following are some of the most commonly known Ionic Framework Advantages −
Ionic is used for Hybrid App Development. This means that you can package your applications for IOS, Android, Windows Phone and Firefox OS, which can save you a lot of working time.
Starting your app is very easy since Ionic provides useful pre-generated app setup with simple layouts.
The apps are built in a very clean and modular way, so it is very maintainable and easy to update.
Ionic Developers Team have a very good relationship with the Google Developers Team and they are working together to improve the framework. The updates are coming out regularly and Ionic support group is always willing to help when needed.
Following are some of the most important Ionic Framework Limitations −
Testing can be tricky since the browser does not always give you the right information about the phone environment. There are so many different devices as well as platforms and you usually need to cover most of them.
It can be hard to combine different native functionalities. There will be many instances where you would run into plugin compatibility issues, which leads to build errors that are hard to debug.
Hybrid apps tend to be slower than the native ones. However, since the mobile technologies are improving fast this will not be an issue in the future.
In the next chapter, we will understand the environment setup of the Ionic Open Source Framework.