Ionic 4 is here! Ionic for everyone!
Ionic 4 was released yesterday. This update has been highly anticipated from the community for a long time and with it comes some amazing advances in capabilities, performance and flexibility. At Untapped we have been using the beta version for many months and have some thoughts to share on why it’s a game changer.
Most importantly to some, Ionic 4 is now framework agnostic. It’s built using standardised Web Components rather than the Angular directives of the past, Shadow DOM APIs and standard web APIs. This means that developers can be confident that Ionic’s component APIs will be stable for many years to come; something we could only dream of before. Although it is still recommended to use Angular for performance reasons, it is now possible to use react or vue.js or any other component libraries within your project. This is especially powerful when building PWAs or apps that are just one part in an overall project delivery that needs both web and app capabilities, often integrating with existing systems.
In addition to this, the capabilities of Ionic 4 are greatly improved. The team at Ionic have re-written their 100+ components to be as performant and flexible as possible, removing dependencies that caused developers endless problems/headaches in the past and upgrading the design to be inline with the latest standards for iOS and Android. If using Angular 6 you now have built in unit testing as well as end-to-end testing; in the past this was a challenge to incorporate if you wished to have the efficiency and confidence in your code that these techniques provide.
Performance is often sighted as a reason not to use Ionic or other hybrid app development frameworks however with a combination of advancements in browsers (in terms of capabilities, javascript processing speeds and standardisation) and Ionic itself with version 4, these are less and less of an issue. Too often performance issues are blamed on the framework or webview rendering however it is impossible for an application to be performant if the code itself is not written in a performant way. I do not mean to criticise any other developers coding, but due to the easy road into javascript and Ionic development it is unfortunately far too common for applications to go into production environments working functionally, but not written in performant way. I would argue that this has much more of an impact on general Ionic apps performance than the framework itself. The Ionic team have run tests to show that Ionic Angular 4 is at least 1.5 times faster than Ionic Angular 3, taking 2.2 seconds to first meaningful paint rather than 3.8 for version 3 in the past.
We will provide more insights into the benefits and hurdles this newest incarnation provides over the next few months, but as the Ionic team have said themselves; “Ionic is now more than just mobile for Angular, it is Ionic for everyone.”