Cross-Platform Mobile Game Development – a Tool Comparison

Mobile game development has a world of its own. You will come across different set of programming languages which you would not have encountered elsewhere – Lua, Live Code, Unreal Script, Boo etc. Some of these tools are a derivative or an extension of what is available on other gaming platform while others have been explicitly developed for mobile. At least one of these platform may seize to become a game development platform and become an enterprise cross-platform mobile application development solution.

As I have mentioned earlier (here it is), there are five approaches to cross platform mobile application development and many tools are available under each category. They are:

(1)    Mobile Web (JavaScript-CSS library), (see this)

(2)    Visual Tool (No access to Code), (see this)

(3)    App Generator (Native application for multiple platforms), (see this)

(4)    Hybrid App (Leverages embedded browser control) (see this) and

(5)    Game Builder.

Here are 5 hybrid tools – the ordering is alphabetic.

1. Bedrock (Metismo)

  • Home page: Link
  • Genesis: Has been acquired by Software AG – rebranded as  webMethods Mobile Designer
  • Language: Java & Cross compiler
  • Version: –
  • Licensing: detail not available
  • Download: no
  • Documentation: not available
  • Sample application: not available
  • Implementation: FinBlade, Xendex
  • Wikipedia: Link

2. Corona (Ansca)

3. JUCE

4. LiveCode (RunRev)

5. Marmalade

  • Home page: Link
  • Genesis: It is from Ideaworks3D which has been into cross-platform technology and games software since 1998
  • Language: Visual C++
  • Version: 5.2
  • Licensing: Free evaluation – application cannot be distributed
  • Download: Link
  • Documentation: Index
  • Sample application: Getting Started
  • Implementation: Index
  • Wikipedia: Link
  • Additional: IwGame framework for marmalade
  • Article on how to use: DrMop

6. Moai

7. Unity 3

8. Unreal

9. XPower++

  • Home page: Link
  • Genesis: It has background in cross-compiler for grid computing
  • Language: Basic++, C++, Java++, and Pascal++ language dialects
  • Version: 2.0.2.990
  • Licensing:
  • Download: Link
  • Documentation:  Index
  • Sample application: (see documentation index)
  • Implementation: ?
  • Wikipedia: Link

Do let me know if there are any errors and omissions in the details I have provided.

More Tool Comparisons

Here are references to articles written by others comparing different cross-platform tools:

Previous>> (Hybrid Mobile Tools)

Cross-Platform Hybrid Mobile Application Development – a Tool Comparison

Hybrid tools try to resolve the debate of …

“Should you write a mobile web application which will render on multiple platforms without significant change but won’t be able to take advantage on native features?”

Or

“Should you create platform specific native application to fully utilize the power of the device but increase your effort?”

The basic premise of hybrid approach is that you can have your cake and eat it to. In this approach you use the browser control and create a shell application which is then used to render HTML pages. Since most of the popular phone browsers are Webkit based (Microsoft is an exception), they are expected to have similar behavior making you task simpler.

To access the native features of the handset, you need to create APIs in the shell application which can be invoked through JavaScript coding. The tools and frameworks are expected to provide the shell applications and the APIs for different platforms.

At least that is what the theory says.

In practice there are several issues that need to be looked into.

  • There are differences between the browser and the browser control. Their behavior is not identical. Normally, browser controls lag behind and are buggier.
  • Especially for iPhone, there is a chance that hybrid applications may get rejected by App Store.
  • For the current versions, performance issues have been reported.
  • It takes lot of effort to make the hybrid application look and feel like a native application and that is additional effort for each platform – this negated the original value proposition.
  • HTML5 have already started providing access to several native features and we can expect it to become more comprehensive.

Finally, hybrid application kills the differentiation between different platforms. So, why would either Apple or Google be interested in promoting it?

As I have mentioned earlier (here it is), there are five approaches to cross platform mobile application development and many tools are available under each category. They are:

(1)    Mobile Web (JavaScript-CSS library), (see this)

(2)    Visual Tool (No access to Code), (see this)

(3)    App Generator (Native application for multiple platforms), (see this)

(4)    Hybrid App (Leverages embedded browser control) and

(5)    Game Builder (see this)

Here are 5 hybrid tools – the ordering is alphabetic.

1. App Mobi

2. NS Basic

3. Phone Gap

