写点什么

Delphi 希望成为你的下一个跨平台编程语言,面向 Windows、OS X、iOS 及 Android 开发原生应用

  • 2013-01-31
  • 本文字数:5278 字

    阅读完需:约 17 分钟

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 的规模太大,对苹果构成了威胁。我们的规模很小,对苹果不构成威胁,而且我们又遵守他们的游戏规则,所以他们还是很支持的。

2013-01-31 09:4810780

评论

发布
暂无评论
发现更多内容

鸿蒙系统之Codelab布局组件尝鲜

liuzhen007

华为 鸿蒙 5月日更

kotlin基础

ES_her0

5月日更

Dubbo 本地调用

青年IT男

dubbo

ThreadLocal不好用?那是你没用对!

王磊

Java 后端 多线程 ThreadLocal 5月日更

给Java小白,整理一套能上手的简单编程算法题!!!

小傅哥

Java 程序员 数据结构 算法 小傅哥

Python 包管理

若尘

Package Python编程 5月日更

找Matlab代码,看这一篇就够了

攻城先森

matlab 工具分享 5月日更

如何让消息队列达到最大吞吐量?

万俊峰Kevin

微服务 消息队列 Queue Go 语言

声网、新东方、伴鱼英语的音视频技术解读

Jessie

音视频 视频消音

华为云官网负责人明哥:我们是如何做到门面不倒,8个月挑战业界翘楚?

华为云开发者联盟

JavaScript node.js Serverless 云原生 大前端

xSocket框架接入需实现的接口

风翱

xSocket 5月日更

算法训练营 - 学习笔记 - 第六周

心在飞

一文带你读懂PyQt:用Python做出与C++一样的GUI界面应用程序

老猿Python

网络攻防学习笔记 Day12

穿过生命散发芬芳

5月日更 网络攻防

怎样做好服务提供方

程序员架构进阶

架构设计原则 服务化 28天写作 5月日更

VMWare中Ubuntu网络配置

进击的梦清

Linux 运维 vmware 网络配置

【LeetCode】停在原地的方案数Java题解

Albert

算法 LeetCode 5月日更

零基础学习 NLP-DAY3

Qien Z.

动态规划 nlp 5月日更

「学习笔记」《02 | 第一个程序:教你输出彩色的文字》之二

Nydia

学习

Golang 工作区和 GOPATH

escray

学习 极客时间 Go 语言 5月日更

Python自动打印文件

IT蜗壳-Tango

IT蜗壳教学 5月日更

无常中的僵硬与柔软

zhoo299

随笔杂谈 教育 生命 5月日更

作为最好用的可观测平台,如何监控 Grafana

耳东@Erdong

Grafana Prometheus 5月日更

深度剖析 | 关于数据锁定和读取一致性问题

VoltDB

数据库 数据分析 5G

cri-o 技术探秘2

xumc

精选面试题教你应对高级iOS开发面试官(提供底层进阶规划蓝图)

程序员 移动开发 ios开发

追寻软件定义的梦想汽车

车骑

自动驾驶 智能汽车 软件定义汽车 汽车制造

不忘过去,不畏将来

小天同学

5月日更 汶川地震 不忘过去

Arthas-技术专题-使用指南

洛神灬殇

Arthas 5月日更

最近又有出什么新电影,要不要停泊片刻,与好友相约一起来去看呢?

叶小鍵

OLAP计算引擎怎么选?

数据社

大数据 OLAP 5月日更

Delphi希望成为你的下一个跨平台编程语言,面向Windows、OS X、iOS及Android开发原生应用_移动_sai_InfoQ精选文章