垂死挣扎还是涅槃重生 -- 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中简 ...
随机推荐
- Win2003部署Framework 4.5框架的MVC4项目
[一篮饭特稀原创,转载请注明出自http://www.cnblogs.com/wanghafan/p/4554672.html] Win2003中IIS6部署Framework 4.5框架的MVC4 ...
- M-JPEG和MPEG-4的区别 M-JPEG VS MPEG
http://blog.sina.com.cn/s/blog_4b357b300100gre9.html M-JPEG VS MPEG http://blog.csdn.net/bluesky_sun ...
- char 和 varchar
固定长度或可变长度的字符数据类型. char [ ( n ) ] 固定长度,非 Unicode 字符数据,长度为 n 个字节.n 的取值范围为 1 至 8,000,存储大小是 n 个字节.char 的 ...
- 常用linux命令合集(持续更新中)
我的博客:www.while0.com 开发调试 readelf-a 查看elf文件中的内容 hexdump -C 用16进制查看文件 objdump -d 反汇编目标文件 nm 查看目标文件或者可执 ...
- 海量数据的二度人脉挖掘算法(Hadoop 实现)
最近做了一个项目,要求找出二度人脉的一些关系,就好似新浪微博的“你可能感兴趣的人” 中,间接关注推荐:简单描述:即你关注的人中有N个人同时都关注了 XXX . 在程序的实现上,其实我们要找的是:若 U ...
- BZOJ_1615_[Usaco2008_Mar]_The Loathesome_Hay Baler_麻烦的干草打包机_(模拟+宽搜/深搜)
描述 http://www.lydsy.com/JudgeOnline/problem.php?id=1615 一个主动轮带着一些轮子转,轮子带着轮子转,轮子带着轮子转...一个非主动轮只会被一个轮子 ...
- 微支付开发(.net)
最近一周多进行微支付开发工作,总结一下关于微支付开发中遇到的问题. 如写得不对请大家提出,第一次自己写文章.嘿嘿... 1.申请微支付,登陆公众平台后(公众号为服务号并已认证),进入“服务”-“服务中 ...
- 深入理解OAuth2.0
1. 引言 如果你开车去酒店赴宴,你经常会苦于找不到停车位而耽误很多时间.是否有好办法可以避免这个问题呢?有的,听说有一些豪车的车主就不担心这个问题.豪车一般配备两种钥匙:主钥匙和泊车钥匙.当你到酒店 ...
- [转]ASP.NET MVC 入门6、TempData
ASP.NET MVC的TempData用于传输一些临时的数据,例如在各个控制器Action间传递临时的数据或者给View传递一些临时的数据,相信大家都看过“在ASP.NET页面间传值的方法有哪几种” ...
- 测试一个函数的运行时间(C++)
#include <ctime> static clock_t Start,Finish; Start=clock(); fun(); Finish = clock(); double t ...