While I don’t want to disparage web developers, because being a GOOD web developer is a real talent, Titanium actually has more in common with native mobile development than web development. And as soon as people understand that, the sooner those same people can really learn to use Titanium correctly and harness its full power and potential. So, are you ready to learn all the ways in which Titanium development is just like native mobile development? Because it really is.
6) Not all Ti devs are web devs.
However, what I do think is important to know is:
5) Being a mobile developer for 2 or more platforms is not easy.
Make no mistake: mobile applications development can be hard, even when you’re developing for just 1 platform.
Due to the ubiquity of mobile apps and the proliferation of many free apps — “there’s an app for that” — and the push in the US for children to start learning how to program early (which I agree is important), some people think that programming must be easy. And if programming is easy, then using a “cross platform, write once run everywhere language” like Titanium (another misconception addressed in my other blog post) to build a mobile app must be SUPER EASY.
Here’s the truth about Titanium developers: many of us are real software developers who have been developing software for years. Being able to build an app is more than just memorizing syntax, especially when things get very complex as with enterprise level systems, of which the mobile app is just one part of the whole thing. Add a web / cloud server to your system, for example, and things just got REAL. Even a stand-alone mobile app itself can get challenging quick once you start adding complex features like push notifications and integrating 3rd party apps like Facebook, all of which Titanium supports in its regular API.
4) You have to learn design patterns of all the platforms you’re developing for, and the differences between them (i.e. Android has the action bar, iPhone 6s now has 3D touch, etc).
And this is because Titanium compiles into native code – it is not a native wrapper around a web app. Because of these design pattern differences, you must also be vigilant about testing for both platforms AT ALL POINTS IN THE DEVELOPMENT PROCESS – LiveView can a be a lifesaver.
3) You have to test on actual hardware like real mobile devs because sometimes simulators don’t do the job – which means you have to buy and upgrade your test devices like a “normal” mobile dev.
You can’t test the camera function on an iOS simulator or 3D Touch! (Android Genymotion, though, can fake the camera function). You can’t test push notifications on either platform except on a device with a data plan.
2) Even so, you’re building and maintaining one baseline with perhaps 80% of the code shared.
1) Hyperloop has promise to add extra native functionality without creating modules, instead letting you write Android Java or Objective-C/Swift code and adding it directly into your Titanium project.
Hyperloop is an effort that Appcelerator started several years ago, and has been improving it ever since.
There you have it. 6 ways in which being a Ti dev is just like being a native mobile dev. I hope smashing the previous misconceptions about Titanium will help YOU to develop and use Titanium more effectively from here on out. Cheers!