Before diving into using Ext JS, Sencha Architect and other Sencha products to develop hybrid mobile apps there are other considerations to look at. These considerations are often overlooked by those writing and talking about hybrid mobile app development.
First we look at UI design. You may wonder why UI design principles carry any importance in development. Well, try this comparison. Let’s say you want a 1972 Firebird, and all everyone does is bring you a 1972 Camaro.
Now, the 1972 Camaro is a nice look car, it is close to the 1972 Firebird, but it is the 1972 Camaro is NOT a 1972 Firebird. Some will be okay with either one, others will work with the 1972 Camaro even though they expected a 1972 Firebird; while others will know immediately they are not the same and decide to not accept the 1972 Camaro to replace the 1972 Firebird. As a car enthusiast, trust me; they are not the same car.
Well this is what UI difference is to end users. Android utilizes Material Design for designing user experience. Apple uses the Human Interface Design principle for designing user experience. So let me illustrate some difference here too.
Notice the different between the two. At the top is navigation for All, Started and Read items in your reading list. Apple’s Human Interface Design places the navigation in tabular format on the bottom of the view while to view the same navigation in Android’s Material Design you need to open a fly-out menu. Here again, they both work but concern should come the same way they do with the 1972 Camaro and 1972 Firebird. You will have those who it won’t matter, those that will love it as they are used to Android, then you will have some that accept it. Worse yet, you now have some who will refuse to accept it because it is not what they are used to.
Again we can see even more differences between these two design interfaces. Now your concern over acceptance to all users of your product and how they will react should becoming even greater. Now even more is different and will cause users distress when adapting to learning something new.
The goal of all developers should be user experience and not ease of development. We as developers owe it to our users to understand their experience using their devices and products. Development of a product is not about what we want but what our clients and perspective buyers want.
This is actually an advantage in the Apple world. The navigation, look of buttons, date pickers, etc. are consistent across all apps. Apple controls this demanding developers consider the end users. They (Apple) don’t want users to have to learn completely new navigation, shortcuts, look and feel on every application. Windows on the other hand your menu can and does look like what the developer feels the work flow should be.
Now as developers who choose our development environments based on our likes can argue and fight all we want about whether Apple or Windows is better. Unfortunately few developers will even acknowledge that comparing Apple and Windows is not an equal comparison. Apple is a hardware company who provides an OS for their hardware. Microsoft is a software company that provides software for thousands of different hardware manufacturers. This should be a point in case the major difference between these two platforms.
Finally, I’ve been in IT to some degree since 1977. We’ve been waiting since then for a true develop once, deploy on any solution that hasn’t come and is still not here. Even with hybrid apps there isn’t one single solution and it should be considered a single solution based on the design differences. But the point is, our apps, once we decide what we want to bring to market, must focus on user experience and that includes first the UI and second the work flow through our app.
So to decide on whether you need a native app, hybrid app or even a progressive web application you should consider that maybe to meet the UI user experience we still might not have a single code base.
Once you decide hybrid or progressive web app, Sencha Ext JS is the best choice of framework I can recommend for completing your development. Part 2 will focus on sharing information to help you decide what Sencha products will work best to accomplish your development goals.