Apple的iPhone和iPad如今或许是最有型的装备了——事实上,San Francisco博物馆的现代艺术部分(the San Francisco Museum of Modern Art)已将其在工业设计展览中展出。与它有型的外表相比,它的iOS设备却使用了一种相当古老的语言:Objective-C。这个语言在1980年代晚期就开始占据统治地位了,主要是Steve Jobs的NeXT用来为公司的工作站设计用户界面的。
Objective-C与大多数现代编程语言和脚本语言比如Javascript、Python、 Ruby相比,不够强大,且更难学,因此追随者也少。“世界上很少有人知道Objective-C了,” Jeff Haynie说。与此相反,“有八百万到一千万Web开发者知道Javascript和HTML。”与Apple类似,Google的Android也好不到哪里去,Android操作系统是基于Java的——另外一个即将消亡的过分讲究的语言。
Haynie的观点是,开发者没有必要再去学Objective-C或者Java去给当今发展最快的计算平台——智能手机和平板电脑写应用了。而这,就是Appcelerator公司得以发展的原因。Appcelerator公司是Haynie在2007年在Atlanta,GA与其他人联合创立的一所公司,并于2008年搬到了硅谷。这个公司在新的风投中已经获得了15,000,000美元,它主要的产品是一种软件,这种软件能让用Web语言编写的程序转化成在iOS和Android上一样跑的很好的移动应用,甚至能在Mac和Windows机器上运行。
现在iTunes应用商店中的500,000应用中,有几乎五分之一是基于Titanium开发的,Titanium是Appcelerator公司旗下的跨平台开源开发框架。这个框架最成功的案例是NBC Universal的iPad应用,这个应用可以让用户观看NBC节目、玩游戏等。“这个应用是由一个Javascript开发者在三个月内写成的。” Haynie说。而之前尝试用Objective-C开发这个应用,“花了四个人六个月时间,很贵,完全是一场灾难。”
Appcelerator并不是唯一一个可以让开发者避开为iOS或者Android设备写本地代码(用Objective-C或者Java写的代码)的公司。它最大的直接竞争者很可能是Rhomobile,一个由Motorola在十月收购的公司。Rhomobile创建了Rhodes,一个开源框架,这个框架可以将用Ruby写的应用转化为iPhone、Android、BlackBerry、Windows Mobile和Windows Phone的本地应用。但Rhodes主要是由企业用户的开发者使用,而Appcelerator更多用在消费者应用上,比如NBC的应用。
Appcelerator或许有一个更可怕的对手——HTML5。很多开发者使用HTML5来开发基于浏览器的游戏以及有着本地应用外观和感觉的应用,并直接通过浏览器发布它们,而不必再到Google或者Apple的应用商店获得授权了。如果HTML5能打破这一封闭、受控的应用程序生态系统,它将会切断Appcelerato的财路。事实上,Rhomobile的CEO Adam Blum说他认为Appcelerator“在HTML5的势头之下,处于一个完全不能获胜的境地。”但Haynie说Appcelerator也在为这样一个未来做准备,最近它收购了一个Palo Alto创建的名为Particle Code的公司,这个公司的软件产品能自动从其他代码库创建HTML5的应用程序。
但是,在目前,大多数移动开发者的选择顺序还是iOS、Android、Windows、HTML5。在这一广泛的平台分布下,开发者别无选择,只能去想办法开发跨平台的应用。Haynie说:“在我们看来,有四个拥有不同开发技能的团队是不理性的,对行业来说也不是长久之计。Appcelerator就能为改变这一状况派上用场。”
Appcelerator最开始并不是面向移动商务的公司。据Haynie介绍,他最初在军队中作为电子战技术人员(an electronic-warfare technician)工作,接下来在Southern Illinois University获得了计算机科学学位。他最终在Atlanta与人联合创立了一个名为Vocalocity的互联网语音公司(voice-over-Internet company),其中的八号员工Nolan Wright与他一起创建了Appcelerator,希望能将他们在帮助Web开发者创建语言呼叫应用时获得的技能排上用场。
Wright and Haynie在头一年通过合同应用开发支持公司,但他们主要的项目是Titanium。Haynie说这个平台最初是为Adobe的跨平台运行环境(cross-platform runtime environment)Air服务的。它能让Web开发者将Javascript、HTML代码以及CSS样式表转换成能在Windows和Mac OS X上运行的应用。
Haynie说,桌面工具仍然是他们产品的核心基础,但发展速度没有移动应用快。在Apple将iPhone开放给第三发开发的应用之后,帮助Web开发者构建移动应用成了Appcelerator 2008年的焦点,这一策略来自于Haynie的灵感。为更接近这一策略,公司重新分配了10个员工到Mountain View, CA,并开始调整Titanium让其能消化HTML和Javascript,生成Objective-C的本地应用。在2008年12月,Appcelerator获得了它的第一轮风投——4,100,000美元,投资者是courtesy of Storm Ventures。
现在,Titanium为人们所熟知是一种工具,这个工具能使原本用Web语言写的iPhone应用感觉起来像是用Objective-C写的。这个平台能让开发者让他们的应用感觉更像本地的,它提供给开发者数以百计的预先编译好的可定制的软件元素,从用户界面控件(按钮、选项卡、滑动条等)到集成的地图、相册浏览器等。它还提供一种代码,让开发者可以将他们的应用连接到云服务和移动ad网络(如Apple的 iAd)上去。
Haynie说,由于Appcelerator拥有的模块是随时间积累的,因此使用Titanium能为开发者节约大量时间,即使开发者原本就知道Objective-C。“如果你想要做一个包含视频或者增强现实(augmented reality)或者复杂UI的应用,你需要处理内存管理、垃圾回收等类似工作,这些如果用本地代码来完成需要好几千行代码,但用Titanium只需要三行代码。这能减少开销,提升速度。”
在Google凭借Android进军移动市场后,Appcelerator将Java也加入到自己的产品处理阵营中了。随后对BlackBerry OS和Windows Phone进军移动市场,Appcelerator也如法炮制。但Haynie十分谨慎,他说Titanium并非是“一次编写,随处运行”的。开发者仍然需要针对不同平台做一定的适应性修改。Haynie说,很多坏的产品就是在“一次编写,随处运行”的名义下写出来的。“我们认为这其中存在着80/20比例,即这个工具的80%都是可以跨平台的,但另外20%必须人工完成。”
像很多其他的初创公司一样,Appcelerator有一个增值定价模式(a freemium pricing scheme)。下载使用有基本部件的Titanium是免费的,但一旦对Titanium形成依赖,想要包含更多部件的话就需要升级到“Indie”并每月支付49美元。如果你想要获得来自于Appcelerator的支持、辅导和调试(support, handholding, and debugging),你就需要签订一个企业合同,每月支付499美元。
Appcelerator目前有115名员工,三个星期前,它结束了它的第三轮融资,这其中的投资者包括return backer Storm Ventures 、Mayfield Fund、 TransLink Capital、Sierra Ventures、strategic investors eBay和Red Hat。现在,它总共募集到31,000,000美元。有了这些新的投资,该公司计划扩张到欧洲和亚洲,在这些地方,iOS和Android刚开始控制市场。
这个秋天Appcelerator公布了它的开放移动市场(Open Mobile Marketplace),其中是来自于130个第三方开发者的与Titanium兼容的模块。这是为了进一步推广Titanium,为此,Appcelerator将会奖励那些开发了很容易移植到其他应用中的模块(例如皮肤模块、支付模块)的开发者。Haynie说:“这有点像Salesforce.com的AppExchange,第三方开发者可以围绕我们的平台开发模块和扩展包然后在这个市场中对这些模块和扩展包进行交易。”
但是是否本地应用就成了珍惜物种了呢?如果你最近在关注专栏,你会发现大量文章在预言iTunes App Store and 和 Android Market即将让位。由于HTML5正在发展,越来越多的开发者将有更多机会在智能手机和平板电脑中接触到以前只能在本地应用中接触到的功能。这一切都是因为HTML5的一些应用开始像本地应用一样自然舒适。
尽管Appcelerator在收购Particle Code上下了大赌注,但Haynie并不是太担心HTML5。事实上,据Appcelerator上周公布的一个调查,如今开发者最感兴趣的新的移动平台,根本不是HTML5,而是Amazon的Kindle Fire。
Haynie预言说:“未来将会是各个生态系统间的斗争,而这样的生态系统有很多。当然,Google和Apple将继续占据统治地位,但我们认为Windows也将在未来几年之内成为一个很大的玩家。我们将看到持续的分化,不仅是在操作系统,也在屏幕和设备上面。我觉得我们现在处在一个有利地位,因为最终公司都要接触到所有的生态系统和所有消费者,不管他们是什么公司。”