With society making wide scale adoption of mobile devices, developers tend to make a major shift in deciding on types of applications to develop. This is understandable when thinking about how corporations think and work. Often development is based on profits to be made so applications have become quick to market with market research based on trends of users in the mobile market. As time goes on, desktop and full browser applications have began to suffer. Mobile applications continue to fall short of expectations users have coming from desktop and full browser applications. Still developers plow forward creating a massive number of mobile apps.
Universal apps, a term now coming to light through Sencha’s Ext JS. Universal is one of the major features of Ext JS I use in all of my personal development needs. Some applications just need the power of a full size browser to show the true potential of power.
Making a decision to use the power of universal app development meets strong opposition in the corporate world. Yes, you often develop two completely different interfaces because mobile devices are not and never will be desktop browser apps. But unlike other frameworks I’ve worked with Ext JS does deliver a robust universal development environment where I can decide it the view I’m presenting to users can be the same on mobile as it is on desktop. The decision is based on work needing to be accomplished. Decisions have to be made in development. If you’re developing an accounting package, viewing payroll information for an employee can be done with the same view on both mobile devices and desktops. Entering your hours can be done using the same interface but as a supervisor what I want to see is slightly different than what an employee sees so the interface may not be the same in mobile as it is in desktop. Developers should consider this and program accordingly. Often what happens is corporate isn’t willing to spend the additional money in development leading to the potential end you’ve now developed something your users no long want to use.
Another bonus using Ext JS universal application development is the ability to compile code into native desktop applications using Cordova or Phone Gap. Once you complete development you now truly support your users from three distinct means they may decide to access the app they purchased from you. The browser, from a browser on a mobile device and from a native mobile application. I am not aware of a single framework out there with this capability out of the box.
With Ext JS you do again the ability to share models, stores, controllers and functions between mobile and desktop. A strong case of this is the mobile device “touch” event and the desktop “click” event. Even though these events are different on each device the action to perform often is the exact same function. It will switch views, update models, show more or less information, etc. This can be done creating a controller and placing a function inside the controller; assigning the controller to both views then have the respective touch and click events fire the same function to update information and return different views based on device.
Ext JS stands alone in what they do. There is no other competitor in this arena. Angular, Vue, React are all based on responsive web design using Twitter Bootstrap. Some do however give a path to create a mobile app.
So on your next project maybe you need to rethink how you start out. Maybe we as programmers are being too quick to abandon the desktop browser application. Maybe we need to take a closer look what is out there for mobile apps and admit today mobile apps are nothing more than the simple, low power, moderate user experience of full blow applications we saw in 1977. Maybe, just maybe we have regressed concentrating on mobile apps and not thinking of giving users a full technology experience. Letting users decide what the can do on their phone or tablet and what they realize they need the power of a desktop browser to accomplish.
When you think about it, look at Ext JS and realize this product will save you time in developing the most robust solutions for your users needs. It will deliver options to your users and an experience when they are on the road of being able to do something quickly without having internet and only their phone while knowing they can truly resolve issues when they can get to their hotel room and open a laptop gaining massive power in your application because now they are on something designed to give a full and robust user experience.