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, 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
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
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 business model targets a multitude of mobile platforms.
HTML5 applications with Titanium: Pros and Cons
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
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
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.
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)
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.
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.
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: