<img alt="" src="https://secure.leadforensics.com/150446.png " style="display:none;">

Appcelerator’s Titanium - The Next Generation Mobile Platform

Devashree Sadekar Jan 28, 2013

Titanium mobile application development cross-platform framework Mobile Development JavaScript Technology mobile platforms

Smartphones and tablets are becoming ubiquitous, and with them, mobile applications. With a tremendous momentum for mobile application development, mobile developers are confronted with a plethora of choices for mobile development platforms. Mobile developers are compelled to choose between Android, BlackBerry, iPhone, Symbian, and Windows mobile, as each platform is incompatible with the other.

So, instead of targeting a single platform and building your application each time for iOS, Android, BlackBerry, wouldn’t it be pragmatic to use a cross-platform framework instead? If your answer is yes, then Appcelerator has come up with Titanium - the brilliant open source application development platform. With Titanium, you can create native mobile, tablet and desktop applications mainly using JavaScript (HTML, CSS, Python, Ruby, and PHP are also supported). But take a note here, Titanium does not provide you with a “code once, use everywhere” approach, rather it supports code-reuse i.e. “write once, adapt everywhere.”

So how does Titanium work behind the scenes?

Firstly, Titanium Python built scripts interact with the native SDK tools. Titanium analyses the JavaScript code to create proxy objects or native representations of the buttons, TableViews, database and so on and so forth. Basically, proxy object is nothing but a JavaScript object in the ‘JavaScript land’ which has a paired native object in the ‘Native land’. Say for example, when you create a window var win=Ti.UI.createWindow(); you actually call a native method to create a native window object and at the same time also create a proxy window object which exposes properties, methods and events of the underlying native UI object to JavaScript. This JavaScript code (in lined into a Java or Objective-C file) is interpreted (V8/Rhino-Android or JavaScript Core-iOS) at runtime.

How Titanium Works

Simply put, you can say that Titanium combines the JavaScript code with the Titanium APIs, and evaluates the code at runtime with a JavaScript interpreter that runs on the device’s operating system.

Why Titanium?

    • Native UI

Applications developed using Appcelerator’s Titanium not only look but also perform native. Titanium uses the platform’s backend UI controllers, behaviors, and animations, which offer a native experience for users. Other core features can be embedded by extending the Titanium API to fit the needs of the application

    • JavaScript

Probably the biggest advantage of Titanium is that you don’t have to learn platform-specific languages. Titanium offers an approach to developing native applications with JavaScript and enables more developers to get into mobile app development. It also provides support for HTML5, JSON, SOAP and RESTful. Most importantly Titanium reflects a combination of flexibility and structure

    • Single codebase

Appcelerator’s Titanium actually “accelerates” the application development because it allows you to create a single application for Android/iOS/*Blackberry in a very flexible way and in a significantly less time as opposed to native development which would require more efforts and time. A developer can use Titanium to make a single prototype for various platforms to evaluate the user’s interaction with the UI due to its facilitation for rapid development

    • Titanium APIs

Titanium provides access to a wide range of APIs, native UI, and device-specific features. Titanium offers the same UI interface and components that are available to both Android and iOS developer which is not offered using any other hybrid approach. Besides some platform specific functionalities are supported by iOS and Android APIs

    • Alloy framework

Appcelerator has introduced a MVC framework to develop applications using XML and JSON. It supports UI and app logic separation, CLI (Command Line Interface) and reusable widgets and templates

    • Growing community

With a fast growing Appcelerator community of 300,000+ and with more than 35,000 apps to its credit, Appcelerator also has its own Marketplace with a wide range of modules. Additionally Appcelerator has implemented Cloud services in its platform

Titanium lookout

    • Memory management is crucial

Memory can become a very large bottleneck for Titanium if you don’t actively manage it as your application grows in complexity. Titanium uses JavaScript garbage collection, which creates problems typically for globally declared objects which might not release memory if not handled properly. To steer clear of such hitches, make sure that you protect global space to avoid name collisions and thus avoid code overwriting

    • Implementing high-end functionality

For developing applications that require extremely complex stuff, which are supported neither by Titanium APIs nor the large collection of modules in the Appcelerator’s Marketplace, you may need to create your own module to implement that particular functionality. Modules are created by coding just those portions in platform specific modules using obj-C (iOS) or Java (Android). Creating complex modules may increase the development time to a certain extent

As I see it, Titanium is definitely a hugely competent platform for mobile development if you write the code in an Object-oriented pattern by dividing the code logically and grouping similar functions together so as to facilitate updation of a certain widget or a window without interfering with the rest of the code. You'll have to tweak the code a bit for it to work on both iOS and Android, but nevertheless it's better than having to write it twice in two different languages. So, you can have a single codebase for iOS and Android, and offer your customers better prices and also save development time.

Titanium in the near future

Appcelerator will release Windows 8 support in the second half of this year, for both, Windows RT and Windows Phone platforms which will allow developers to build apps that run on both Microsoft platforms from a single JavaScript codebase. Furthermore, Blackberry 10 support will be available soon as open source, which as of now is in the beta version.

References

Similar Blog

e-Zest is a leading digital innovation partner for enterprises and technology companies that utilizes emerging technologies for creating engaging customers experiences. Being a customer-focused and technology-driven company, it always helps clients in crafting holistic business value for their software development efforts. It offers software development and consulting services for cloud computing, enterprise mobility, big data and analytics, user experience and digital commerce.