Cross Platform Mobile Development: Why not IONIC ?

ionic framework

Cross Platform Mobile Development: Why not IONIC ?

Ionic is a complete open-source SDK for hybrid mobile app development. Built on top of AngularJS2 and Apache Cordova (native components), Ionic provides tools and services for developing hybrid mobile apps using Web technologies like CSS, HTML5, and SASS. Ionic was created by Max Lynch, Ben Sperry, and Adam Bradley of Drifty Co. in 2013. After releasing an alpha version of the framework in November 2013, a 1.0 beta was released in March 2014, with a 1.0 final in May 2015.

The number one advantage by far though is that its cross platform and lets you write the same app once for multiple platforms. The disadvantage though is you have to support multiple platforms with a single source code.

Advantage of Ionic/Hybrid app development:

  • One source for all the suported platforms (mainly Android and iOS).
  • Main development in html, css and js, which almos all web developers know (or at leas the good ones).
  • And being able to use great frameworks like angular, which is embedded in ionic by default.
  • Latest Ionic 3 supports responsive layout grid like Bootstrap. So there, the delivery on multiple devices with different screen size is never easier.

Disadvantage of Ionic/Hybrid app development:

  •  Less performance as it’s not completely native, not that much of an issue unless making games or high load apps, the ones that uses a lot of resources.

 

Question: I know that Javascript can be used to create mobile apps by using frameworks like Ionic and PhoneGap.  What are the advantages and disadvantages of doing that, compared with using Objective-C or ultimately Swift?

Pros:

  • If you have a web app anyway you’re going to be using JS . You might as well leverage your code.
  • It forces you to think in terms of mobile first. (Necessary in today’s growing mobile market and with recent changes to google search.)
  • One app for web, Android, and iOS means one development team, one project, one implementation, one language.
  • No need to start from scratch if you ever want to deploy another device like a Windows phone.
  • Write once, run anywhere.

Cons:

  • Possible performance issues depending on application type. But alternatives to PhoneGap do exist.
  • Need for specialists. JS can be tricky to learn. And you’ll need someone who can not only “do” JS, but also have deep knowledge of a handful of advanced libraries and technologies including Angular, Cordova, Ionic, etc.
  • Early adopter risk. This technology is still in its infancy. Support keeps changing, standards keep changing, libraries can be completely rewritten at any time.

Personally, if you have a simple “interface on a database” type app I would say go for it! If you’re trying to do something really edgy like video manipulation or games you may want to do some deep research into the performance of PhoneGap and alternatives like CocoonJS, Titanium, and others.