Android & iOS : Top Solutions for Creating Cross-Platform Mobile Apps

App developers get inundated with demands (some of them personal, others professional) to find that sweet bridge of communication and design something that appeals to both Android and iOS camps. This is true despite the idea that the two technologies were designed to be at odds, as if the animosity that exists at Apple towards Android is somehow translated through the platform’s language (which is exactly what happened).

When producing mobile apps, the key problem arises in the conflict between market penetration on the one hand and cost of development on the other. If you want to address the majority of today’s mobile users you could either develop your app for each of these platforms independently, or try to follow a cross-platform strategy in order to cut the invest. While the former means running several parallel traditional software projects (with all their individual consequences) in parallel, the latter approach tries to reuse parts of the intellectual achievements (often source code) while accepting other drawbacks.

With tons of tools already available — and more springing up all the time — there seems to be a solution for any mobile app developer out there (experienced and novices alike).

In this article, we look at 10 solutions for building cross-platform mobile apps. They were chosen for their varied levels of complexity, price, features and documentation.

1. Sencha Touch 2

If you’re no stranger to HTML5, CSS3 and JavaScript, then Sencha Touch 2 may be a great choice for creating mobile apps on iPhone, Android and Blackberry.

Sencha Touch 2 needs to be installed on your computer (it works on PC, Mac or Linux). You also need a web server running locally on your computer (here’s how to install XAMMP if you need help).

Visit their Kitchen Sink app to see Sencha Touch 2 in action.

Sencha Touch 2 Summary

 

2. jQuery Mobile

jQuery Mobile is an HTML5 user interface framework for touchscreen devices. The jQuery Mobile framework is straightforward and well documented. What’s great about jQuery Mobile is that it has an online tool called ThemeRoller to help make the creation of your user interfaces quicker.

To do server-side stuff, you could use a mobile app development platform like PhoneGap (which we’ll discuss later); the official site has documentation on how to use PhoneGap with jQuery Mobile.

jQuery Mobile Summary

 

3. Tiggzi

Using jQuery Mobile as its base, Tiggzi is a drag-and-drop tool for developing mobile apps. You can add standard buttons, menus, video, maps and other elements to your mobile app and then bind events and corresponding actions to them.

Tiggzi Summary

  • Knowledge required: HTML, CSS, JavaScript, XML
  • Platform support: Android, iOS, Mobile Web
  • Cost: $15-$50/month (there’s a free plan); see Pricing page
  • Documentation: Tiggzi has a lot of good tutorials, videos and other resources on their site

 

4. AppMakr

AppMakr is an online tool for creating content-centered mobile apps, as well as a service that can help you distribute your app in many app stores. You can import RSS feeds that AppMakr will package into a mobile-optimized app.

There’s no programming required to create your app, though you can add custom HTML.

AppMakr Summary

  • Knowledge required: HTML and CSS would be helpful
  • Platform support: iOS, Android, Windows Phone
  • Cost: $79/month (free if you allow them to place ads in your mobile app)
  • Documentation: They have good video tutorials including a walkthrough of the app store distribution process

 

5. iBuildApp

iBuildApp is a tool for creating mobile apps. They have a good selection of templatesfor many different types of apps, and you can have your app featured in the iBuildApp Gallery.

iBuildApp provides many options you can add to your mobile apps, including e-commerce options and a way to embed web pages inside your app. iBuildApp also provides a SOAP web service that allows you to easily create, retrieve, update or delete content.

iBuildApp Summary

  • Knowledge required: HTML and CSS would be helpful
  • Platform support: Options available for iOS and Android export
  • Cost: $9.99/month (free if you allow them to place ads in your mobile app)
  • Documentation: They have good tutorials on how to use their service

 

6. Widgetbox

Widgetbox offers an easy-to-use web tool for creating and hosting simple, content-based mobile apps. You can create pages for your app containing RSS feeds from blogs or social media sites. You can also add custom content using HTML and CSS.

Check out the mobile app directory for a listing of apps created by Widgetbox.

Widgetbox Summary

  • Knowledge required: HTML and CSS would be helpful
  • Platform support: Compatible with most modern web browsers
  • Cost: $25-100/month
  • Documentation: They have support, FAQ, and a knowledgebase

 

7. foneFrame

foneFrame is a mobile HTML5/CSS3 framework for creating mobile-optimized web pages. You can then use PhoneGap or appMobi XDK for the backend. foneFrame is also an excellent way to easily wireframe a mobile site.

foneFrame Summary

  • Knowledge required: HTML5, CSS3, JavaScript
  • Platform support: Compatible with most modern browsers and platforms
  • Cost: Free (license: Creative Commons Attribution 3.0 Unported License)
  • Documentation: The template has inline documentation

 

8. PhoneGap

PhoneGap is a free, open source software that serves as a bridge between individual mobile OS SDKs, which have their own programming languages and standard development practices.

Using PhoneGap, you can support multiple mobile device operating systems easier. You can create a mobile app using HTML5, CSS3 and JavaScript, and then use PhoneGap to package your work for specific mobile operating systems. PhoneGap also integrates directly with Dreamweaver, which can make mobile app development even easier.

PhoneGap support includes iOS, Android, Blackberry, Windows, WebOS and Symbian.
 

9. PhoneGap Build

The folks at PhoneGap have gone one step further in creating a web-based platform that creates your “builds” for you. It’s called PhoneGap Build. This service presently supports iOS, Android, Blackberry, WebOS and Symbian.

With this service, you can upload your HTML5, CSS3 and JavaScript, and PhoneGap Build will generate the files you need for distribution in leading app stores.
 

