Thanks Chad and Naveenan for introducing us to some JavaScript frameworks in Part 1 and Part 2 of this series. It is great to weigh up the pros and cons of the different available frameworks before starting a new project and Chad and Naveenan gave us a deep-dive into the capabilities of the four frameworks. If you have not already done so, I would recommend following the two links above and reading both of those parts now.
Where do I start?
Framework selection
From the start, it is obviously a good practice to have a stated goal with your project. It is always more difficult to hit a moving target…
As part of that stated goal, do some research around what the addressable device estate is going to be to get an idea which handset types and screen sizes you will have to support. Having an idea which devices the end-users are using might give you a nudge in the right direction for the correct framework selection.
From a look and feel perspective, some of the frameworks are quite opinionated:
Ionic – traditionally comes with the typical iOS look-and-feel (even though there is a project to support Android’s Material Design from within Ionic).
Angular-Material – squarely aimed at Android devices and may have a slightly higher learning curve for end-users that are used to using iOS applications.
jQuery Mobile – more agnostic with regards to the supported themes that are available. Even though it provides themes for different OS platforms to mimic the system’s look-and-feel is provides a consistent user experience across the platforms.
Sencha Touch – like jQuery Mobile, it provides a more or less consistent look-and-feel but unlike jQuery Mobile, it does not rely on mark-up to build the user interface. You also get native looking UI widgets to target a specific platform.
All of the frameworks provide support for theming to make sure you can make your brand colours shine in your application project.
What about architecture?
Naturally, the question of architecture will come up and as we know, JavaScript is no longer restricted to the browser. One consideration concerning architecture might be the BES12 in your company. With that, you will not need to worry about securing the transport of your data packets as you participate in your company’s network behind the firewall with your mobile application!
In Conclusion
In the end, each framework serves a purpose and has its own area of specialty where it shines. The hard part now is deciding which one best fits your needs. Although there are many other frameworks out there, we hope we have been able to shed some light on some of our favourites.