First lets explain what Ionic framework is. Ionic is a powerful HTML5 SDK that you can use in order to build native-feeling mobile apps using web technologies like HTML, CSS and JavaScript. Ionic is entirely open-source (MIT Licensed) so everybody can share their knowledge to build some great apps with HTML5. Instead of building 2 or 3 native mobile apps you make one code and run it on different platforms (iOS, Android) and in the end you have only one code to maintain.
If you know AngularJS you’re going to love Ionic and it will find your way around easily. Now in this text I didn’t wanted to talk about how to make apps using Ionic but on the subject how it actually works. I did some research and this is what I found.
I found that Ionic combines AngularJS (JavaScript by the way) with HTML5+CSS and uses Cordova to access native device functions. So next what i did i read about Cordova.
Cordova ,formerly called as Phone Gap is a platform to build Native Mobile applications. In acts as a container for running a web application. Typically Web applications cannot use the native device functionality like Camera, GPS, Accelerometer , Contacts etc. But with Cordova we can very much achieve this and package the web app in the device installer format. The user Interface of a Cordova app is a WebView that is in full-screen and runs in the native Container. So it’s the same WebView used by the Native OS.
So in the and my conclusion is that Ionic provides the front-end components and the Cordova takes care of packaging your HTML5 app as a native app.
If you would like to learn more about Ionic go to their official site and here is one great YouTube playlist to get started coding.