Native apps or Web apps - Mobile application industry needs to consider developers perspective

There is a boom of mobile apps these days. iPhone, Android, and Windows phones are the leading platform for which the applications are being built. Different technologies are being used to develop native mobile apps which are completely driven by the vendors. For example, iPhone, Android, and Windows phone applications are being developed in Objective C, Java (for Android), and C# respectively.

For a developer, it's difficult to develop apps for more than one platform because the skill set of a developer is usually limited to one mainstream technology. An Android developer cannot develop a native app for iPhone and vice versa. As an Android user, I have seen several great apps that I would love to install on my Galaxy S3 but I am unable to do so because they were only available at AppStore for iPhone users. This is frustrating! We cannot blame the developers because there are lots of freelance developers who come up with an idea and develop it in their preferred technology. They do not have the expertise to clone that app for the Google Play Store and Windows Phone store.

A common technology is required where an application developed in one platform can run on another platform. If we see around, we find one such example in the web domain where all the browsers support HTML, CSS, and JavaScript. There are already several mobile applications that have web versions and have the same capability as that of native apps. If it's possible to develop mobile applications using the web technologies such as HTML, CSS, and JavaScript, why then develop a native app that requires a specific skill set for the developers.

The future may be in HTML 5, CSS, and JavaScript applications that work equally well on all mobile platforms. Many developers have begun to realize that there are already many development tools that allow them to take advantage of the current skill set whether it is front-end languages such as HTML, CSS, JavaScript, or core programming languages such as C/C++, Python, Java, or C#.NET.

There are already many open source and closed source development frameworks for building cross-platform mobile apps using HTML, CSS, JavaScript. Cordova, PhoneGap, Rhodes are such examples. Google's creation of Chrome web store, a marketplace for web applications is a step in this direction. ChromeOS and FirefoxOS might become the user interfaces for all mobile platforms.

All the major mobile platforms already support HTML5 and CSS 3 and these technologies will continue to be improved and supported. Even Microsoft is coming to the plate with support for HTML 5 forthcoming in MSIE 9.