Mobile Application Development is the process by which application software is developed for low-power handheld devices, such as personal digital assistants, enterprise digital assistants or mobile phones. These applications are pre-installed on phones during manufacture, can be downloaded by customers from various mobile software distribution platforms, or web applications delivered over HTTP which use server-side or client-side processing (e.g. JavaScript) to provide an "application-like" experience within a Web browser.
Execution Environments:
Android, iOS, BlackBerry, HP webOS, Symbian OS, Bada from Samsung, and Windows Mobile support typical application binaries as found on personal computers with code which executes in the native machine format of the processor (the ARM architecture is a dominant design used on many current models). Windows Mobile can also be compiled to x86 executables for debugging on a PC without a processor emulator, and also supports the Portable Executable (PE) format associated with the .NET Framework. Windows Mobile, Android, HP webOS and iOS offer free SDKs and integrated development environments to developers.
Mobile Web apps vs. Mobile Native apps:
Is it better to deploy web apps or native apps? The answer is: both. Thanks to the recent improvements in the browsers of smartphones and tablet computers, web apps on mobile devices work well. Native apps do provide more access to native hardware features at this time. However, the decision isn't only about which is better. Users who are test-driving new solutions are hesitant to install a native application. Some are simply not ready to commit to our solution. They want to test-drive it before they install a native application. And native apps do require some maintenance and updates. By supporting both web apps and native apps, we can maintain a zero-install policy for our innovation. Also, users cycle through more devices than you might expect. When they get a new device, they test-drive it first with the web app before they install a native app. There are always trade-offs among function, design, and time to deploy.
Popular cross platform mobile frameworks:
Rhodes - is a Ruby-based framework that allows you to build your application a very similiar way to the way you’d build a Ruby Application. It offers support for iPhone, Android, BlackBerry, Windows Mobile, and Windows Phone 7.
Titanium Mobile by Appcelerator - Take your hard won web skills and turn them into mobile app development skills. It boasts support for letting you use JavaScript, HTML, and CSS. It features a JavaScript API that provides access to native UI elements. The magic in Titanium happens during runtime in it’s bridge between the JavaScript and the native SDK. The bridge reads your JavaScript and uses it to build views that have the same features and performance as an application written in that native language. Currently, Titanium Mobile supports iPhone and Android (with BlackBerry support in beta mode for paid subscribers).
MoSync - Takes a different approach to cross-platform mobile development in that it doesn’t use web technologies at all. It has it’s own SDK built with C/C++ that gives the developer access to many of the standard C libraries, graphic and media classes, the networking layer, native UI elements and more. At this point, it offers support for the Java ME environment, Windows Mobile, Symbian S60, Android, iOS, and Moblin/MeeGo. BlackBerry and Windows 7 support is coming soon. Just like RhoMobile, MoSync is more enterprise focused and you won’t find a lot applications in the app stores built with MoSync.
PhoneGap - Wraps a mobile web application exposing access to device features through a consistent API; it uses JavaScript as an abstraction layer between your mobile Web app and the device. PhoneGap currently supports iOS, Android, BlackBerry, webOS, Windows Mobile, Symbian, and Bada.
Other frameworks - Mono, Bada ...
ref:
Mobile Application Development - http://en.wikipedia.org/wiki/Mobile_application_development
Mobile Development Resources(Blogs/...) - http://www.shawngrimes.me/2012/03/mobile-development-overview/
How to approach mobile development today - http://blogs.msdn.com/b/obloch/archive/2012/03/08/how-to-approach-mobile-development-today.aspx
Apple Roadmap to start developing iOS Apps - https://developer.apple.com/library/ios/#referencelibrary/GettingStarted/RoadMapiOS/Introduction/Introduction.html
Becoming iOS Developer(by Josh Smith) - http://joshsmithonwpf.wordpress.com/2012/02/19/becoming-an-ios-developer/
Getting Started with the Mobile SDK for iOS - http://wiki.developerforce.com/
OS X Developer Library - https://developer.apple.com/ library/mac/#documentation/ General/Conceptual/ ConcurrencyProgrammingGuide/ Introduction/Introduction. html#//apple_ref/doc/uid/ TP40008091-CH1-SW1
Beginner's guide to Mobile Web Development - http://mobiforge.com/starting/story/a-beginners-guide-mobile-web-development
Mobile Development SDKs compared - http://www.softwaresweden.com/2010/02/16/mobile-development-sdks-compared-mosync-phonegap-and-appwhirl/
Cross Platform Mobile Development Frameworks - http://floatlearning.com/2011/07/which-cross-platform-framework-is-right-for-me/
5 Cross-Platform Mobile Development Tools You Should Try - http://mashable.com/2010/08/11/cross-platform-mobile-development-tools/
Execution Environments:
Android, iOS, BlackBerry, HP webOS, Symbian OS, Bada from Samsung, and Windows Mobile support typical application binaries as found on personal computers with code which executes in the native machine format of the processor (the ARM architecture is a dominant design used on many current models). Windows Mobile can also be compiled to x86 executables for debugging on a PC without a processor emulator, and also supports the Portable Executable (PE) format associated with the .NET Framework. Windows Mobile, Android, HP webOS and iOS offer free SDKs and integrated development environments to developers.
Mobile Web apps vs. Mobile Native apps:
Is it better to deploy web apps or native apps? The answer is: both. Thanks to the recent improvements in the browsers of smartphones and tablet computers, web apps on mobile devices work well. Native apps do provide more access to native hardware features at this time. However, the decision isn't only about which is better. Users who are test-driving new solutions are hesitant to install a native application. Some are simply not ready to commit to our solution. They want to test-drive it before they install a native application. And native apps do require some maintenance and updates. By supporting both web apps and native apps, we can maintain a zero-install policy for our innovation. Also, users cycle through more devices than you might expect. When they get a new device, they test-drive it first with the web app before they install a native app. There are always trade-offs among function, design, and time to deploy.
Popular cross platform mobile frameworks:
Rhodes - is a Ruby-based framework that allows you to build your application a very similiar way to the way you’d build a Ruby Application. It offers support for iPhone, Android, BlackBerry, Windows Mobile, and Windows Phone 7.
Titanium Mobile by Appcelerator - Take your hard won web skills and turn them into mobile app development skills. It boasts support for letting you use JavaScript, HTML, and CSS. It features a JavaScript API that provides access to native UI elements. The magic in Titanium happens during runtime in it’s bridge between the JavaScript and the native SDK. The bridge reads your JavaScript and uses it to build views that have the same features and performance as an application written in that native language. Currently, Titanium Mobile supports iPhone and Android (with BlackBerry support in beta mode for paid subscribers).
MoSync - Takes a different approach to cross-platform mobile development in that it doesn’t use web technologies at all. It has it’s own SDK built with C/C++ that gives the developer access to many of the standard C libraries, graphic and media classes, the networking layer, native UI elements and more. At this point, it offers support for the Java ME environment, Windows Mobile, Symbian S60, Android, iOS, and Moblin/MeeGo. BlackBerry and Windows 7 support is coming soon. Just like RhoMobile, MoSync is more enterprise focused and you won’t find a lot applications in the app stores built with MoSync.
PhoneGap - Wraps a mobile web application exposing access to device features through a consistent API; it uses JavaScript as an abstraction layer between your mobile Web app and the device. PhoneGap currently supports iOS, Android, BlackBerry, webOS, Windows Mobile, Symbian, and Bada.
Other frameworks - Mono, Bada ...
ref:
Mobile Application Development - http://en.wikipedia.org/wiki/Mobile_application_development
Mobile Development Resources(Blogs/...) - http://www.shawngrimes.me/2012/03/mobile-development-overview/
How to approach mobile development today - http://blogs.msdn.com/b/obloch/archive/2012/03/08/how-to-approach-mobile-development-today.aspx
Apple Roadmap to start developing iOS Apps - https://developer.apple.com/library/ios/#referencelibrary/GettingStarted/RoadMapiOS/Introduction/Introduction.html
Becoming iOS Developer(by Josh Smith) - http://joshsmithonwpf.wordpress.com/2012/02/19/becoming-an-ios-developer/
Getting Started with the Mobile SDK for iOS - http://wiki.developerforce.com/
OS X Developer Library - https://developer.apple.com/
Beginner's guide to Mobile Web Development - http://mobiforge.com/starting/story/a-beginners-guide-mobile-web-development
Mobile Development SDKs compared - http://www.softwaresweden.com/2010/02/16/mobile-development-sdks-compared-mosync-phonegap-and-appwhirl/
Cross Platform Mobile Development Frameworks - http://floatlearning.com/2011/07/which-cross-platform-framework-is-right-for-me/
5 Cross-Platform Mobile Development Tools You Should Try - http://mashable.com/2010/08/11/cross-platform-mobile-development-tools/