垂死挣扎还是涅槃重生 -- Delphi XE5 公布会归来感想
Delphi 是一个基本上被我遗忘的工具, 要不是在使用RapidSql , 我是收不到Embarcadero 公司发出的邀请来參加Delphi XE5的公布会的。
有人可能要问为什么是Embarcadero (名称很拗口)而不是Borland 开Delphi 公布会, 这是由于Borland那几年撑不下去, 把IDE工具打包成立了CodeGear 公司,已经被Embarcadero 收购了。
实际上十多年前以前參加过机械工业出版社主办的一个技术沙龙, 李维先生作为Borland 技术专家, 畅谈了“程序开发之道和未来软件开发趋势”。 形象生动,气氛热烈,我还有幸被抽中为一等奖,奖品似乎好像是程序猿大本营和李维的新书《Dephi 6/Kylix 2 (SOAP/Web Service)程序设计篇》。
当时记得最清楚的一个小细节时,李维问:你们其中有多少人在用O/R Maping, 大家面面相觑,没听说过 ,汗!
后来和一做J2EE的同学聊起来,认为可能是当时去听讲座的人大多是微软阵营(包含我),而微软当时的面向WEB开发的产品,比如ASP, IIS, ADO, COM+等并不十分注重J2EE所推崇的“模式”, “O/R Mapping” , 即使在Java 阵营, Hibernate 这种产品也刚刚出现,所以不知道也不为怪了。
10多年过去了, 李维当时的新书中提到的Kylix ,也就是Delphi 的Linux 版本号, 非常明显没有取得市场的认可,慢慢的就从大家视线中消失了。
不不过Kylix, Borland 公司的非常多明星产品, 也在时代的变革中,编程范型的转化中, 慢慢的褪去光环,用户越来越少,社区越来越小。
Delphi 作为C/S 时代的王者,没有跟上B/S , 互联网时代,非常快被Java 代替了主导地位。 而它的昔日老对手VB 已经傍上了.NET这个大款,衣食无忧。
JBuilder 因为受到IBM支持的Eclipse 的强劲冲击,功能不见得比Eclipse率先多少,在平台,社区的开放度上更是差的非常远, 非常快就难觅踪影。
10年在IT界显得太长了, 改变了非常多东西, 甚至Borland这样一个以前伟大的公司都已经不存在了。
所以当我坐在公布会的现场,突然产生了一种恍惚感。
李维看起来甚至比10年前还年轻一些,他在旁边候场的时候居然没有认出来 :-)
演讲依旧非常精彩,笑点非常多, 仅仅是非常多台湾的术语须要在脑子里略微翻译一下。
现场演示也非常棒,充分展示了XE5的功能,细节我就不啰嗦了, 大家能够在网上看到。 我仅仅记录一下印象深刻的几点:
- 多设备开发是以后的方向,现场统计大部分人都有3台以上的设备,Desktop, Laptop, Pad, Mobile Phone
- Delphi XE5 不会支持Windows Phone, 由于MS在移动市场的占有率是在是太小太小了
- 将来会支持穿戴式设备的开发,Glass, Smart Watch
- Delphi将来会倾向于做Backend as a Service (BAAS) , 把后端的数据和处理能力用REST+JSON 暴露, 让移动端轻松訪问
- 把传统的Delphi应用移植到Mobile非常easy (当然或许李维仅仅是举了一个灰常简单的样例)。
- 在Mobile上开发有非常多不同于传统Delphi开发的Best Practice, 比如List 的数据Load
- FireMonkey 确实强大,把不同的设备和平台做了抽象, 让程序猿能够直接使用FireMonkey 提供的UI来编程,抛开iOS,Android 的UI细节, 但我觉得这是一把双刃剑,抽象确实能方便开发者, 但同一时候会丧失一些”个性“ (比如特殊的UI),为了弥补这些“个性”,可能须要花费巨大的精力
总之界面也是一如既往的熟悉, 操作还是一如既往的方便,速度还是一如既往的快, 最重要的是一份Delphi Code 能编译生成多种平台和设备的Native Code, 充分展现了Delphi在编译领域一直以来的强悍实力, 不知道像IBM, MS,前Sun公司有没有实力做出类似的产品。
可是我始终认为这是Delphi的最后的挣扎。
Delphi 变成了Embarcadero 的产品,那个以前的王者,非常明显在桌面开发中已经没有阵地了, 仅仅好拼命向现在的热点移动开发转移,開始支持iOS, Andriod 开发。
可是现在的Delphi社区确实是非常小了,老一代使用Delphi的程序猿中究竟有多少人这么多年来还在坚守? 有多少人已经转向了Java ,.NET 平台以及PHP,Ruby 等后起之秀?
甚至Mobile ?
Delphi的坚守者有多少人会转向 XE ,学习FireMonkey 用它来开发Mobile应用程序?
新一代的没实用过Delphi的程序猿,大部分都是直接学习XCode, Object-C ,还有Android 开发, 他们其中有多少人会愿意学习Object Pascal 语言, 进而用Delphi来开发?
假设是我,恐怕是不愿意的。
不知道作为Delphi之父,如今身在微软的Anders Hejlsberg, 看到这种Delphi,会做何感想?
据李维讲,C++ Builder 也会在今年推出新版本号,支持iOS和Android应用程序开发, 和Delphi类似,我对这个产品的前景也非常悲观。
另外,小米手机不知道为什么出了问题,照的照片非常模糊,凑合着上个图吧:
垂死挣扎还是涅槃重生 -- Delphi XE5 公布会归来感想的更多相关文章
- 垂死或涅槃重生 -- Delphi XE5 我们将宣布感情的回归
Delphi 在很大程度上是一个被遗忘我的工具. 无论是在使用RapidSql , 我还没有收到Embarcadero 本公司发行参与邀请Delphi XE5该公告将. 可能有人会问,为什么Embar ...
- Delphi XE5 支持的Android 版本
Delphi XE5 已经支持Android应用开发. 那XE5支持Android的哪些版本呢?Delphi编译的APP能部署到Gingerbread (2.3.3-2.3.7), Ice Crea ...
- DELPHI XE5 与SQLITE
最近一次使用DELPHI做项目是使用DELPHI2009,为了访问本地数据库方便,使用ACCESS数据库,不需要安装驱动,(WINDOWS自带),但是ACCESS数据库的性能确实很糟糕,通过ADO连接 ...
- Delphi xe5 手机开发经验(新手级别)
Delphi xe5 手机开发经验(新手级别) http://diybbs.zol.com.cn/1/34037_699.html http://www.delphitop.com/html/jiqi ...
- delphi XE5下安卓开发技巧
delphi XE5下安卓开发技巧 一.手机快捷方式显示中文名称 project->options->Version Info-label(改成需要显示的中文名即可),但是需要安装到安卓手 ...
- Delphi XE5 常见问题解答
Delphi XE5 常见问题解答 有关于新即时试用的问题吗?请看看 RAD Studio 即时试用常见问答. 常见问题 什么是 Delphi? Embarcadero? Delphi? XE5 是易 ...
- DELPHI XE5开发WEB服务器及安卓手机客户端
Xe5开发web服务端和手机客户端 ------------------------------------- Delphi xe5作为最新开发利器,就类似如当年的DELPHI,功能强大,快发速度快, ...
- Delphi XE5 如何与其他版本共存
如果你想使用Delphi诸如XE4.XE3.XE2.XE之类的版本跟Delphi XE5共存的话,在cglm.ini中简单修改两行就行啦. 找到Delphi XE5的安装根目录C:\Program F ...
- Delphi XE5 与其他版本共存
来源于http://www.board4allcz.eu 作者是gateway 如果你想使用Delphi诸如XE4.XE3.XE2.XE之类的版本跟Delphi XE5共存的话,在cglm.ini中简 ...
随机推荐
- C#中使用正则表达式提取超链接地址的集中方法(转)
一般在做爬虫或者CMS的时候经常需要提取 href链接或者是src地址.此时可以使用正则表达式轻松完成. Regex reg = new Regex(@"(?is)<a[^>]* ...
- scrollView的几个属性contentSize contentOffset contentInset
01- ontentSize是scrollview可以滚动的区域 比如frame = (0 ,0 ,320 ,480) contentSize = (320 ,960), 代表你的scrollvie ...
- simplemodal — jquery弹出窗体插件
方式一:使用jquery-1.7.1.min.js(1.9.1的版本我试过了,不行) + jquery_modal.js的方式 文件: testModel.css: /* Overlay ...
- prim(与边无关,适合稠密的图,o(n^2))---还是畅通工程
题目1017:还是畅通工程 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:1653 解决:838 题目描述: 某省调查乡村交通状况,得到的统计表中列出了任意两村庄间的距离.省政府“ ...
- Guid 的几种形式
Guid.NewGuid().ToString()得几种格式显示 1.Guid.NewGuid().ToString("N") 结果为: 38bddf48f43c485 ...
- Lombok 安装、入门 - 消除冗长的 java 代码(转)
前言: 逛开源社区的时候无意发现的,用了一段时间,觉得还可以,特此推荐一下. lombok 提供了简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的 java 代码.特别是相对于 ...
- 浏览器加载和渲染html的顺序-css渲染效率的探究
1.浏览器加载和渲染html的顺序1.IE下载的顺序是从上到下,渲染的顺序也是从上到下,下载和渲染是同时进行的.2.在渲染到页面的某一部分时,其上面的所有部分都已经下载完成(并不是说所有相关联的元素都 ...
- myeclipse安装svn插件的多种方式
开发者服务评测征文 十万现金悬赏大神 方法一:在线安装 1.打开HELP->MyEclipse Configuration Center.切换到SoftWare标签页. 2.点击Ad ...
- lightoj 1011 (状态压缩dp)
思路:状态压缩dp,设dp[i][j] 表示前i行,状态为j时的最大值,状态定义为:若前i行中取了第x列那么j的二进制位中第x位为1,否则为0,最后答案就是dp[n-1][(1 << n) ...
- NodeJS 框架 Express 从 3.0升级至4.0的新特性
NodeJS 框架 Express 从 3.0升级至4.0的新特性 [原文地址:√https://scotch.io/bar-talk/expressjs-4-0-new-features-and-u ...