Cross Platform Mobile Development – Part 2

Build-Diagram-3

The Players – SDK Options

Introduction

In the last installment of our Cross Platform Series we began to scratch the surface; that is, we introduced the idea of cross platform development. We took a look at some different platforms out there, their native coding options and then we considered some pros and cons of developing with a cross platform development kit. A few companies (tools) were introduced in the last installment, and this is where we are going to pick up. We will take a comprehensive look into the different software development toolkits available, exploring what the options are if you or your company wanted to delve into cross platform development.

Like it was mentioned last time, very little is needed in most circumstances to get started programming and deploying applications across multiple platforms. Take a look at what is needed:

  • Web Developers who are proficient in HTML, CSS & JavaScript
  • One of the SDK’s presently available
  • An idea for apps to be developed
  • Some standards and efficient development practices set in place (best practices guide for your development team – portion will be covered in future part of series)

We are specifically going to be looking at the 2nd piece of the equation, that is, the SDK’s that are currently available.

tools The Tools

Like any good handyman knows, there are a number of ways to get the job done with respect to the available tools. Any like many tools; they are not all built the same or have the same features and design functionality. In mobile application development, it is no different. For now, let’s take a look at some of the major players in the cross platform development game:

Keep in mind, this list isn’t exhaustive; these are just some of the more prominent tools out there as of this article’s writing. There are others, my apologies to those that feel left out (and no, we have no affiliation with any of these companies)! There is a lot of ground to cover with each specific toolkit available, so let’s dive in!

Rhomobile
rhomobile_logowbg_transparent_black_font

To be perfectly honest, at the onset of this article series rhomobile had not completed the transition (or wasn’t even in process, I don’t recall) from being acquired by Motorola.

The rhomobile suite states it is OS agnostic, and caters to both enterprise software as well as the consumer end, however they clearly advertise more to the enterprise end. Regardless, this framework utilizes HTML5, CSS & JavaScript for developing its applications, and “…supports all of today’s popular mobile operating systems…”

There are three components which comprise the rhomobile suite:

  • RhoConnect: This piece essentially provides connections to backend databases, and boasts multiple connections to different databases for one application, and no programming involved if fields are added (RhoConnect updates for you).
  • RhoElements: The actual development framework from which you will code all of your cross platform applications from, using HTML5, of course.
  • RhoStudio: An eclipse plug-in, it’s essentially what you will use to program, debug and then test using emulators.

The nitty gritty –

The RhoMobile suite is currently free to download. The install is relatively easy and straightforward, if you don’t already have an updated version of Git on your machine, it will install it for you. It also installs jnode. For anyone that is interested in downloading and fiddling with this toolkit, I encourage you to watch this video presentation done by a Motorola development community manager:


PhoneGap
PhoneGapLogo

PhoneGap is an open source toolkit that is owned by Adobe systems (they acquired them in late 2011). They tout the ability to develop hybrid1 apps across multiple platforms. Here is a list of currently supported platforms:

  • IPhone (3g & newer)
  • Android
  • Blackberry OS (5.x and above)
  • WebOS
  • Windows Phone 7
  • Symbian
  • Bada

With PhoneGap, developers may only use web authoring languages: HTML5, CSS & JavaScript; however it allows the developer to wrap the app in a native wrapper which allows access to most of the native API2’s.

Bottom Line

PhoneGap has a large developer and support base, in part due to its popularity and its acquisition by Adobe Systems. It is open source, and as such is free to download and use. Some examples of apps that have been developed using PhoneGap:


MoSync
mosync-color-horizontal-light

MoSync is another free, open source toolkit that developers may use to develop cross-platform apps. The one thing that sets MoSync apart from other toolkits is you have the ability to program using C/C++ in addition to HTML5, CSS & JavaScript. At the time of this writing, MoSync also claims support for up to 9 different platforms. Also, you are able to create hybrid apps using MoSync as well.

There are two components to MoSync, the SDK, which of course is the toolkit itself, and then reload which is the tool that essentially allows you to create hybrid apps by adding the native wrapper.

Some examples of applications written using MoSync:

Bottom Line

MoSync supports 9 platforms; native API’s by converting to Hybrid apps and is a free and open source SDK. There is also an Eclipse plugin available for those that use Eclipse as their IDE of choice. It is also one of the only cross-platform toolkits available that allow developers to program using C/C++.


appMobi
Logo

As of the writing of this article, Intel has acquired appMobi (Feb, 2013) and is now focusing on cloud integration services for its mobile applications and developers. So the only thing that really sets this toolkit apart from its colleagues is its focus on cloud deployment, which means they are monetizing using the cloud, rather than native stores such as Google Play and the iTunes store. You can still download and use the SDK to create mobile applications across a variety of platforms, just like the others.

Bottom Line

The website currently set up for appMobi isn’t very expansive, and not terribly revealing. They do indicate their focus, which is monetizing apps using the Cloud, however they leave out details. One must sign up for the AppHub, and really start digging around, and even Google other sources to find out, for example, what platforms are supported. It’s free to download and use the toolkit; however I am unsure as far as any fees associated with using the cloud service.


Appcelerator Titanium
appcelerator-logo-300x237

Appcelerator Titanium boasts a full spectrum mobile application development toolkit, complete with its own API library for native features and platform support for many iOS and Android tablets. With Appcelerator Titanium you can also create desktop applications, and use their ACS (Appcelerator Cloud Services) which it says is, “…a fast and easy way to build connected mobile apps”. Appcelerator has analytic features to track data points such as geography, platform and by version so as to be more familiar with how the apps are used.

Some companies that have used Appcelerator:

  • NBC Universal
  • Zipcar
  • Mitsubishi Motors

Bottom Line

Appcelerator is fairly robust, in that it offers support for multiple platforms and devices (including tablet and desktop), its own API library for native features, cloud integration services, analytical tools and it even has its own IDE. As far as cost, there is the free option, but they also have several paid options which tout more support, and include enterprise extensions. They also claim a strong developer base of around 400,000, which adds to the community support you might expect to receive.

Conclusions

There are many more options out there than we’ve covered here when it comes to developing mobile applications that are accessible across platforms. They all have one thing in common, and that is the basic skills necessary to develop these apps: developers with HTML5, CSS, and JavaScript skills. The nuances of each toolkit may boil down to personal preference for some developers, while there are clearly those toolkits out there that offer more in terms of platform and development support. The basic idea remains the same however, you develop once and deploy across multiple platforms with minimal extra effort. The business aspects and effects will be more deeply evaluated in the follow-up paper to this series, but suffice it to say that using cross-platform technology will have an impact on overall costs and efficiency of mobile app development. Whether you are a company that develops mobile apps, or whether you are a company that needs a mobile app developed to expand your reach, there are certainly things to consider that impact business.

1 Web authored apps wrapped in a Native code “shell” or husk which allows the app to utilize native API’s, and also allows the app to look and behave like a native app and appear in mobile app stores.

2 Application Programming Interface – an interface that allows technologies to communicate with one another, in this context the web authored app could use technology built-in to the native platform, such as the GPS or accelerometer features.

0 Comments

Leave a comment

Your email address will not be published. Required fields are marked *