Android 使用Appcelerator钛(或同等材料)的缺点?

Android 使用Appcelerator钛(或同等材料)的缺点?,android,ios,mobile,cross-platform,titanium,Android,Ios,Mobile,Cross Platform,Titanium,我们公司大力推动跨平台(iOS和Android)开发。Appcelerator Tianium正在考虑(而且似乎是唯一考虑的)在不增加开发时间的情况下实现多平台开发 这里的每个人都能想到使用钛的理由。出于反对使用Tianium的原因,我猜Tianium生成的“原生”应用程序的性能可能不如用Objective-C编写的iOS应用程序。差异有多大?是否有其他原因不使用钛(或同等材料) 注意:我可能会写钛合金,但原因可能不仅仅是钛合金。支持使用平台语言(如Objective-C、Java)进行编码的所

我们公司大力推动跨平台(iOS和Android)开发。Appcelerator Tianium正在考虑(而且似乎是唯一考虑的)在不增加开发时间的情况下实现多平台开发

这里的每个人都能想到使用钛的理由。出于反对使用Tianium的原因,我猜Tianium生成的“原生”应用程序的性能可能不如用Objective-C编写的iOS应用程序。差异有多大?是否有其他原因不使用钛(或同等材料)

注意:我可能会写钛合金,但原因可能不仅仅是钛合金。支持使用平台语言(如Objective-C、Java)进行编码的所有理由都符合要求

差异有多大

好吧,钛将产生目标C,所以除非他们的东西效率非常低,否则我不认为速度是个大问题

是否有其他原因不使用钛(或同等材料)

这取决于你如何定义“等价物”

就个人而言,当我进入跨平台应用时,我希望我会使用PhoneGap。这有一个原因:标准

使用PhoneGap,您可以编写HTML、CSS和JavaScript,就像编写HTML5离线应用程序一样。PhoneGap所做的只是将其转化为一个可安装的软件包(例如,Android的APK),并让您选择使用专有API来获取特定于设备的内容。他们的期望仅仅是填补移动设备上支持HTML5和移动设备上支持原生应用之间的“鸿沟”。见鬼,甚至是以他们的名义。:-)

因此,您正在编写的技术与您在基于Web的应用程序中使用的技术相同,它甚至可以共享一些客户端代码。您可以使用移动框架中的任何内容(例如,Sencha Touch、jQuery mobile)。而且,如果有一天应用商店支持HTML5离线应用,如果你不严重依赖设备集成功能,你甚至可以完全放弃PhoneGap

Tianium允许您使用JavaScript编写,但标准遵从性基本上到此为止。您正在为所有内容使用专有API,包括整个UI。就个人而言,我更愿意支持一种更受欢迎的方式——在本例中是HTML5,而不是PhoneGap。如果没有其他原因的话,雇佣精通HTML5的开发者要比雇佣精通钛的开发者容易得多

PhoneGap、钛合金以及其他众多选项(如Rhodes、Flash/AIR)都无法为您提供所有设备功能。这些引擎在可扩展性方面会有所不同——我知道PhoneGap有一个插件模型,Flash/AIR几乎只是您从Adobe获得的,我不确定是否还有其他引擎


Tianium有一个优势:您可以获得接近本机的UI,而不是基于HTML的UI。(我之所以说“接近本机”,是因为他们的一些小部件不一定在所有平台上都有本机等价物,所以他们会根据需要推出自己的小部件)对于一些应用程序和一些受众来说,仅此一点就可能使事情偏向钛业。

钛业/iOS特定的答案,我的2c

国产iOS vs钛合金 专业人士

  • 它的速度几乎和本地的一样快
  • 编写工作原型所需的时间要短得多
  • 如果需要集成javascript遗留代码或库,只要不使用dom,它就可以工作
  • 您的javascript代码需要有很好的间距,并在需要的地方包含半列,否则编译器会抱怨并最终中止构建
  • 您可以使用Coffeescript或编译为js的任何其他语言
  • 自动内存管理是一流的,在objc中获得相同的结果总是非常耗时,有时需要大量调试
  • 您可以用本机代码编写自己的模块,以扩展Titanium的功能
  • 它是开源的
  • 他们最近改变了他们的支持服务,取消了5个应用程序的限制,价格更实惠
  • 您可以在模拟器中运行应用程序时更改视图js代码,当您重新加载正在编辑的视图时,您将看到结果。这是一个好处:)(例外:据我所知,没有办法在app.js中重新加载代码)
缺点