4. Quick Connect

  • Home page:  Link
  • Genesis: Started as a tool for iPhone
  • Version: 2.1.2
  • Licensing: MIT
  • Download: Link
  • Documentation: Hybrid API
  • Sample application: ?
  • Implementation: ?
  • Wikipedia: No
  • Additional: Blog
  • Article on how to use: PB Works

5. Worklight

  • Home page:  Link
  • Genesis: IBM has acquired Worklight
  • Version: 4.2.1
  • Licensing: Free 30 day trial
  • Download: Link
  • Documentation: List
  • Sample application: Getting Started
  • Implementation: Case Studies
  • Wikipedia: No
  • Additional: Video Demo
  • Article on how to use: –

Do let me know if there are any errors and omissions in the details I have provided.

JavaScript Libraries to go with your Hybrid application

If you are looking for lightweight JavaScript libraries to help you develop your hybrid applications, then do check this site out.

This site lists out host of useful lightweight JS frameworks. I did not have the patience to count but the number more than 160. The site also allows you to filter the list using one of the 30 listed categories.

Do check it out – http://microjs.com by Thomas Fuchs

<<Previous (Mobile App Generator)

Next>> (Mobile Gaming Tools)

Cross-Platform Mobile Code Generator – a Tool Comparison

This is the fourth post for cross-platform mobile development tool comparison. There are two more to come. For convenience of analysis, I had divided the tools into five categories (here is an overview). They are:

(1)    Mobile Web (JavaScript-CSS library),
(2)    Visual Tool (No access to Code),
(3)    App Generator (Native application for multiple platforms),
(4)    Hybrid App (Leverages embedded browser control) and
(5)    Game Builder

The classification is somewhat arbitrary and for some tools it becomes little difficult to classify but here is my logic.

  • Mobile Web = Can be used to create a mobile web site
  • Visual Tool = The UI is created using a visual editor
  • App Generator = Written in single language for all platform
  • Hybrid App = Used browser control to implement the native application
  • Game Builder = Primarily used for game development

Here are 6 tools – the ordering is alphabetic.

1. Adobe – Flex Builder

2. Appcelerator – Titanium

3. MoSync

  • Home page: Link
  • Genesis: MoSync is a Sweden based company which focuses on mobile applications and services and  founded in late 2004
  • Language used: JavaScript, HTML5 and C++
  • Version: 2.7
  • Licensing: Free Community (GPL) and Free Indie version (one developer per organization)
  • Download: Link
  • Documentation: Link
  • Sample application: Link to list of applications
  • Implementation: Case Study
  • Wikipedia: Link
  • Article on how to use: Video

4. Open Plug – Studio

  • Home page: Link
  • Genesis: Since December 15th 2011, OpenPlug Studio is no longer maintained.

5. Rho Mobile – Rhodes

6. Xamarin – Mono

For the earlier posts, you have pointed out several omissions and wrong classifications and I have tried correcting them. I promise to do the same for all the six posts.

So, please do let me know if there are any errors and omissions in the details I have provided.

<<Previous (Mobile Visual Tools)

Next>> (Hybrid Mobile Tools)

Cross-Platform Mobile Visual Development – a Tool Comparison

Mobile development tools are changing rapidly.

I had started work on comparing cross-platform mobile tools about a month back. I had initially started with a list of 26 tools. Few got added on the way.

However, what is most interesting is that in this short period of time one of the tools (Open Plug) was discontinued. It was a Flash based tool. Since Adobe decided to discontinue Flash for mobile in favor of HTML5 – they really had no choice. Another tool (Pyxis Mobile) has been renamed as (Verivo Software).

Coming back to mobile tool comparison – I had categorized the tools into five categories (here is an overview). They are:

(1)    Mobile Web (JavaScript-CSS library),

(2)    Visual Tool (No access to Code), (this post)

(3)    App Generator (Native application for multiple platforms),

(4)    Hybrid App (Leverages embedded browser control),

(5)    Game Builder

In this post I give an outline of the Visual Tools where you use a visual editor to build the application. Some of these tools do not give you any access to underlying source code.

Here are 5 tools – the ordering is alphabetic.

1. Application Craft

2. Dragon RAD

  • Home page: Link
  • Genesis: Offshoot of Seregon Solutions Inc., a provider of mobile enterprise application platform software
  • Version: 4.0
  • Licensing: Paid with 30 day free evaluation – see this
  • Download: Link
  • Documentation: Video tutorial & Webinar
  • Sample application: Link
  • Implementation: Only one
  • Wikipedia: Yes
  • Article on how to use: From Zombo

