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 how does Titanium work behind the scenes?
- 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
- 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
- Memory management is crucial
- 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