http://www.oschina.net/news/37312/cross-platform-delphi
Delphi 希望成为下一个跨平台编程语言
Delphi希望成为你的下一个跨平台编程语言,面向Windows、OS X、iOS及Android开发原生应用。
2008年,Borland将CodeGear出售给英巴卡迪诺(Embarcadero)。从此之后,英巴卡迪诺成为了Delphi和C++ Builder的所有者,也同时成为这两个产品背后的直接支持厂商。
自从Anders Hejlsberg离开Borland,投奔微软创建了C#之后,Delphi一直面临极大的压力。20世纪末,Web开发逐渐成为主流,B-S架构越来越多的取代了C-S架构,而Delphi在这个领域一直没有出现好的方案,进一步导致用户流失。
近几年移动设备的流行带来了App的爆发式增长,同时也带来了很多开发团队对于跨平台开发的困惑。同时开发和维护一个应用的iOS版本和 Android版本,被很多开发团队视为一个负担和问题。目前,HTML5及其周边的一些技术是最受人关注的跨平台解决方案,但是这个方案目前尚存在很多 问题。
这个时候,英巴卡迪诺表示,将在2013年陆续为其开发工具产品RAD Studio XE3添加对iOS和Android的支持工具包,让开发者编写的Delphi/C++应用可以同时在Windows、OS X、iOS和Android平台上运行。
按照目前的计划,Delphi iOS(Project Q)将在3月发布,Delphi Android(Zephyr)将在8月发布,而C++ iOS和C++ Android(Zephyr II)将在第四季度中期发布。(注:RAD Studio XE3本身已经在2012年9月正式发布。)
就此,InfoQ于近日采访了英巴卡迪诺亚太区及日本业务高级总监Malcolm Groves先生,询问有关这几个项目的进展情况。Malcolm Groves先生于1989年进入澳大利亚Westpac银行担任系统操作员,在1997年加入Borland从事C++开发。2006年 CodeGear从Borland拆分之后,Malcolm加入CodeGear,任亚太区销售与市场高级总监。2008年加入英巴卡迪诺之 后,Malcolm一直负责亚太区及日本的业务。他现在每个月都会在澳大利亚、日本、中国等国家之间穿梭,与客户和产品开发人员进行交流。
InfoQ:首先我想确认一下,RAD Studio XE3未来会加入的这个iOS和Android跨平台开发(Mobile Studio),意思是不是可以同时开发Windows、OS X、iOS和Android上的应用,就是同时跨桌面端和移动平台?
Malcolm Groves(MG):产品搭配是我们一个商务上的决定,一般是在产品开发的最后阶段做出来的。但是我也可以和大家分享一下:我们把客户分成2部分,有一 部分客户非常关注在4个平台上同时进行开发——这个主要是现有的客户,那么我们(针对他们)推出的这种工具包可以同时覆盖这四个平台。但是也有一些潜在的 新的客户,他们可能只是关注在移动平台上做开发,对他们我们也有另外的一种工具包。我们这2种不同的工具包可以适用不同的需求。
InfoQ:有些开发者觉得Delphi不适合做Web开发和移动开发,对此您怎么看?
MG:对于Web开发的评论,我在一定程度上是表示赞同的,因为一开始Delphi和C++ Builder都是针对桌面平台做的设计,包括它用的表格或者是网页这些相关的样式,都是在原有的情况下来建立起来的,所以并不是完全适用于Web。 Web应该有一个自己的、有特色的一个界面。如果要做Web开发,可能更好的选择是HTML5语言,所以我们也推出了HTML5 Builder这款产品。
关于移动这块,我们一直都没有一个Delphi编译器,所以Delphi不适合做移动开发这一点实在无从谈起。在1~2个月后我们的新产品问世后,就会来解决这个问题。
InfoQ:关于使用Delphi,很多企业还存在这样的困惑,就是优秀的Delphi开发者现在很少,很难找,一方面是就算找到了成本也很高,另一方面要培训一个好的Delphi开发人员出来还是比较困难的。您对这样的疑问会如何解答?
MG:招聘Delphi程序员的人力成本比较高,这一点实话来说,我们英巴卡迪诺是要承担责任的。成本高的问题实际上是一个供应方的问题。我们一直 以来都在关注Windows平台的开发,并没有着力在其他平台上发展,导致这方面人才的供应有限。我们希望能够通过新产品的推出,能够逐步的扩大这方面的 用户数量,同时扩大使用我们这些编程语言的开发人员的供应。我们希望如果这方面成功的话,再过一到两年会有一个足够规模的人才库,能够为相关的开发企业和 开发商们提供这方面的开发人员。
关于人员培训这方面,我想说的是,将懂得其他语言的程序员培训成为Delphi程序员并不难。我说一个我亲身经历的例子:我们有一个非常大的客户在 印度,承接了一个需要用Delphi开发的项目,但是他的团队当时只有C#和Java程序员。通过交流,我们做了一个项目培训的安排:先给程序员们做一周 的Delphi培训,然后直接让他们上手做3~4周的项目,最后再安排一周的培训,共计6个星期。通过这6个星期,虽然不能说他们成为了Delphi语言 的专家,但是他们使用Delphi开发的生产效率已经相当高了,完全可以满足生产需求。他们对使用Delphi开发的熟悉程度增长的很快,这主要也得益于 我们的开发工具所采用的直观的组件工作模式,可以大大缩短程序员培训和学习的周期。
InfoQ:RAD Studio产品有没有一些优惠或者折扣的推广计划?比如针对学院或者新企业用户的合作伙伴计划。
MG:我们在学院的项目其实力度已经非常大了,我们针对学生和学术机构的许可证设置了非常低的价格,有时候甚至是零价格,完全免费。当然,我们会根据市场的发展情况来进行调整。
关于给新用户的特别折扣,我觉得这个是有可能去考虑的,因为今年我们要推出新的技术和新的产品,有了产品,就要找到新的用户,把产品提供给他们。具体的相关计划还要根据时间的进展来制定。
我觉得对于我们来说,第一步是要有好的技术,然后才是去找好的客户。如果技术本身不好,找到客户也白搭。我觉得现在技术最难的部分,我们已经做好了。
InfoQ:现在的iOS和Android的Delphi开发工具包还在Beta版,现在你们主要是邀请现有的用户来试用Beta版,有没有考虑将Beta版开放给更多的外部用户?
MG:目前我们会直接给我们RAD Studio XE3的用户发送邀请,他们可以直接登陆我们的网站,下载试用Beta版本的各个工具包。对于外部的新用户,其实他们一直可以试用我们的Beta版产品,只要登陆beta.embarcadero.com,注册一个开发者网络的账号就可以直接去使用了。我们只是因为不了解他们,所以没有直接给他们发送邀请而已。
一般在我们刚刚进入新平台的时候,产品是很容易出错的,所以我们会启动一个规模很大的Beta,收集更多的测试反馈。我们在刚刚开始支持OS X平台的时候,就做了一个很大的Beta。现在扩展到移动平台,我们也需要一个很大的Beta。
InfoQ:目前有哪些使用了RAD Studio XE3开发出来的应用,能不能介绍一下?
MG:因为移动开发的工具包目前还在Beta,没有正式发布,所以现在可以提的例子只是针对Windows和Mac的应用。我就说两个吧。
第一个是一款叫做Beast的应用,它主要是为警方、FBI和其他司法部门提供证据追踪的服务。这个应用以前只是在Windows平台上的,客户一 开始使用RAD Studio XE2开发,最近升级到了XE3,直接将Windows应用移植到了Mac平台上面,所以现在已经有Windows和Mac这两个版本。现在开发团队也在 利用我们Mobile Studio的Beta版制作iPad上的版本,那么等到我们的iOS开发工具包正式发布之后,很快就能推出Beast for iPad的正式版了。
第二个例子的用户规模更大一些,客户是澳大利亚的国税总局。在澳大利亚,我们有一个退税制度,所有的纳税人在每年可以做一次退税,为此他们需要填写 很多表格来说明自己在今年赚了多少钱,交了多少税,然后根据这些提交的数据计算自己今年可以拿到多少退税。因为这个流程非常复杂,所以澳大利亚国税总局就 推出了一款叫做E-tax的应用,纳税人可以去国税总局的网站免费下载这个应用,用这个提交自己的纳税数据。这个应用的用户数量达到了数百万,其中不仅有 个人用户,还有税务会计师。这个应用就是用Delphi编写的,一直以来都是针对Windows平台的应用。过去几年,越来越多的用户表示希望这个应用能 够支持Mac平台,所以国税总局就在大约12个月前启动了这个项目,开发跨Windows和Mac平台的E-tax。他们一开始用XE2,后来升级到 XE3来进行这个开发。我同事和我每个月都要跟他们进行沟通,考察这个项目的进展情况。目前来看,还是很顺利的,应该能够在这个税务年度内发布这个新版 本。那么这个项目一旦成功完成,将会是我们基于FireMonkey(跨平台运行时)和XE3开发出来的、用户规模最大的一个跨平台应用。当然,我们很多 老Delphi应用的用户规模是远在此之上的,随着跨平台这种趋势越来越发展,以后会出现更大用户规模的跨平台应用。
说到这里,我想回顾一下这张图:
为什么我们对这块业务的发展充满信心呢,是因为我们现在的状态跟上世纪90年代初期的状态有些相似之处。
90年代初期,商业软件主要是企业内部开发,大量基于dBase、DOS系统。内部的开发者很多都是商务出身的,他们很聪明,但是他们对编程并不在 行。所以Windows开始流行起来之后,我们当时看到很多企业里面,员工平时操作都在Windows下,但是要用企业软件的时候,会在Windows下 打开一个DOS界面,进去那里面工作。因为把DOS上的应用移植到Windows平台上,对大部分企业内部的开发人员而言难度太大了。
那么后来,出现了Delphi,Visual Basic,Access这样的工具,Windows上的企业软件才逐渐多了起来。这个过程中,很多以前做DOS应用的公司没有跟上变化,逐渐消亡了;同 时,市场上诞生了很多新的独立软件开发商,比如做POS系统或是餐馆管理软件的一些企业,他们都在这个变革当中得到了壮大的机会。
在这之后,Windows迅速成为了行业内的老大。
那么现在,我看到了同样的一种情况。越来越多的终端设备开始使用其他的操作系统而不是Windows了。企业用户目前又落在了后面,因为移动时代的 Access或VB这样的工具还没有出现。的确,做iOS开发有Objective-C,我自己是做C++出身的,我个人感觉Objective-C比 C++要容易一些,但对于企业而言,还是很难。所以现在也是同样的一个趋势:业界很多一直做Windows应用的、垂直领域的大软件供应商,都还没有推出 基于平板或者移动终端的应用,那么这就再次给一些小型的独立软件开发商提供了崛起的机会。大概2、3个月前,我接触到一家公司,他们从前台到后台完全使用 平板电脑,一台PC机都没有。我想过一段时间,这样的公司会越来越多。
对于他们而言,在苹果和Android之间的选择也是一个两难,所以我觉得这是我们的一个机会。基于我们的跨平台开发工具,有可能在今年吸引到一大批新的用户。
InfoQ:这样听起来,RAD Studio是不是主要还是面向企业客户,而并非主要面向消费级市场的开发者们?比如游戏开发者?
MG:我们的客户群体本身是比较全面的,有最大规模的金融机构、政府机构,也有个人级别的开发者,包括一些编程爱好者。我们在产品开发和推广方面,并没有特别的优先考虑。当然,对于不同级别的客户,我们会推出不同版本的产品,侧重不同的方面。
RAD Studio当然是可以做游戏的。我在3~4个月前刚刚跟我们在韩国的一些游戏开发商们进行过交流。有时候这挺有意思的,因为你总是不知道你的用户会用你的产品开发出什么东西来,很多时候他们会做出很多令人惊喜的东西。
InfoQ:您刚才讲到上世纪90年代的那个变化,同时您也提到,Android的市场占有率在短短的两年时间内,从15%上升到 了50%。英巴卡迪诺现在的策略是跨iOS和Android平台,但是您觉得这种iOS和Android分庭抗礼的状态还能持续很久吗?未来是会趋向于上 个十年那样的单家垄断状态,还是会趋向于20年之前的那个群雄混战的状态?
MG:如果我能预测这样的问题,那我早就成为高帅富啦。我们能做的从来都是基于手头现有的数据做决策。
现在的情况是,苹果和Android的增长都非常快,那么Chrome OS,Firefox OS也获得很多关注,微软的Windows Phone也不知道能不能带微软东山再起。我上周在日本还听说一个传言,说联想可能会收购RIM,如果这样的话,RIM说不定也还可以重焕生机。总的来 看,我觉得Android的发展非常快,但不可能完全取代Windows。另外,在Windows霸权时代,当时只有一种终端,就是桌面机,这种单一性本 身也会影响到操作系统的发展情况。那么现在既然有这么多种不同形式的终端,所以长期来看,这个市场应该是会越来越多元化的。
InfoQ:你们有没有跟苹果沟通过,他们对这种第三方的开发工具是个什么样的态度?
MG:实际上,我们这边有很多同事离开之后都去了苹果,也有同事是从苹果过来的,所以对双方的情况也都比较了解。我们的确看到之前Adobe跟苹果 的一些矛盾,导致苹果禁用了Adobe的一些开发工具。所以是的,我们主动跟苹果做过沟通。沟通主要是向他们解释两点:第一,我们的开发工具具有很强的原 生性。第二,通过我们的工具开发出来的App,不会绕过苹果的App Store,可以保证他们30%的提成。这两点沟通清楚,苹果也看了我们用Delphi开发出来的应用提交至苹果应用商店的流程,对我们的态度还是非常支 持的。而且,苹果跟Adobe的矛盾,也是因为Adobe的规模太大,对苹果构成了威胁。我们的规模很小,对苹果不构成威胁,而且我们又遵守他们的游戏规 则,所以他们还是很支持的。