4 ms·
Disagree, Titanium is not lowest common denominator. It takes a stance that you should develop your UI specifically for the deployed platform but gives you a co
by user49598 14y ago
Disagree, Titanium is not lowest common denominator. It takes a stance that you should develop your UI specifically for the deployed platform but gives you a consistent api for doing so.
With titanium the vast majority of your applications logic is un-touched between platforms and you generally have about 50% reusable front-end code.
If you structure your application properly, swapping out UI pieces by platform is simple.
- vlucas 14y agoI have worked with Titanium extensively and I'd say if you do it right, you have a LOT more than only 50% re-useable code -- probably closer to 80-90% that works perfectly cross-platform. Of course it depends a lot on what UI elements the project requires, so I imagine the range is quite large, but 50% still seems really low.
- Zigurd 14y agoUser interface is only the surface manifestation of OS architecture. Both Android and iOS have very distinctive userland technologies layered over open UNIX-like kernels. While a cross-platform SDK might give you access to almost all of both platform features, it is very unlikely to be able to abstract those features in a way that results in portable code. For example, Android's component-based app architecture runs very deep in Android implementations. If you subvert it, or plaster over it with an abstraction, you lose the ability to minimize your app footprint by having relatively small components "destroyed" or swapped out of memory in Android's unique approach to making Java memory management work across component and process boundaries. Windows 8 for mobile devices is yet another distinctive OS, with a unique kernel and similar, for still very distinctive managed language runtime, plus legacy compatibility. We're in an era of OS and managed language runtime innovation. Each one is striving to provide the optimal feature set, and that often involves the way in which apps and components of apps communicate and cooperate. plastering over the semantics of those large and deep architectural differences is going to result in a lowest common denominator result.