Seth Jones

[Survey] Which are the best cross-platform tools?

[Survey] Which are the best cross-platform tools?

[This week we’re launching the biggest survey on cross-platform developer tools. The results will be available as a free report in Q1 2012. This report will address a segment that is rapidly developing as a convergence of factors has created both opportunity and demand for cross platform solutions.]

[UPDATE: The Cross-Platform Developer Tools 2012 report has been published. You can download a free copy at www.CrossPlatformTools.com]

VisionMobile - Cross-platform tools report

With VisionMobile estimating that each app on the Apple App store represents an average investment of US$30,000 to develop, the attraction of tools that help developers target additional platforms with minimal additional investment are obvious. As regular updates to platforms can effect functionality in existing apps, it is not just cross platform development but cross platform app management that can tax the resources of many a developer and brings the need for cross platform solutions to the fore.

However, on it’s own HTML5 is hampered by the slowness of the standards process and is still largely a nascent solution to the problem of cross platform development. Combined with development frameworks that help deliver a native UI experience, device optimisation and wrapper solutions. The most notable of the latter solutions is PhoneGap, ‘co-incidentally’ acquired by Adobe just before it pulled the plug on the mobile Flash plug-in.  PhoneGap and similar solutions allow web developers to wrap web code in a native shell, sell in the app stores and access native features. With that, the differences between web app and native are significantly reduced.

Such hybrid apps do however have their detractors, with performance and optimisation noted as a key issue for many developers still taking the native route. But several vendors of cross-platform development tools now claim their solutions that can deliver real, native apps, with performance to match for many platforms from a single-codebase.

[Take the cross-platform dev tools survey]

Indicative of a new stage in the maturity of the market, recent acquisitions in the cross-platform tool space include Strobe (Facebook), Bedrock – Metismo (Software AG), RhoMobile (Motorola Solutions), Particlecode (Appcelerator) and Nitobi’sPhoneGap (Adobe). A large number of new products have also recently come to market to fill the need for cross platform, solutions. We have identified over 50 tools that are actively supporting cross-platform mobile development. We need your help to sift through the good, the bad and the ugly with your thoughts, experiences and opinions on which tools matter. So please share your knowledge and experience, and help us to help you and your fellow developers find the right tool for their needs.  Solutions on the market include:

– JavaScript / web frameworks: e.g. Sencha’s Touch and jQTouch which help web apps deliver a native UI look and feel, and behaviours.
– Wrappers: Allow (mostly) web apps to pose as native solutions, most notably PhoneGap. These are essentially a variation on the runtime client solutions such as used by Adobe Flex / Air.
– Code generators and code translation tools: A core component of many tools – and a standalone solution in their own right as porting tools they take one set of inputs and generate code for new platforms.
– Game engines: Provide a full, targeted development environment, toolset and optimised cross platform publishing facilities such as Unity3.
– Development environments and mobile application platforms: Generate apps from a single codebase, often using cross platform APIs or native code extensions to access native features. Platform solutions can also leverage a stack of additional services.

Solution

Description

Adobe Flex

Application framework. Flash Builder development environment used to create Flex / ActionScript apps which run in the Flash and Air runtimes.

Appcelerator (Titanium)

App development platform for HTML / CSS / JS / Ruby and Python developers to publish native applications to iOS, Android, and desktop platforms

AppMobi

Cloud based Platform as a Service using HTML5 / CSS / JS input to create native, hybrid and web apps

Bedrock (Metismo)

Middleware solution: CrossCompiler converts J2ME source code to C++, ActionScript & JS or native on a range of platforms

Corona

Mobile development tools and framework using Lua to create iOS and Android apps

DragonRad

IDE with drag and drop visual design and Lua scripting, generates codebase for native apps using a project optimised runtime client

Marmalade

C++ and cross platform APIs are used to generate native apps for iOS, Android and desktop platforms

MoSync

SDK uses HTML 5, Lua or C/C++ as input language, compiles native apps with native UI for iOS, Android, Blackberry, WindowsMobile, Symbian and Java.

Mono (Touch/Droid)

Development toolkits using C# and .NET input, Monotouch for iOS compiles to native code, Monodroid uses a runtime environment to deliver native apps

Netbiscuits

Cloud based web app / site development using HTML5, CSS, JS and BiscuitML) with native UI framework & publishing platform providing add-on services for web & hybrid apps

OpenPlug

Using XML & CSS for UI design, JS, ActionScript etc for scripting tool set builds native self contained iOS, Android Symbian and Win Mo apps

PhoneGap

Uses HTML, CSS, JS, input, provides cross platform APIs and wraps web code in a native shell for distribution

RhoMobile

Ruby based framework for app logic and HTML for interfaces. App generator creates scaffold native apps and web apps

RunRev Livecode

Uses proprietary Livecode natural programming language, Can compile native standalone applications for iOS and Android

Unity 3

Game engine and development environment using Mono for game logic, JS, C# and Boo for scripting, compiles to native platform code

Unreal

Game engine development environment and online platform services. Uses UnrealScript (similar to Java) and Unreal Kismet visual scripting system.

Kony

Mobile application platform using a visual editor and scripting to output platform optimised native, hybrid and web apps

Sencha Touch / jQTouch

JavaScript frameworks used to give web apps a native look and feel and simplify data handling for iOS, Android and Blackberry

Sproutcore

JavaScript framework for developing web apps with improved client side operation

Worklight

Mobile application platform using HTML5, CSS, JS, (which can be combined with .Net Obj c and Java) to deliver native, hybrid and web apps.

While some may claim that they really are write-once, run anywhere solutions, others note that without significant additional work, that can only be the case for bloated or low-end applications. So how do they match up to the hyperbole – what are the advantages and disadvantages in the real world?

So with a final word of thanks to our sponsors – Marmalade, RunRev LiveCode, Verizon Developer Community, Xamarin, AT&T, Appcelerator, Intel, MoSync, and Orange Partner – who will bring this report to the developer community, I ask you to take part in the inaugural cross platform tools survey and let us know.

– Seth

©2016 VisionMobile Ltd