Retrospective on Appcelerator Titanium and Alloy

Working as a Front-End JavaScript developer there would naturally come a time when you would need to work on a mobile solution. There are couple of ways to handle it, from writing a pure website for your users to access your content to coding a native implementation and putting it up on the play/app store. And many more in between.

Appcelerator Titanium and Alloy MVC #

One of the solutions that are in between is Appcelerator’s Titanium and Alloy MVC Frameworks. This solution allows those familiar with #webdev technologies such as HTML, CSS, and JavaScript to produce native apps without really needing to learn Objective-C, Cocoa, Java, and the Android SDK. Other solutions that produce the same or close to the same functionality as Appcelerator is Facebook’s React Native and PhoneGap (also known as Apache Cordova). And Many More.

This post isn’t really about whether building the app natively is better than using these frameworks to facilitate the process but rather what to watch out for in my short time working on Appcelerator’s Titanium and Alloy MVC.

Parameters on my retrospective: #

Android Gotchas #

Retrospective #

The Titanium framework works as expected for the majority of items you need for a native app. It has extensions to allow you to create modules for specific native implementations (written in native code ofc) that you might need otherwise. However the support it has for the Android platform compared to iOS may be tricky and daunting to trust so walk with caution especially for the points I highlighted above. While it may get some time to get used to doing CSS in the “TSS” way or HTML in the Alloy way, it is fairly intuitive to an experienced “JavaScript” developer. The JavaScript however is fairly limited in that the Ti objects are hard to debug and use and the JS code itself is generally just more strict in all aspects.

Pros:

Cons:

 
10
Kudos
 
10
Kudos

Now read this

Push Notifications on Java EE 5

This is a way to have “server push” notifications to the client’s browser without having AsyncContext available. With a distributed network system, you can’t just store notification messages into the cache and retrieve it quickly by... Continue →