Hello, I was wondering if this post (I just finished now), could be of any interest to you, or even be published on the Ionic Blog.
Here is a copy of its contents.
Why Ionic Framework?
The Ionic Framework is your best bet when it comes to develop cross-platform, hybrid Android/iOS/Windows Phone apps.
Ionic Framework 1.1.x is based on AngularJS 1.4.x, and relies on Apache Cordova to provide the native part of the app.
A note about Cordova: to simplify, PhoneGap existed before Cordova, but when Adobe took it over, they created Cordova as the open source portion of PhoneGap Build. So, today, PhoneGap, or PhoneGap Build refers to Cordova + Abobe's paying services around Cordova.
One of the things I've come to appreciate with Ionic, are the strong decisions which have been made on my behalf as a developer: AngularJS , SASS(vs LESS), gulp (vs grunt).
The problem with other hybrid development environments (see my other post Alternatives to Ionic Framework) is that I, as a developer, need to make these choices myself, and have to make them all work together in synfony. However, I do not pretend to be an architect, I'm just a coder...
There are so many challenges to overcome already when you code mobile cross-platform apps that, I like not having to ask myself so many other 'metaphysical' questions. And even if you manage to do this on your own, you're still faced with the lack of a mobile UI set of components, and one that seriously takles the singularities of each platforms (iOS, Android and Windows Phone).
Let's take tabs as example. On Android, tabs are on top of the screen. On iOS, tabs are on the bottom of the screen. And this is just ONE example... there are tons of others:
You need pull-to-refresh, Ionic has got your back
You need infinite scroll, Ionic has your back
You need sliding boxes, Ionic has your back
You need slide to reveal, your get the drift...
And this is just the tip of the iceberg in terms of real life project problems you will need to find 'industrial' grade solutions to...
In my opinion, alternative frameworks do not bring such a full front-end solution as Ionic's. Or, if they do, they're still not mature enough compared to Ionic's. I have therefore made the conscious decision to give Ionic my full attention.
So, why is that ?
Very strong and active community:
Checkout the forums. On top of that, Ionic is backed by the AngularJS community. When iOS 9 was introduced, the 'window.location' broke. Trust me, this was ugly. A simple master-detail navigation was no longer possible. It was totally broken. Since Ionic is based on AngularJS, the AngularJS Team was super quick to provide a fix for this. And this fix actually worked! This wouldn't have been possible on alternative frameworks. This means that the decision that Ionic made to adopt AngularJS is strong and is a good one.
Ionic Upload: from the command line, just type 'ionic upload', and then download your app into the iOS or Android Ionic View app to test your app in a real device without having to build any binaries. To be noted that there are limitations to the Ionic View in terms of supported Cordova plugins, but definitely is a fantastic and essential tool when learning to code with Ionic.
playgrounds: yet another fantastic and essential tool to learn. Just like Codepen or Plunker, it allows you to quickly hack with Ionic without any previous installations. And the best part, changes you make to the code are immediately visible.
Livereload: livereload, just like Ionic View is nothing new, however, by typing 'ionic run android -cls', you get to develop directly on the device, without having to rebuild your app, re-install on the device, wait for the app to launch. You even get the JS console.logs on the device to be displayed in your terminal. No more having to use the Desktop Safari or Chrome to inspect hybrid apps, and that's very good news.
Since the release of iOS 9, the livereload on iOS is broken, but I'm sure that Ionic's community will resolve this whenever possible.
software keyboard: have you ever tried to tame the software keyboard in all the different mobile browsers out there? This is something I wouldn't wish even to my worst enemies. Well, again, Ionic has got your back and is managing this on your behalf.
and the list goes on and on !
Ionic has inspired me as mobile developer.
I can hear it whispering into my ears:
THE cross-platform hybrid development toolchain you've been looking for for years is here, and it is here to stay! and the best part: I'm might not even have to deal with native development anymore. No more having to code twice, or thrice.
With Ionic, I feel it is the end of an era, and the start of a very exiting one, yelding the excalibur's promise: ONE code base for all!
No more coding once for iOS, once for Android, and once again for all futur challengers such as Windows Phone, and god only knows what else is coming !!!
All in all, Ionic allows you to concentrate on what you want to do, and not how to do it****. Furthermore, the Ionic learning curve is easy compared to other solutions I've tried. And if you're an AngularJS developer, you're at luck. The Ionic learning curve really just consists of :
learning the unavoidable AngularJS 1.4.x: I recommend a course called 'Learn and Understand AngularJS' to overcome it's normally steep learning curve (due to it's overcomplicated documentation filled with 'big words' such as 'dependency injections', 'transclusion', 'factories', etc).
getting to know the Ionic's own boostrap-like CSS and JS libraries.
Not yet convinced about ionic ? I haven't even touched on the (paying, for pros) services like Push, Deploy, Analytics (without a single line of code, as opposed to any other analytic solution i've come across in the passed), and build (build iOS apps no longer requires a MAC!). To be fair, many of the alternatives to Ionic do have these services, but again, if you need it, Ionic has got your back once more !
If I've managed to convince you, why not start and try it right now ?
Hello, I was wondering if this post (I just finished now), could be of any interest to you, or even be published on the Ionic Blog.
Here is a copy of its contents.
Why Ionic Framework?
The Ionic Framework is your best bet when it comes to develop cross-platform, hybrid Android/iOS/Windows Phone apps.
Ionic Framework 1.1.x is based on AngularJS 1.4.x, and relies on Apache Cordova to provide the native part of the app.
A note about Cordova: to simplify, PhoneGap existed before Cordova, but when Adobe took it over, they created Cordova as the open source portion of PhoneGap Build. So, today, PhoneGap, or PhoneGap Build refers to Cordova + Abobe's paying services around Cordova.
One of the things I've come to appreciate with Ionic, are the strong decisions which have been made on my behalf as a developer: AngularJS , SASS(vs LESS), gulp (vs grunt).
The problem with other hybrid development environments (see my other post Alternatives to Ionic Framework) is that I, as a developer, need to make these choices myself, and have to make them all work together in synfony. However, I do not pretend to be an architect, I'm just a coder...
There are so many challenges to overcome already when you code mobile cross-platform apps that, I like not having to ask myself so many other 'metaphysical' questions. And even if you manage to do this on your own, you're still faced with the lack of a mobile UI set of components, and one that seriously takles the singularities of each platforms (iOS, Android and Windows Phone).
Let's take tabs as example. On Android, tabs are on top of the screen. On iOS, tabs are on the bottom of the screen. And this is just ONE example... there are tons of others:
And this is just the tip of the iceberg in terms of real life project problems you will need to find 'industrial' grade solutions to...
In my opinion, alternative frameworks do not bring such a full front-end solution as Ionic's. Or, if they do, they're still not mature enough compared to Ionic's. I have therefore made the conscious decision to give Ionic my full attention.
So, why is that ?
Since the release of iOS 9, the livereload on iOS is broken, but I'm sure that Ionic's community will resolve this whenever possible.
Ionic has inspired me as mobile developer.
I can hear it whispering into my ears:
THE cross-platform hybrid development toolchain you've been looking for for years is here, and it is here to stay! and the best part: I'm might not even have to deal with native development anymore. No more having to code twice, or thrice.
With Ionic, I feel it is the end of an era, and the start of a very exiting one, yelding the excalibur's promise: ONE code base for all!
No more coding once for iOS, once for Android, and once again for all futur challengers such as Windows Phone, and god only knows what else is coming !!!
According to Gartner, by 2016, more than 50% of mobile apps will be hybrid ones.
All in all, Ionic allows you to concentrate on what you want to do, and not how to do it****. Furthermore, the Ionic learning curve is easy compared to other solutions I've tried. And if you're an AngularJS developer, you're at luck. The Ionic learning curve really just consists of :
getting to know the Ionic's own boostrap-like CSS and JS libraries.
Not yet convinced about ionic ? I haven't even touched on the (paying, for pros) services like Push, Deploy, Analytics (without a single line of code, as opposed to any other analytic solution i've come across in the passed), and build (build iOS apps no longer requires a MAC!). To be fair, many of the alternatives to Ionic do have these services, but again, if you need it, Ionic has got your back once more !
If I've managed to convince you, why not start and try it right now ?