Hands On With Ionic Beta 14
Just over a week ago, the Ionic team released a new update of the Ionic framework. The Beta 14 version is said to be the last version of the Ionic Betas, before the framework officially assumes a stable version. I tell you what, they had us waiting a bit longer than usual for this update, but boy am I glad they did.
I will walk you through some of the changes that I think are very impressive with this new version of Ionic.
Platform Specific Tweaks
With Beta 14, you get some very good platform specific tweaks in your app for free. In the past versions of Ionic, you had to do a lot of custom styling to achieve some platform specific looks for your app, in order to get it even closer to a native look. For me, this sometimes had me using the merge folder of phonegap or having a lot ng-switch and ng-if statements. This was not bad practice in my opinion, but it just always felt like a hack and I always wished some of the common platform specific looks and operations were part of the framework.
This is now a reality in beta 14 with animations now platform specific and also other components like how the headers are positioned, and even tabs.
Notice how the header is aligned left on android and center on IOS. This is in line with the native styling guide of each platform.
I think from a look and feel point of view, this is the most important change. The good thing about this styling is that, you have the power to manually take control of it using the $ionicConfigProvider.
There is a galore of performance improvements in Beta 14 starting with the fact that it uses an upgraded version of Angular (ver 1.3), which has the ability to bind once built into it.
Im not quite sure what the Ionic team did with the animations but, the frame rates are exceptionally much more consistently higher with Beta 14. This is an area I particularly feel excited about because in some of the more complex apps I created with Ionic in the past, I had to disable animations because they were very poor in some areas (I'm talking about you Android).
Let me use one of my earlier Ionic aps to explain this feature. In 2013 I built an app that had a list of deals which a user could redeem. If the user clicked a deal, they will be sent to a page where they saw the full details of the deal. The problem was that when they navigated back, the page with all the deals will be reconstructed again from scratch. This meant another Ajax request being sent and the page being constructed all over again. There was no maintenance of the previous scroll position of the user. Imagine if you scrolled down a list of 80 only to come back and start all over again?
With cached views, this problem is now history. You can scroll down a list navigate forward and come back to the same scroll position. This is a very good feature not just because it is a better user experience but also very performant. Since the view is not being reconstructed, sliding into the view will be quick since no background DOM construction is eating up the memory. As always you have manual power to use the $ionicConfigProvider to configure this feature as you like.
We all know how much of a pain it is to get third party services to work with Hybrid applications built with Phonegap. Everytime I hear of a great tool out there, I go to the vendors website and It almost always turns out that they only have an integration for native tooling. It is very frustrating and this should change. For example simple tools for analytics with phonegap are lacking all round (AppSee Aside).
The Ionic team recognised this and are doing something about it. They are working on a suite of tools that will work seamlessly with Ionic built applications. There will be tools for analytics, cloud building and even a feature that lets you update your app without re-submitting it to the app store. Im pretty convinced the Ionic IO suite will be very important and knowing the Ionic team, im very sure they will get it right as they always do.
Beta 14 is the update that affirms Ionic as the undisputed king of the Hybrid world. There is also word that Crosswalk will be part of the android build process in new Ionic versions after Beta 14. This will be a welcome boost as we all know how inconsistent the Android builds can be in terms of performance. To me Ionic is not just another framework, but the right framework for Hybrid development. This is why the Ionic team are calling it the Ionic SDK now. It is a big threat to even native platforms themselves because, day by day we see innovations that mitigate all the problems that Hybrid apps have suffered in the past.
It is very hard to believe that Ionic is still in Beta but, has managed to achieve the level of success it has. 2015 will be a great year for Ionic and, I will be closely tracking it. Im particularly excited about the analytics tool for the Ionic IO. Let us wait and see as things unfold and it has certainly been a great journey so far. Bring on more ION magic.