3. July Systems

  • Home page: Link
  • Genesis: Cloud based solution – tight coupling between development tool and hosting
  • Version: 3.5 released on March 2011
  • Licensing: Details not available on the site
  • Download: Not freely available
  • Documentation: Video overview
  • Sample application: Link
  • Implementation: List of customers
  • Wikipedia: Yes
  • Article on how to use: No third party article

4. Net Biscuit

5. Verivo

Have you seen this Wiki?

Here is an interesting wiki – WikiMobidex.org which lists mobile offering from different suppliers. Any supplier can register and add a page for their offering. More than 200 suppliers are listed.

Do let me know if there are any errors and omissions in the details I have provided.

[Update: There are 5 platforms which I have not covered but has been pointed out by readers – (1) iBuildApp, (2) Kony, (3) Tiggzi, (4) JaeMobi & (5) Formotus]

Home page: Link

Home page: Link

Home page: Link
More detail: Link
Home page: Link
Home page: Link

<<Previous (Mobile Web Tools)

Next>> (Mobile App Generator)

11 Reasons Why Windows Phone will Overtake Android in next 3 Years

Please hold your skepticism, keep an open mind, go through the following point and only then pass a judgment on my prediction that “3 years down Windows Phone would have overtaken Android”

(1) “Mango” has received very positive response

Just go through the following comments.

“… I say this with all seriousness and some incredulity: Apple, watch your back. Microsoft may have finally figured it out. The battle for the mobile market just got interesting again…” – Robert X. Cringely

“…With Mango, WP7 has caught up with Android and iOS in nearly every way, and in some areas it’s even surpassed the other two in functionality …” – Brad Molen

 “…Windows Phone 7.5 is supremely usable, surprisingly powerful and delivers the experience Microsoft has been promising, with only a few rough edges left…” – techradar.com

“…Windows Phone is, in my opinion, the second-best OS out there, after iOS. It’s more cohesive, reliable, pretty, and fast than Android…I have no hesitation in recommending it…” – Dan Nosowitz

“…Android doesn’t look as shiny and as for Apple, since our play, we certainly notice a lot more “Windows Phone 7 features” in the latest iOS 5 Beta builds…” – Stuart Miles

If you don’t believe me then just do your own searching – I am sure you will find comments very similar to these.

(2) Metro UI is innovative and usable

The UI is different but very well designed for mobile and tablet. The same view is expressed by most experts and most owners of “Mango” phone.

“…keep an open mind and you just might be pleasantly surprised by Microsoft’s elegant, daring, and simple take on smartphones…” – Jessica Dolcourt

 (3) Microsoft usability design is backed by strong research

I have discussed this elsewhere – Microsoft’s Second UI Innovation.

If you have doubt then just go through the presentation on How Ribbon Interface was created.

(4) Unlike Android UI, Metro UI has nothing in common with iOS

Google and Android handset manufacturers are fighting legal battles with Apple in so many different countries. These battles are prompted by similarity in the design and user interface.

“Mango” is different. If fact Microsoft has already secured a patent for the metro UI – Microsoft patents Metro UI. On the other hand Android is fighting so many patent and IP violation suits.

(5) It is a question of survival for Nokia

Even though Nokia has been steadily losing market share it still enjoys more than 20% market share of the number of mobile handsets shipped (see IDC report). RIM is also in a similar situation, but unlike RIM, Nokia has something decent to fight back with.

They have put all their eggs in the Windows Phone basket and they are not going to give in without a fight, especially in the non-US markets.

(6) Microsoft has patent agreement with handset manufacturer which lowers the barrier for switch

Microsoft has patent deals with HTC, Samsung and many other Android handset manufacturers and receives US$ 5 upwards for every handset sold. See this – Microsoft Getting Royalties From Over Half Of All US Android Phone Sales.

So, Android is not exactly free.

(7) Most users would have changed their handset in 3 years

One of the concerns expressed by many analysts is that Microsoft is late in the game and the mobile market is already crowded. However, history has taught us that the mobile landscape changes every 3 years. One of the top 3 players drop out to be replaced a newcomer. You also get a new leader.

Therefore, 3 years down the line the field is wide open.

(8) Windows 8, which has Metro UI, would have enough presence in desktop & laptop

In spite of all the prediction about the end of the PC era, you will almost surely be using a PC for many more years. You will also, periodically, continue to upgrade your PC and Laptop. Majority of those upgrades will result in your getting a Windows 8 machine.

