Since, as Mike noted yesterday , so many of our development projects are built through Ionic, it'll be a focus here at buccaneer.io. Before we dig too deeply into its capabilities, let's start with a simple post on the "what" of Ionic. Many people not intimately involved in the tech world have great ideas for apps, or just have a need that the current market doesn't fulfill. If this is you then at some point early in the process of turning your vision into reality you'll need to consider some of the obstacles to the creation of a successful app.
Ionic was intended to be a solution to one of the most pressing of these obstacles: cross-platform app creation. In order to make apps that can span several platforms it used to be the case that developers had to choose between using a hybrid platform, which resulted in functional apps that sacrificed user experience, or make native builds for each platform, a more time consuming and expensive, not to mention more knowledge intensive (developers had to be proficient in many coding languages), process. With Ionic developers no longer face that dilemma.
Ionic's HTML5 framework is an open-source SDK that facilitates the development of hybrid (cross-platform) apps, but offers the functionality and user experience of native apps. Because it works through Cordova it simplifies front-end development, while maintaining an emphasis on the feel and UI of apps.
Developers can use a library of HTML, CSS and JS components to build interactive apps, through the Sass (Syntactically Awesome Style Sheets) CSS function. If you're familiar with these basic functions- and anyone involved in web development should be- and with AngularJS (really the beating heart of Ionic), you're ready to delve into the Ionic framework. That framework has a lot to offer developers.
I said earlier that Ionic aims to bridge the gap between native app building and hybrid development, but in some ways it's closer to native building. Indeed, Ionic was modeled on native SDK's. But because it has ready-made components, and an adaptable base theme, you get the clean functionality and style of native apps without as much app specific work, and a simple CLI (command line interface) further simplifies app creation across multiple platforms. Ionic also makes it easy to learn the crucial AngularJS bit-by-bit. With that skill developers can add features like touch support and animations between views. Add to all this the fact that Ionic offers an entire ecosystem to developers (more on that in a later post) and you have a very handy product.
In short, Ionic opens up the world of competitive web development to a much wider audience. Indeed, last year alone 1.5 million apps were created using Ionic. So if you're looking to get into the mobile development market or looking for a partner (hint, hint) to help you turn a good idea into a great reality, Ionic is a good place to start.