AzoftBlogAppcelerator Titanium Review: No-Hassle Cross-Platform Mobile Development

Appcelerator Titanium Review:
No-Hassle Cross-Platform Mobile Development

By Victor Kotov on October 24, 2013

Recently, we posted a guide helping software developers and tech executives choose the most cost- and time-effective mobile development approach, addressing whether they should go with a native, hybrid or web-based solution. However, there is also an alternative that allows you to make the right choice individually for each particular project, since it handles creating apps across various mobile OSs, as well with hybrid and HTML5 variants. It's called Appcelerator Titanium.

Here I present an overview of the Appcelerator Titanium mobile development environment, outlining what you should and shouldn't expect from it, along with general recommendations and comparisons with the following IDEs: PhoneGap, Sencha Touch, jQuery Mobile, and Xamarin.

Appcelerator Titanium overview

titanium appcelerator review Appcelerator Titanium Review: No Hassle Cross Platform Mobile Development

Supported platforms

Titanium, developed by Appcelerator, makes it relatively inexpensive and easy to simultaneously build native apps for various mobile OS platforms. Currently it provides support for Apple iOS, Android, BlackBerry, and mobile web applications; later this year the company plans to add Windows Phone/RT as well.

As of this writing, here are the IDE statistics for the following mobile devices:

  • Android — 123 apps
  • Apple iPad — 99 apps
  • Apple iPhone — 410 apps

Development process

Titanium’s applications are written in JavaScript with the use of a special Titanium SDK that allows access to the required frameworks. It doesn't offer a screen design tool, and developers create and modify apps through the code only. CSS isn't used either.

To build an app with Titanium, you first install the official SDK for each mobile platform (Xcode and iOS SDK, Android SDK, etc.) . After a build is completed, the project will be extensively modified by the original SDK so the result becomes 100% native in terms of UI and functionality.

Hiring a team

The major requirement for a Titanium developer is knowledge of JavaScript, although any experience in mobile application development for any platform would certainly be an advantage. Since there are far more JavaScript specialists than mobile developers, choosing Titanium gives you a wider list of candidates to select from for your development team.

Should you choose Titanium?

We have previously covered several aspects to take into consideration when choosing an app type: marketing strategy, development costs, features and design, etc. Choosing an IDE is an important decision as well. We suggest first answering a few simple questions that can help considerably with making the best choice:

  • What functions do you plan to implement?
  • What platforms do you plan to cover?
  • How do you plan to distribute your app: through the platform’s official app store (AppStore, Google Play, etc.), your corporate web site, etc.?
  • What skills do the developers on your team have?

Generally speaking, Titanium is an ideal choice if:

  • your team is proficient with JavaScript; and
  • your business model targets a multitude of mobile platforms. 

HTML5 applications with Titanium: Pros and Cons

If your goal is to develop a universal web app rather than a set of native apps for various platforms, Titanium may be the best solution as well. In this case, your app will include a combination of JavaScript, CSS, and HTML5.

A web app built with Titanium has specific advantages that allow you to:

  • use standard UI elements (tables, buttons, etc.) along with animation effects;
  • access network resources via HTML (noting that there are security limitations you should take into consideration and plan on possible ways around);
  • store data locally (with the amount of data limited by the browser);
  • provide support for asynchronous module definition (AMD) and CommonJS;
  • pre-cache resources for faster loading.