10. appMobi XDK

appMobi XDK is cloud-based mobile app development environment that’s available as a Google Chrome plugin. The appMobi service will also host your mobile app for you, as well as provide you with the ability to deploy it in popular app stores. Though the service and hosting are free, they have add-on services like push notifications and e-commerce solutions you can use to enhance your mobile app.

 

Types of Cross-Platform Frameworks

Here is a list of frameworks and tools that allow you to easily create applications that run on both iOS and Android platforms.   All of the frameworks listed here are already being used in apps within the app store, are well supported, and are available right now.

Native App Creators

Airplay SDK – This is a solution that has been used by many larger gaming companies that allows you to create cross-platform applications.  Particularly useful to those developing 2D/3D games.  (Free for Indies with company earnings < $100k)

Corona SDK – A solution allowing for the creation of apps using Lua.  Overall development is similar to scripting with Actionscript 2.0. Founded by former Adobe developers. ($99/yr)

Flash CS5 (Adobe Air For iOS)- Using the packager for iOS you can compile Flash CS5 apps even without touching a mac. (Approx $600, $200 if an upgrade).

Hybrid App Creators (HTML/Javascript and HTML/ruby based)

Appcelerator – This is a solution that allows you to develop native apps with HTML/Javascript (run through a UIWebView on iPhone) . (Free)

Phonegap – Similar to Appcelerator, I mentioned these two as they seem to have the most vibrant communities, and most extensive support. (Free)

Rhomobile – This is a solution that uses Ruby, especially loved by Ruby on Rails developers. (Free only for non-commercial applications, prices vary)

There were many other HTML/Javascript solutions that could be listed here — they’re a dime a dozen — so I only listed Appcelerator/Phonegap as they seem to have the best support.

 

Pros and Cons of using Cross-Platform Frameworks

Cross-development mobile frameworks, such as Appcelerator’s Titanium and Adobe’s PhoneGap, provide decent platforms for developing in the best of both worlds. There are good and bad things about such technologies. Below are some of the pros and the cons about cross-platform development tools for mobile apps. Whether you find yourself leaning more toward apples than robots, there’s something to be said for understanding both.

Pros

  • Deployment speed increases and cost decreases: This is a simple inverse proportion. The faster a developer can create apps, the less money it costs. Creating apps is significantly faster using cross-platform technologies. Plus, the code developed can be reused as a primary reference for use in other projects on either the iOS or Android platform. Since the code is developed to work on iOS and Android, the translated piece of language is a good launching point as demand rises for a related app, regardless of platform. This saves money because it allows companies to avoid investing in a new team to create an app for just one system.
  • Easy access to plugins: Appcelerator and PhoneGap offer easy access to plugins that can easily be used in other services or tools. These also include offering common links to similar APIs, such as those for the devices’ cameras, accelerometers, or location sensors. Instead of writing unique code to talk to an iPhone’s GPS and a Samsung Galaxy S II’s GPS, one centralized set of code will be automatically modified to interface with both devices.
  • Simple for web developers to use: Because these frameworks are designed for scripting languages, they are easy for web developers to utilize. HTML, CSS, and JavaScript are the backbone of the vast majority of the Internet and apps that run on the web, so it is a natural transition for these tools to migrate to the mobile devices.
  • Support for enterprise and cloud services: These frameworks allow for the easy integration of cloud services. For example, after an Exchange integration is coded once, it will work on both platforms. Also, multiple security methods aren’t needed, because the apps will function similarly on either the iOS or the Android platform.
  • All supporting features may not be included in updates: When Google, Apple, or Microsoft adds a new feature, the framework being used will need to be updated. Given that the two languages are different, the communication “bridge” that the framework forms may not allow all pieces of information to pass. This is an inherent challenge, which will hopefully find its answer soon, although it will necessarily always lag behind each platform’s official SDKs.
  • Tools are restrictive: Frameworks mandate that developers use prescribed tools and suites limited to the software, which inherently requires the user to ignore their preferences and use something that they may have to learn all over again (that is the worst-case scenario).
  • Slower code and render time: Any cross-compilation process has the chance to be slower, especially since the user most likely won’t be able to use tools with which they’re familiar. Also, the code render time will be longer, because it will have to churn out code for each platform.
  • Inefficient code: Because the developer will not be working in each platform’s native language, the efficiency of the final code will be determined by the efficiency of the translation engines in the tool. This may cause the final code to contain bloated code and inefficient coding techniques that a seasoned developer wouldn’t use.

 

Cons

  • All supporting features may not be included in updates: When Google, Apple, or Microsoft adds a new feature, the framework being used will need to be updated. Given that the two languages are different, the communication “bridge” that the framework forms may not allow all pieces of information to pass. This is an inherent challenge, which will hopefully find its answer soon, although it will necessarily always lag behind each platform’s official SDKs.
  • Tools are restrictive: Frameworks mandate that developers use prescribed tools and suites limited to the software, which inherently requires the user to ignore their preferences and use something that they may have to learn all over again (that is the worst-case scenario).
  • Slower code and render time: Any cross-compilation process has the chance to be slower, especially since the user most likely won’t be able to use tools with which they’re familiar. Also, the code render time will be longer, because it will have to churn out code for each platform.
  • Inefficient code: Because the developer will not be working in each platform’s native language, the efficiency of the final code will be determined by the efficiency of the translation engines in the tool. This may cause the final code to contain bloated code and inefficient coding techniques that a seasoned developer wouldn’t use.

 

Drop Us A Note

 

[gravityform id=”2″ name=”Drop us a Note” title=”false” description=”false” ajax=”true”]

 

Post a comment