我想构建一个手机/平板电脑应用程序,其核心功能是用相机拍照、查看图片和接收通知。我还想针对 iphone、ipad 和 android 平台。
Titanium appcelerator 因其跨平台吸引力而引起了我的兴趣。然而我很担心,因为我在 SO 和其他网站上读过褒贬不一的评论。让我担心的是:
- 低于标准的安卓支持
- 相机支持不完全(例如 ios 4.1 HDR 功能)
- 相机支持越野车
对我来说,噩梦般的场景是在钛上投入时间,后来却发现它是一个主要的 PITA,然后放弃它并转向“本土”
请分享您的想法和经验。
我选择钛金属用于一项严肃的应用,尽管该应用不使用相机。我认为有很多因素可能会影响您的决定......
如果您的应用程序打算使用相机做“奇特”的事情,或者进行一些真正繁重的图像处理等,那么您最好选择原生应用。另一方面,如果您只是想让它拍照,然后将它们按原样使用,或发送到服务器,或者其他什么,那么 Titanium 应该可以正常工作。 Titanium 确实有一些处理和图像处理功能,但正如其他人所说,如果您真的想利用设备的硬件,您可能想要完全原生。
还应该指出的是,Appcelerator 也提到了这一点,即使用 Titanium 应用程序,您将不仅仅编写一个在所有设备上按原样运行的应用程序。您需要为每个设备(或设备类别,即 iPhone、Android)定制 UI,因为它们具有不同的 UI 和不同的标准 UI 流程等。
但是,Titanium 的潜在优势之一是,如果您不了解 Objective-C 和/或 Java,但您确实了解 JavaScript(就我而言,我实际上使用的是 Coffeescript:)。或者,如果您更喜欢编写 JS 而不是 ObjC/Java。这是我的主要原因之一。我过去做过一些 ObjC 开发,甚至不介意,但我正在做的这个项目的日程安排非常非常紧迫,而且使用 Titanium 对我来说会更有效。我能够非常快速地设置和构建应用程序,并且我不需要花费任何时间来更深入地熟悉我正在使用的编程语言、内存管理位(对于 Titanium,你不能完全忽略这一点,但本质上他们是为你做的)。根据我交谈过的人,以及他们在内存管理上花费了多少时间,Interface Builder 问题(这主要是容易忘记设置连接或连接各种东西,IB 实际上是一个非常好的工具),以及等等,我很高兴我使用钛。
虽然我希望在某个时候推出 Android 版本,但这并不是优先事项。但是,我很高兴知道我的应用程序代码的很大一部分将可以重用、测试等,并且我最终将主要只是构建/改造 Android 的 UI,而不是重写网络代码、数据管理, 等等。 Titanium 1.5 中的 Android 支持(据说)会更好,但如果优先考虑的话,您可能需要等待该版本来评估 Android。
最后,Titanium 确实有一个“模块”系统,允许您包装本机代码,将其公开为 Titanium 中的 JavaScript 接口。我们即将利用它来集成第三方库,至少对于我们所需要的,它看起来非常易于使用,并且让我更有信心,如果我们需要访问某些特定的本机功能,那么我们有很大的机会在仍然使用 Titanium 的同时集成它,但我认为这将取决于特定的本机功能是什么。
祝你好运,享受构建移动应用程序的乐趣,这非常有趣!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)