Apps

Pros and cons of cross-platform mobile app development tools

If you want to use platforms that allow development for both iOS and Android apps, keep these potential benefits and drawbacks of such tools in mind.

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).

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.

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.

About

Joseph Parker has worked in management, supply chain metrics, and business/marketing strategy with small and large businesses for more than 10 years. His experience in development is personal, stemming from his work in mobile marketing and applicatio...

8 comments
vprise
vprise

We use Codename One which doesn't have most of the pitfalls discussed above, its fast, translates to native and its free/open source.

appnotch
appnotch

Take a look at http://www.AppNotch.com - a drag & drop app builder with option to convert your design into HTML5, Android and iOS app formats.

Cyberience
Cyberience

When talking Cross platform, you cant narrow it down to PHone Gap and Titanium, these are only for HTML5 applications, and after release a couple of my own apps through this method, its not good enough, and the performance is terrible, especially when a developer needs the apps to run on some of the slightly older devices, where as Phone gap and Titanium use the Web View method, the old Android Devices just wont work. You should also cover platforms like Gideros and Corona, which can maintain 95% of the performance, and easy for Developers to pick up and deploy, and obtain the benefits mentioned above. plus some the the negatives dont exist.

mobilesite
mobilesite

Every new thing has its pros and cons. But we should not stop exploring new things. I think you are absolutely correct in explaining both pros and cons of cross-platform mobile app development. But at the same time you should always think in a positive note. Let us continue with our experiment and make every impossible things possible.

zdnet
zdnet

I am exploring the Marmalade SDK that allows me to write cross-platform apps for Android, iOS, Windows, Blackberry, etc. using C/C++. Marmalade supplies a binary component for each platform that translates their C/C++ API into native calls to the platform API, and contains many optimizations for performance that scripting (HTML, CSS, JS) can't touch. Marmalade isn't cheap, but the cost of recoding an app in Jave and Objective-C is a lot more expensive. Marmalade has had major use by game developers, and I'm still looking for show-stopper feature issues, but so far, this approach looks very good if you need better performance than the web-scripting APIs provide. Marmalade seems to be improving all the time, with add-ins for interoperable features like in-app purchase, cloud services, etc. I would be interested in comments by others who are working with similar cross-platform tools.

Ehtesham Shaikh
Ehtesham Shaikh

@mobilesite I completely agree with you just because highlighting the cons and stop exploring the new invention doesn't make any sense. And I think this is the best ever platform for mobile application development.