However, web apps have several limitations as well, such as:

  • restricted access to certain components of a mobile OS (e.g., Android activities, iOS local notifications, or the Apple iAd service);
  • limited access to device resources (such as the camera;
  • dependence on a browser to run the web app;
  • limited functionality without an Internet connection;
  • restricted use of native UI elements;
  • limited access to calendar and contacts (varies depending on the platform);
  • no support for Titanium Extensions distributed through the Appcelerator Open Mobile Marketplace (the extensions are provided as executable code for each platform and therefore can't be launched in the browser).

General guidelines for making a choice

  • Keep in mind that the more platforms you plan to cover, the fewer features you may be able to offer.
  • While you save time developing apps with Titanium, you still have to test apps on native platforms. Thus, don’t forget to add in the extra costs to the project budget for the QA team and device testing, and extra time in project scheduling.
  • Even if you don't plan on building apps for multiple platforms, Titanium still may be a good solution for your team as it makes the development process much easier. There’s no need to solve high-level tasks specific to a particular platform, such as memory management. Therefore, instead of developers needing to focus on OS documentation they can concentrate on adding more features and on design implementation.

Titanium vs. Other IDEs

Here at this point in the overview, I'll compare Appcelerator Titanium with several other alternative development tools. It’s also worth mentioning that Appcelerator has been recognized by Gartner Research as one of the companies in their Mobile Application Development Visioneers category, along with Sencha and Xamarin.

PhoneGap by Adobe

titanium appcelerator review phonegap Appcelerator Titanium Review: No Hassle Cross Platform Mobile Development

Adobe’s PhoneGap API exceeds the capabilities of standard web applications by providing access to resources such as the GPS, file system, accelerometer, etc. However, the controls are not native, and the UI is created via HTML5, CSS, and JavaScript. This may considerably increase development costs if you decide to create UI versions for multiple platforms and device types, on account of factors such as provision for numerous display sizes and resolutions, etc.

PhoneGap offers a convenient cloud-based service called Build which allows you to compile applications for several mobile OSs without installing any native SDKs to the developer’s desktop. To compile a project, all you need to do is upload it to the Build site, and when you’re done you'll get ready-to-run apps for each target platform.

Although Build creates native apps, the original code stays the same and the app is launched via a browser, which does result in lower performance for certain types of apps.

Sencha Touch by Sencha

titanium appcelerator review sencha touch Appcelerator Titanium Review: No Hassle Cross Platform Mobile Development

Sencha Touch is a framework for web app development (HTML 5, CSS, and JavaScript). It allows access to a rich diversity of resources like control libraries and the UI. Click here to take a look at some apps developed with the help of this framework.

Until recently, Sencha Touch could not build native apps and was often used in conjunction with PhoneGap Build. But now Sencha has a cloud service of its own – which is really convenient.

jQuery Mobile

titanium appcelerator review jquery mobile Appcelerator Titanium Review: No Hassle Cross Platform Mobile Development

This jQuery-based framework allows you to create web applications and sites optimized for touchscreen UIs. Just like jQuery itself, jQuery Mobile grants access to a huge library of ready-made components you can use in a project.

Xamarin (previously MonoTouch)

titanium appcelerator review xamarin Appcelerator Titanium Review: No Hassle Cross Platform Mobile Development

This IDE allows you to create native apps for iOS, Mac OS X, Android, and Windows Phone. The programming language is C# within a .NET framework.

Here are the examples of applications developed with this IDE; the component catalog is presented here, although the number of components is not very large (somewhere around 100).

The major advantage of this solution is that you can use the original SDK for each platform, thus resulting in 100% native apps. The primary disadvantage is found in the disappointing fact that only some of the code is universal, with a considerable amount needing to be written specifically for each platform – thereby increasing development costs.

While Xamarin does offer an IDE of its own, it also provides support for integration with Microsoft Visual Studio.

Summing Up

In wrapping up this post, I want to remind you that a wide variety of options for mobile development are available nowadays, so it's totally possible to find the perfect solution for your particular project. Like with any other IDE, Appcelerator Titanium has its strengths and weaknesses. But its ease of use, speed – and ability for the simultaneous creation of native and web apps – make it a great choice for a wide range of projects.

The following sources were referenced in the creation this article:

VN:F [1.9.22_1171]
Rating: 3.7/5 (7 votes cast)
VN:F [1.9.22_1171]
Rating: +1 (from 3 votes)
Appcelerator Titanium Review: No-Hassle Cross-Platform Mobile Development, 3.7 out of 5 based on 7 ratings

Content created by Victor Kotov