The last few years have shown a marked drop in computer sales. But the IT industry is booming! Surprised? The answer is in your hands. Smartphones sales have increased to more than computers. Because they are affordable and portable. With everything going mobile, businesses are clamoring to reach more customers via mobile apps.
But here lies the problem. There is iOS, Android, Windows Phone, Blackberry, Symbian, Tizen OS, Firefox OS, etc. All these mobile operating systems have their own coding language. For a company to make apps for all these OSes they have to invest in specific developers or spend time learning new coding languages. To solve this problem, Appcelerator stepped in.
So what is Appcelerator? Imagine you have a great software or program. It has worked wonders for people on the desktop. But you’re missing out on all the new customers who use phones. If only you could write once and deploy to many platforms. It would save loads of time and money. More importantly, the faster you offer an app the greater the number of people who will adopt it.
So what does Appcelerator do? Appcelerator provides many tools to bring your app to the greater mobile population. They have the three A’s. Analytics, Apps and API’s. The most important of the three is the API’s or Application Programming Interface. Here is where the magic happens.
Titanium is the framework which developers can use to bring their apps to the new marketplaces. The main goal is that you write your code once and deploy to many platforms. The main code is to be written in Java Script. Then using the API’s for the specific platform ,i.e. iOS or Android, you can run the code directly. Now some will say that PhoneGap by Adobe does the same thing.
What’s so different in Titanium?PhoneGap “wraps” the java script in the native code. So the HTML, CSS and other web technologies are run from within the shell of the native API. The program gets basic access to the hardware like camera, device contacts and sensors. This works fine enough, by working as a bridge between the Native controls and the Java Script. Titanium uses another approach. Each OS has it’s own UI enhancements and features which must be taken into account. So to “write once and run anywhere” does not give the best results. To make use of the platform-specific UI conventions, Titanium API takes the Java Script and injects it directly into during runtime. The API is written in the native code and requires the native tool chain. When the app is started, the Java Script is interpreted and injected together with native objects. This allows the one-to-one pairing of the native code to the Java code similar to how java script is injected in HTML. This procedure enables the app to take full control of the native objects and UI. It also allows the app access to the hardware directly. This is because you are virtually writing in native code when using the Titanium framework. It acts as an abstraction layer between the developer and the Native code. The developer does not need to worry about the native code, although he or she must learn the platform-specific API’s.
Appcelerator further provides Analysis and testing functions for the app. Allowing you to keep track of bugs and successes of your app.
There are some problems that Appcelerator needs to solve. Primarily wider support for more platforms. iOS and Android are supported and recently we got iPad support. Titanium has to write platform-specific code to utilise native conventions, which is why there is a delay. But considering that it was released only in 2008, it has made massive progress. They also support 90% of the native API’s and some might find themselves left out. But it is not fair to criticise Appcelerator because there are new API’s coming out with every OS version release. Some found that in the end they prefered to write the app in the native code because they couldn’t get the required performance. However, they agreed it is great for prototyping because it works fast and gives decent results.
Notwithstanding all these problems, Appcelerator offers a damn good product to create, deploy and keep track of your app. And more importantly, it is open source and any corrections or additions can be added directly to the framework.