有关 Appcelerator 的那些事之 Ti.Next

  • Martin Monroe
  • 孙镜涛

2013 年 8 月 23 日

话题:移动AppleAndroidDevOpsiOS语言 & 开发架构文化 & 方法

通过这个分为两部分的帖子和对 Appcelerator 公司最新开发者调查的仔细分析,我们仅仅能够挖掘出 Appcelerator 公司对移动生态系统深远重要性的表面内容。因此请关注 InfoQ 对 Appcelerator 这个重要公司的相关后续报道。

CEO Jeff Haynie 最近在 Appcelerator 的网站上发布了一篇帖子“Ti.Next 思考”,在该帖中他谈论了流行的 MBaaS 提供者 Appcelerator 之所以忙于改进Titanium 的原因。

正如 Jeff 所说,到目前为止开发者在使用 Titanium 的过程中遇到了很多问题,导致他们无法舒服的编写代码。

我们见过大量的案例,在这些案例中劣质的应用程序逻辑运行地很糟糕而优秀的代码却执行地非常快…仅仅最优化了代码并且和编写它的开发者一样好。但我们会尽可能地减少这种情况。

Haynie 说,他们的多平台 IDE Titanium 现在已经过时了。

和所有的代码库一样,经历了这么多年和这么多变更之后,代码难免会有一定程度的腐化。

下面是当前的状态和 Titanium 更新的时间表:

  • 3.1.1 当前版本——主要包括 BB10 试用版、Android 2.3.3 支持
  • 3.1.2 预计在本月更新
  • 3.2 在秋季或者和 iOS7同时发布——提供更好的 Android 动画支持,并改进了 CLI
  • 4.0 =Ti.Next——发布时间未知——将包含背景处理、自动布局和 Win 8 支持

在 2013 年 6 月 27 日举行的TiConf.us 上,Jeff 阐述了 Titanium 将来的愿景。他列举了性能、速度以及快速地将移动计算的优势带到企业基础设施中等内容,为了实现这些几乎完全重写了 Titanium 的核心引擎。

在当前版本的 Titanium 中,一个跨桥的操作能够快到 10ms。我们的目标是次微妙级的操作…事实上,我们认为通过使用FFI的直接程序集(ASM)代码生成流程,我们能够在大多数情况下获得比纯本地代码(例如 iOS 系统上的Objective-C)更快的速度。

在 Ti.Next 中,我们创建了一个小的微核设计能够让我们在本地语言(CJavaC#等)中使用最少的引导代码与通用编译器集合、工具以及单独的 JavaScript 虚拟机通信。我们找到了一种方式能够让 WebKit KJS VM 在多种平台上运行,而不是在每种平台上使用不同的虚拟机。这意味着我们能极大地优化微内核(或者说 Ti 运行时),并且能够极大地简化维护、优化和概要分析工作。

社区对从 Appcelerator 网站上发现的有关于 Ti.Next 的新闻更是喜忧参半。 Joe 说:

2013 年 7 月 4 日上午 6:42

在 iOS 上使用现在的 Ti 3.1.1 的性能和本地 API 一样,我真的说不出任何不同。

我非常赞同文章中的观点,性能确实依赖于架构、代码逻辑以及开发者的优化与经验。

对 Ti.Next 充满好奇和期待。

而社区成员 Conny 则更关心 Ti 对他的 OS 的支持。Conny Svensson 说:

2013 年 7 月 4 日上午 1:23

这听起来非常吸引人,但是我非常想知道具体的时间表是怎样的,因为这将是第一个支持 Windows Phone 8 和 Windows 8(是真的么?)的版本。之前有消息说支持 Win 的版本将会迟些发布(第一次透露消息是在 2013 年上半年),这让我感觉可能是在 2014 年初,同时因为是第一个版本所以它可能会有点不可靠。我有客户不停地问我什么时候能够迁移到 Windows Phone 8。我告诉他们是今年的晚些时候,但是现在我真的不知道再告诉他们什么。

开发者应该做好对他们现在和将来的 Titanium 应用做必要改变的准备,例如弃用的iOS5 支持。但是也没有必要感到头痛,因为 Ti.Next 依然在实验中。

查看英文原文Ti.Next-What’s It All About Appcelerator?- Part 2 of 2

移动AppleAndroidDevOpsiOS语言 & 开发架构文化 & 方法