Appcelerator Titanium

A very TL;DR: of what I love about Appcelerator Titanium:

  • Appcelerator Titanium is a proprietary platform. You need to sign up, log in and possibly pay monthly fee. Sure they have a a Github repo. But for the Github version there are no builds, no documentation.
  • the “cross-platform” UI is very limited. Good luck building anything more sophisticated than a button, picture, a line of text or a colored rectangle (To be fair, building UI frameworks is hard. A cross-platform UI is harder, and also a stupid idea)
  • each application ships with V8 Javascript engine. On Android the apps ship 3 copies of V8 for different architectures. Minimum APK size for “hello world” application is around or close to 10MiB. An native “hello world” application would be 50KiB.
  • Shitty support for native platform features. Anything beyond the “look! we can display a button which runs alert(‘hello’)” is either painful or impossible without mending the Titanium Mobile SDK. You can file a feature request or bug report on Jira, where it will join thousands of others
  • it’s not doing a good job of hiding platform differences. It’s not even trying that hard. There are platform-specific modules, and for the missing functionality you get to write platform-specific code yourself!
  • No ecosystem. Want to use 3rd party service for cloud services, push messaging, image processing etc? 3rd party services usually have iOS and Android SDKs. Obviously they would have no Titanium SDK, but you’re welcome to roll your own Titanium module…