3 ms·
I'm currently developing an app, targeting both iOS and Android, using Titanium. So far it's going great - I have one codebase with only a few platform specific
by M4v3R 14y ago
I'm currently developing an app, targeting both iOS and Android, using Titanium. So far it's going great - I have one codebase with only a few platform specific branches for UI, and completely platform independent business logic.
It's remarkable how little code you have to write to achieve good results with Titanium. Plus, contrary to what article saids, you CAN use external Javascript libraries, but they have to be adopted to CommonJS before usage. There are also many components written by the community.
The downside of Titanium is that they don't cover 100% of APIs that both platforms provide. For example, there is no Radio Button / Radio Group APIs for Android, you have to invent your own solution. I'm sure there are more gaps like this. But even considering this, you'll probably end up having a working prototype much faster using Titanium.
Edit: For anyone more experienced - is there a better Android emulator out there? The stock one is painfully slow, compared to iPhone Simulator.
Edit 2: Developing with Phone Gap seems attractive, but then you dive in and discover that you have to either load up enormous UI library to mimic native behaviour (which always is far from perfect) or reinvent the UI and touch mechanics yourself. Ouch.
- scriptproof 14y agoThank you for sharing your experience. That is what I expected in the article, actually.
- lucian1900 14y agoUsing a virtualised Android (x86) tends to help. Also, make sure your emulator image is set to take snapshots at shutdown, to make start-up time reasonable.
- briancooley 14y agoIn my experience, the best way to test Android is on device(s). You're going to want to test on device anyway, and it's very easy to do, so just skip the emulator. Keep in mind that the iOS Simulator is a simulator, not an emulator. You'll have the full CPU and memory of your dev box, so there will be a fair number of bugs that occur on the device but you won't see in the simulator.[1] [1] A tool that's useful for testing in the iOS Simulator is Network Link Conditioner, which allows you to simulate 3G connections on your dev box. You can download it from developer.apple.com through your developer account. From XCode: click on the menu item XCode>Open Developer Tool>More Developer Tools... and you'll be taken to a web page with a downloadable disk image containing the Network Link Conditioner Systems Preferences pane under Hardware I/O Tools.
- sgt 14y agoAnother upside of Titanium (I'm busy with an app using Titanium) is that it's open source. See something that's not implemented? Hack some Objective C (for the iPhone client) and build Titanium, done. So you're essentially free to do what you want. However, what I've also noticed that is that doing an iPhone-only app in Titanium definitely didn't go faster than doing it in ObjC, I'd say about the same speed. But that's my experience, for the app I'm doing now.