Ionic is a complete open-source SDK for hybrid mobile appdevelopment. Built on top of AngularJS and Cordova, Ionic provides tools and services for developing hybrid mobile apps using web technologies like HTML5, CSS and Sass. Apps can be built with these web technologies and then distributed through native app stores to be installed on devices by leveraging Apache Cordova. Ionic was created by Max Lynch, Ben Sperry, and Adam Bradley of Drifty Co. in 2013, and is used by software developers around the world.
Ionic was created by Drifty Co. in 2013. Drifty's prior products include Codiqa and Jetstrap, drag-and-drop interface building tools using jQuery Mobile and Bootstrap. Taking feedback from customers who tried to build mobile apps, the team decided to build their own framework that would focus on performance and be built with modern web standards. After releasing an alpha version of the framework in November 2013, a 1.0 beta was released in March 2014.
Ionic provides all the functionality that can be found in native mobile development SDKs. Users can build their apps, customize them for iOS or Android and deploy through Cordova. Ionic includes mobile components, typography, interactive paradigms, and an extensible base theme.
Using Angular, Ionic provides custom components and methods for interacting with them. One such component, collection repeat, allows users to scroll through a list of thousands of items without any performance hits. Another component, scroll-view, creates a scrollable container with which users can interact using a native-influenced delegate system.
Developers can programmatically control the scroll-view to get the scroll position, scroll to bottom/top, zoom, or get information about the current scroll-view instances.
Besides the SDK, Ionic also provides services that developers can use to enable features, such as push notifications, A/B testing, analytics, code deploys, and automated builds.
Ionic also provides a powerful CLI, so developers can get started and create a project with a simple command. The CLI also allows developers to add Cordova plugins and additional front-end packages, enable push notifications, generate app Icons and Splash screens, and build native binaries.
Ionic is focused on building for modern web standards and for modern mobile devices. For iOS, Ionic supports iOS 7 and up. For Android, Ionic supports Android 4.1 and up.
Compared to hybrid apps, mixing Ionic code with native mobile app code in PhoneGap allows for higher performance of the resulting product: utilizing AngularJS (rather than jQuery) allows Ionic to rely on native hardware acceleration (rather than extensive DOM manipulation). Ionic leverages CSS transitions and transforms for animation as a way to leverage the GPU and maximize available processor time.
Ionic is an npm module and requires Node.js.