Amazon recently moved to provide direct support for HTML5 web apps in its app store. It makes you wonder why the benefits of web standards still aren’t pushing more apps away from tedious device specific UI development. One factor is that while Amazon is giving a boost to HTML5 mobile apps, Apple’s iOS (still with the largest app catalog by far) actually penalizes them. You can choose the speed that comes with native or the standards and portability that come with hybrid apps but not both.
typically hybrid app architectures have fewer skillsets for developers to learn
Fixing the Right Problems
The biggest problem with native apps is the weak story around user interface development. For example, not much of the work can be cross platform. Developers have to be involved in tasks that should be able to be handed over to designers with no coding experience. Moreover, the incredible toolchain and ecosystem that exists around HTML5 and CSS3 cannot be exploited.
So developers are kind of damned if they do, damned if they don’t. The end result is significant but different flaws in both native and hybrid approaches.
The table below compares the strengths and weaknesses of different approaches to building mobile apps. The scoring details could be debated ad nauseam, but the point is to note the broad implications. Included for comparison is Xamarin, a native app solution that uses clever technology to allow C# and .NET to be compiled into native code.
Accelerated Hybrid Mobile Apps
One of the columns in the chart above is Xamarin for HTML5 Mobile Apps. This is not a real product. It’s a hypothetical solution to show how existing technology could be used to create an accelerated hybrid mobile app. I might be the last person on earth Xamarin would ask to announce a real new product given that I recently critiqued their product. However, Xamarin is a good example of how a non-native programming language can be ahead of time compiled into native device code.
Why hasn’t this been done already?