【ArchSummit】如何通过AIOps推动可量化的业务价值增长和效率提升?>>> 了解详情
写点什么

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:4810672

评论

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

架构实战营1期模块6作业——微服务架构

tt

架构实战营

LeetCode刷题09-简单 回文数

ベ布小禅

8月日更

从λ演算到函数式编程聊闭包(2):彻底理解JavaScript闭包规则

zhoulujun

闭包 闭包函数

模块一

树建

架构实战营

太厉害了!腾讯T4大牛把《数据结构与算法》讲透了,带源码笔记

编程susu

Java 编程 程序员 计算机 技术宅

本科毕业六年,裸辞备战三个月,四面阿里巴巴定级P7

编程susu

Java 编程 程序员 面试 计算机

特斯拉依旧头铁坚持视觉路线,激光雷达会笑到最后吗?

脑极体

正经人一辈子都用不到的 JavaScript 方法总结 (一)

编程三昧

JavaScript 大前端 8月日更 模板字符串 String.raw

Go,一文搞懂 defer 实现原理

微客鸟窝

Go 语言 8月日更

Linux之nc命令

入门小站

Linux

百度地图开发-显示实时位置信息 04

Andy阿辉

android Android 小菜鸟 Android端 8月日更

Go- 函数执行时间

HelloBug

Go 语言 函数执行时间

数据挖掘经典算法之K-邻近算法(超详细附代码)

Python研究者

8月日更

下载超过10万次?阿里大佬的《高并发、性能调优笔记》一战封神

Java架构师迁哥

JS遍历循环方法性能对比:for/while/for in/for of/map/foreach/every

zhoulujun

foreach map for for in

使用明道云搭建电梯维修与保养系统

明道云

在线JSON转YAML工具

入门小站

工具

混合模型与期望最大化算法(三)

数据与智能

算法 混合模型

每天学习10个实用Javascript代码片段(五)

devpoint

定时器 JavaScrip 8月日更

ShardingSphere Proxy 初步体验

ShardingSphere-Proxy

微信业务架构图 & 学生管理系统方案

缘分呐

架构 设计

模块(一)什么是架构

我是一只小小鸟

JIT-动态编译与AOT-静态编译:java/ java/ JavaScript/Dart乱谈

zhoulujun

dart JIT AOT 动态编译 静态编译

从λ演算到函数式编程聊闭包(1):闭包概念在Java/PHP/JS中形式

zhoulujun

闭包 闭包函数

Go- 递归函数

HelloBug

递归 Go 语言

3 分钟了解 JSON Schema

程序员鱼皮

Java json 数据库 大前端 后端

网络攻防学习笔记 Day115

穿过生命散发芬芳

网络安全 8月日更

实时数据引擎系列(二): 批流一体的数据

tapdata

Go- 闭包函数

HelloBug

网络上数据通信过程

一个大红包

8月日更

客户需求难以推进和实现?企业如何有效管理项目需求?

优秀

项目管理

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