Presently, there are four major categories of mobile app development technologies which rule the market:
Web-based technologies (HTML5/CSS3/JS) and frameworks (JQuery, Sencha,)
Native app development platforms (iOS, Android, Symbian)
Proprietary middleware and clients (Red Foundry)
Hybrid WebKit/Native web app development kits
One of the key advantages of Web-based technologies is that their deployment process is quick and that helps in the processes of App Stores. Many developers perceive this feature as a huge benefit to in a space which is dominated by some vendors including Apple and Amazon. Some analysts are of the view that web technologies welcome phishing and fraud since the hackers and attackers look out for young browsers for infringing security.
Sometimes mobile web based solutions are stricken by the same problems that their desktop counterparts face. These solutions have to face browser incompatibilities, latency, etc. Additionally, they have to bear the slow progress of web standards. Mobile Web apps do have a market in the future but it is important that one should take care while choosing a technology and should be aware of its advantages and limitations.
Apps developed in native technologies have managed to find a good market in the mobile app development space but they are dependent on old proprietary desktop technologies and tools. For example, the iPhone SDK is based on a technology that was developed in the 1980s. The same is the problem with Android SDK which is reminiscent of the decade-old Swing SDK and its declarative UI architecture.
This is the prime reason why “native” mobile app development technologies look unnecessarily complex since they are not based on simplified mobile solution construction. Developing a native application for both the iPhone and Android devices requires advanced development skills and is extremely complex too. The native technologies are not sustainable enough since there is a very small number of companies which develop mobile applications using native SDK directly.
This has led to the emergence of cross-platform solutions in the market including PhoneGap, Appcelerator Titanium, AppMobi etc. There is also a small number of companies who rely on Domain Specific Languages through which one can create native code. The best advantage of native code is that it can be changed, compiled and deployed once the app is written from scratch. Additionally, one of the best advantages of using domain specific languages for mobile app development are the rapid development cycles which can be achieved due to the simplification of the programming model.