In general, there are thre different solutions for smartphone application development (applicable to iOS, Android, BlackBerry, Palm webOS, Windows Mobile 7 etc.):
- Worldwide Web
Native app is the application that works in native manner and capable of using all features of a specific platform including network communications. Code is written specifically for a particular phone’s operating system. Thus for a native app, you’ll need to write Objective-C
for a iPhone application, Java
for Android or BlackBerry etc. So in this case, if you want to make the same application for all of the smartphone platform, you have to work from scratch for each platform with only reusable logic and assets but no reusable source code.
, Titanium Appcelerator
etc. They are well-known platforms dor cross-platform development. You can develop once and deploy in multiple platforms with same UI look and feel and features of course.
Hybrid apps are combination of native and webkit/embedded browser based applications.
To reduce cost and time-to-market businesses all around the world go though deep analysis for choosing the strategy. They want to deploy a product in as many as smartphone platforms possible with less cost and smaller development time frame. This results the cross-platform development tools and strategies instead of native development to cover most of the smartphone platforms in order to get maximum audience at less cost.
Although cross-platform development allows a single mobile app to work on multiple OSs, there are some constraints and limitations compared to native approach. A comparison of both the approaches is given below:
Native Platform versus Cross platform development solutions
Source:White Paper series: Smart Phone Platforms comparison