The Players – SDK Options
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:
- 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.
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!
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.
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 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)
- Blackberry OS (5.x and above)
- Windows Phone 7
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:
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:
- Feudal Economy
- Blox Run
- Candy Catch
- Easy Oyster
- Find Santa
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++.
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.
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 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
- Mitsubishi Motors
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.
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.