There has been a sudden explosion in mobile arena in recent times. Everyone wants to have their App running on IOS/Android/Windows Mobile/Blackberry and so on. But with new innovations come new challenges.
A developer who wants to build native apps for IOS has to learn Objective-C. Similarly for Android he has to learn Java. This meant developer communities were totally dependent on language for that platform. In recent times this status quo has changed allowing developers of other programming language to build apps for various mobile platforms without learning new language or new framework.
Flex/Flash Builder – Build apps with Action Script
RubyMotion - Build apps with Ruby
MonoTouch – C#
As an implementation of Open Standards, developers and firms can use PhoneGap for developments of Apps which are free, commercial or both.
PhoneGap currently supports development for the operating systems Apple iOS, Google Android, HP webOS, Microsoft Windows Phone, Nokia Symbian OS and RIM BlackBerry. Support for recent versions, such as BlackBerry 5 and 6 and Windows Phone 7, is being implemented now. Bada (the operating system used by the some Samsung phones) support is “coming soon”.
Adobe Flex/Adobe Flash Builder
Adobe added the ability to publish apps build with Flex builder 4.5. There are lots of games and app which can be ported to iOS/Android with minimal effort.
Adobe Flex now Apache Flex, is a software development kit (SDK) for the development and deployment of cross-platform rich Internet applications based on the Adobe Flash platform. Adobe Flex is a highly productive framework used for building expressive web applications.
Flash Builder 4.5 makes development simpler with a wizard like experience that is now used to deploy to different mobile platforms with the same codebase. It offers built-in code editors for MXML and ActionScript and a WYSIWYG editor for modifying MXML applications. Adobe Flash Builder includes an interactive debugger, allowing developers to step through code execution while inspecting variables and watching expressions. Flex Builder 3 added support for performance analysis. The profiling view displays statistical information about memory use in addition to function call execution time.
Introduced in 2008, RubyMotion is a new technology which allows building iOS apps using pure Ruby. It was recently released.
Ruby is a high level programming language. It has concise and flexible syntax. It was designed on the same semantics as Objective-C, it is syntaxically different. Ruby has no Header files, no complicated syntax to define classes, properties or built-in types and does not suffer from single namespace issues.
RubyMotion compiles Ruby and activates a load of performance optimization such as inline methods caching, immediate fixed and floating numeric types, zero cost exceptions, promotion of variables into CPU registers, cached constant lookups, tail call optimization, dead code elimination and many more.
RubyMotion makes Ruby as fast as Objective-C. It is 100% compliant with Apple’s App store policies. Your code is compiled ahead of time, never interpreted and you access the entire set of iOS public APIs.
RubyMotion only works for iOS. However, the Ruboto project, based on the excellent JRuby implementation, is an effort to bring Ruby to the Android platform.
RubyMotion is not Open Source but shares a great deal of code with MacRuby, a popular Open Source project. Third-party Objective-C libraries can be included in a RubyMotion project.
Introduced in 2010, Sencha Touch 2 is a high-performance HTML5 mobile application framework which provides an end to end platform for designing, developing and deploying HTML5 applications. Sencha Touch allows you to build apps which nearly look like native apps. Apps can be packed and ported to different platforms using PhoneGap, Trigger.io.
Sencha Touch 2 provides access to a wider set of native device APIs, allowing HTML5 developers to take advantage of hardware features. To broaden the reach of apps created with Sencha Touch 2, a free native packager is now included enabling app distribution to the Apple App Store and the Android Market.
Sencha Touch takes advantage of hardware acceleration to deliver an incredible app experience no matter what browser or mobile device a user is using.
Smoother Scrolling and Animations – Sencha Touch 2 provides a user experience unparalleled in HTML5. Fluid animations and smooth scrolling make Sencha Touch 2 apps come alive, rivaling native technology. Lists, carousels, and other components scroll smoothly and naturally, with a high frame rate across a wide range of devices. The framework automatically uses the best scrolling mechanism for each device, resulting in a great experience everywhere.
Adaptive Layouts – Sencha Touch’s novel layout engine leverages HTML5 in powerful ways to let developers build complex applications that respond, load, and layout in a snap. Switching from landscape to portrait happens nearly instantaneously, and applications load in fractions of a second as Sencha Touch 2’s advanced layout engine ensures pixel perfection.
Native Packaging – Sencha SDK Tools give you the best of Web & native apps, providing a way to seamlessly “wrap” your web app in a native shell. Whether you’re on Mac or Windows, you’re one command away from deploying to the Apple App Store or Android Market.
The SDK Tools work on both Mac and Windows, meaning PC developers can now create iOS applications without needing a Mac. It’s a major step forward for developers since you aren’t limited what app stores you can build for based on your development environment. A set of native device APIs that work on both iOS and Android like Camera, Orientation, Network Connectivity, and native confirmation dialogs are also enabled.
Introduced in 2008, Appcelerator Titanium is a platform for developing mobile, tablet and desktop applications using web technologies. Support for developing iPhone- and Android-based mobile applications was added in June 2009. Support for developing iPad-based tablet apps was added in April 2010. BlackBerry support was announced on June 2010 but it is still in closed beta.
Appcelerator Titanium is sometimes compared to Adobe Air for developing desktop applications for Windows, Mac and also Linux
Platform independent API to access native UI component including navigation bars, menus, dialog boxes and alerts, and native deice functionality including file system, sound, network and local database.
API access to native mobile functionality like geolocation, accelerometer and maps
It provides extensibility through open interfaces and licenses allowing developers to introduce support for additional scripting language, media codecs and device specific functionality.
Introduced in 2004, Monotouch lets you build apps with C#. Create C3 and .NET applications for iPhone, iPod Touch and IPad while taking advantage of iPhone API and reusing existing dot net code., libraries and skills. Monotouch is a SDK that contains suite of compilers, libraries and tools for integrating with Apple’s iPhone SDK. Monotouch includes .Net base class libraries along with managed libraries for taking advantage of native iPhone API. Also included is a cross compiler that can be used for taking advantage of native applications for distribution on the apples app store or for deployment to enterprise iPhone users. In addition XCode integration enables application developers to test on the device or in Apple’s iPhone simulator and ship applications to apple app store for distribution.
Mono for iPad, iPhone, iPod touch
C# and .Net on iPhone
Net bindings to native API’s
Distribute on apple app store
Mono develop integration
Vaadin Touchkit / GWT
Efficient application mobilization – Take full advantage of the Vaadin framework server-centric model and Java EE API’s for accessing your backend services, securely and efficiently. Since you will be coding only in java, your mobile apps will be simple to create and you can speed up the development by reusing your existing java code and libraries as is. Vaadin touch kit gives java developers a compelling alternative to create beautiful mobile client UIs without using any scripting languages. Stick to pure java and mobilize your enterprise applications with minimal learning curve.
Smooth User experience – Vaadin touch kit visual effect make your mobile app look professional .animated screen transitions and support for touch gestures, such as swipe, give your application a native look and feel. Accessing enterprise resources with UI components specifically designed for mobile touch devices improves your customer satisfaction
Touch kits default theme is designed to reassemble iOS, as with any Vaadin application you can customize your own theme to give your personnel, company or device specific touch.
Customizable offline mode – Vaadin Touch kit application can be started without a connection to the network by utilizing html5 cache manifest feature. Touch kit comes with a default offline mode implementation that displays a notification dialog when the connection is down. Overriding default offline mode functionality can be easily customized by writing plain GWT code that takes care of store application specific data in the browser local storage. Once the connection is back, the data is synchronized. You are in control of when and how data is synchronized to the server.
Easy developments & Updates – Deploy your applications without time consuming approval processes. Maintaining your mobile app is just as easy. Just update your app on server and all users will have access to the latest version of your mobile application.
Write mobile apps in pure java
Animated screen navigation makes your app look like native app.
Produce working app in hours and deploy instantly.
Reuse of main application code to create mobile version.
Enable support for offline mode.
Support for swipe gesture.
The simplest way for web developer to build native apps for iOS, android and windows phone using html5.
Distribute in multiple app store
It involves simple development process. No need to setup eclipse/xcode.
Cloud build service, you can even build for iOS on windows.
Real native UI component
Introduces in 2009, Corona SDK is a software development kit which allows software programmers to build mobile applications for the iPhone, iPad, and Android devices.
Corona lets developers use integrated Lua layered on top of C++/OpenGL, to build graphically rich applications that are also lightweight in size and quick in development time. The SDK does not charge per-app royalty or impose any branding requirement, and has a subscription-based purchase model that allows new features to be rolled out immediately to users
Proprietary OpenGL-ES rendering engine allows for full hardware acceleration of graphics, including sprites that animate at full GPU speed
Transition library enables twining of Corona-powered sprites’ position, rotation, alpha, or any other property.
Supports native iPhone and Android UI. Developers can access the iPhone’s native text features including all fonts, multi-line fields, and keyboard input.
Apps built with Corona start at under 400KB in size.
Subscription-based purchase model allows users to have new updates as soon as they are rolled out.
Full feature integration with device camera, accelerometer, magnetometer, video player, compass, and/or GPS