As a result, 3 years down the line most of us would get reasonably familiar with Metro UI.

(9) Windows App store, by then, would have many more applications

By having the same programming model for desktop, laptop, tablet and mobile, Microsoft has ensured that app developers will always find a wider market for their applications. They are also offering developers a larger piece of the pie.

Microsoft fleshed out details for its Windows Store, announcing to developers that the Windows 8 app store will become available with the Windows 8 beta in late February 2012. (See this)

(10) Microsoft has an uncanny knack of persisting with, perfecting a product and become one of the market leaders

We have seen this happen time and again with so many different categories of products. The list is long – Word Processor (Word), Spreadsheet (Excel), Database (MS-SQL), Search Engine (Bing), O/S for handheld device (Windows CE), Enterprise web application platform (SharePoint), Enterprise mail server (Outlook), Development platform (.Net), Developer Studio (VSTS), Gaming Console (Kinect), Browser (IE), ERP (Dynamics) … (See this for more detail).

So, why can’t they pull it off again?

(11) Windows Phone is much more strategic to Microsoft than Android is to Google

Microsoft is primarily an O/S company and Google is a search company. If Google loses the mobile O/S war it is just another loss. It is not going to threaten the existence of the company. However, the same loss for Microsoft may threaten their very existence.

You don’t expect Microsoft to give in without a very very strong fight … especially when they have hit upon an innovative product with lots of promise.

Also, there is no Steve Jobs around who can completely change the game.

Cross-Platform Mobile Website Development – a Tool Comparison

Gartner says, in 3 years, mobile application development projects will outnumber PC projects by 4-1 ratio and in 4 years, 50% of the people will primarily access their emails from a mobile device. So, the necessity of establishing a mobile channel for your customer is – well a no-brainer. However, should you just build a mobile website or should you also invest in building native application is not easy to decide. There can be no doubt that you need to have a website optimized for mobile devices.  What is the best way to build and maintain that website is not a simple decision.

There are many tools of different type available in the market but it is not strictly necessary to use any of them as each mobile platform comes with its own tool-set.

The cross-platform tolls can broadly be classified into five categories. They are:

(1) Mobile Web (JavaScript-CSS library),

(2) Visual Tool (Hosted – limited access to Code),

(3) App Generator (Native application for multiple platform),

(4) Hybrid App (Leverages embedded browser control) and

(5) Game Builder

[Here is an overview of the five categories of tool]

Should you use any tool to create mobile website for smartphones? Why can’t you directly code in HTML5 – after all most mobile browsers now support HTML5.

Well, there are 6 things you can expect from a tool:

  1. UI component and widget library to give you a head start with AJAX features.
  2. Style-sheet and skin to make the site look like a native application.
  3. Simplified touch event handling.
  4. Provide simplified mechanism for data manipulation, local storage and caching.
  5. Create an abstract layer for client-server interaction.
  6. Visual design and debugging tool.

You can, off course, decide to write the framework yourself, but that will require effort.

How to decide which tool is right for you?

There are many tools available and there is no clear market leader. Each tool has its own strength and weakness – you need to match them with what is important for you and what you can live without.

Here are some criteria that you need to consider:

  1. Do you want a toolkit which has already established itself as an RIA tool or are you looking for a tool which is optimized for mobile?
  2. Are you willing to consider an evolving product which looks promising?
  3. Do you want a lightweight tool or a tool with comprehensive features?
  4. Do you require full documentation?
  5. Are you planning to modify / extend the library?
  6. To you, how important is an active user base?
  7. Do you require only UI library or do you need a complete framework?

Here are 10 tools – the ordering is alphabetic.

1. DHTMLX Touch

  • Home page: Link
  • Genesis: From AJAX tool – full feature
  • Version: 1.0 Released on 14 Nov 2011
  • Licensing: GNUv2 or Commercial
  • Download: Link on home page
  • Documentation: Available
  • Sample application: Available
  • Implementation: No reference
  • Wikipedia: Yes
  • Additional: Skin builder and visual designer (sluggish)
  • Article on how to use: How to build a login screen  on netmagazine.com

2. iUI

3. jQTouch

4. jQuery Mobile Framework

5. Sencha Touch

6. Sproutcore

  • Home page: Link
  • Genesis: Targeted for all HTML5 site – uses a Ruby engine
  • Version: 1.6
  • Licensing: MIT – also available of GitHub
  • Download: Here
  • Documentation: Available
  • Sample application: Not Available
  • Tutorial: Here
  • Implementation: No reference
  • Wikipedia: Yes
  • Article on how to use: Build mobile applications by IBM

7. WebApp.net

  • Home page: Link
  • Genesis: Mobile only framework – full feature
  • Version: 0.5.2
  • Licensing: Beta
  • Download: Link on home page
  • Documentation: Available
  • Sample application: Here
  • Implementation: No reference
  • Wikipedia: Yes

8. Wink Toolkit

9. XUI

  • Home page: Link
  • Genesis: Started in 2008 to complement PhoneGap – primarily a DOM library – does not have components for UI
  • Version: 2.3.2
  • Licensing: MIT – also available in Google Code
  • Download: Here
  • Documentation: Available
  • Sample application: Here
  • Implementation: No reference
  • Wikipedia: Not available

10. Zepto.js

  • Home page: Link
  • Genesis: Mobile only – lightweight – full feature
  • Version: 0.8
  • Licensing: MIT – also available on GitHub
  • Download: Link on home page
  • Documentation: Minimal on GitHub
  • Sample application: No reference
  • Implementation: No reference
  • Wikipedia: Not available

Do let me know if there are any errors or omissions in the details I have provided.

<<Previous (Mobile cross-platform tool classification)

Next>> (Mobile Visual Tools)

Write Once Run Anywhere (WORA) or Cross Platform Mobile Development Tools – a Comparison

To build and maintain applications required to reach out to you customer through Mobile & Smart phone is expensive.

Why? Because of platform proliferation. Because of quick technology obsolescence.  (See this)

Management perception compounds the problem.

Anybody, not intimately familiar with this technical challenge, perceives that the effort of developing a mobile application should be proportional to the size of the screen. In other words, since mobile screen is much smaller than a PC or a Laptop screen, the effort required for developing application should also be proportionately less.

Hence the budget for developing and maintain mobile channel becomes small!

What is the way out?

Only way out is to use a tool or a framework which can support multiple platforms. However, as of today, there isn’t any “one size fit all” tool. There are many tools available in the market – each has its own strength and weakness.

Good news is that most of the tools are available for you to try them out. Some of them are …

Some of them have recently been acquired and their status may change in the near future:

–          PhoneGap by Adobe

–          OpenPlug by Alcatel-Lucent

–          Bedrock (Metismo) by Software AG

So, how do you go about selected the tool which is right for you?

Questions you should ask yourself

  1. Do you really need an installable native application? Why not just stick to a mobile website?
  2. If an installable native application is really needed – which platforms should you target now? One year down the line?
  3. What is the expected life of the application? Will you be ready to scrap it in a couple of years’ time?
  4. If you make a native iPhone application which does not feels like a true iPhone application – would it be acceptable? What about similar Android application?

After you have realistically answered these questions you might decide one of the following paths:

–          Stick to a generic mobile website

–          Build an iPhone application only

–          Native application needs to feel truly like a native application

If so then you need only to look at the first of the five categories of the tool given below.

5 Categories of WORA Tools

  1. Mobile Web: These tools are primarily JavaScript libraries which in combination with suitable HTML 5 and corresponding CSS render you mobile website on different types of devices. Some of these tools can work in conjunction with Hybrid tool and the result can be packaged as a native application. [Here is a comparison of 10 such tools]
  2. Visual Tool: They provide a visual interface where elements / widgets are dropped into the screen and the internal application plumbing is taken care by the tool. The resultant (depending on the tool) is either a native application or a mobile website.  [Here is a comparison of 5 such tools]
  3. App Generator: In this category you have tools where you write your application in a specific language but the tool translates it into a deployable native application for different platforms. The deployable application may include a runtime engine or a virtual machine. The programming language varies from tool to tool. [Here is a comparison of 6 such tools]
  4. Hybrid App: This category of tools provide a platform specific shell application which has the capability of rendering prepackaged HTML pages and extends the HTML capability through APIs which allow access to device specific features. Some of them include libraries to render platform specific UI. [Here is a comparison of 5 such tools]
  5. Game Builder: This is similar to the previous category but these tools are primarily targeted for game development. They have much richer UI library and may even have 3D graphics capability. Some of them use special languages like Lua or LiveCode. Their cross-platform capability may extend beyond just mobile devices. (Bedrock (Metismo), Corona (Ansca), Livecode (RunRev) , Marmalade, Unreal, Unity 3) [Here is a comparison of 9 such tools]

Next >> Mobile Web Tools