垂死或涅槃重生 -- 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的公布会的. 有人可能要问为什么是Embarca ...
- 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#基础] 泛型
为什么泛型? 在泛型中,最重要的应用便是集合类,因此我们模拟一个简单的集合类 对于上述示例,可以有如下应用 从上可看出,自定义的代码太丑陋了,只能用于string类型. 当然我们可以用object作为 ...
- PhoneGap-----Contacts
Everything in the code!!! <!DOCTYPE html> <html> <head> <title>Contact Examp ...
- 五、Linux/UNIX操作命令积累【cp、mv、cat、grep、ps】
在使用Linux/UNIX下,常常会使用文本界面去设置系统或操作系统,作者本人在工作的过程也在不断接触这方面的命令,所以为此特酝酿.准备.開始了本文的编写.本文主要记录自己平时遇到的一些Linux/U ...
- [Android学习笔记]获取view的尺寸和坐标
对于UI方面很多时候需要获取它的很多信息,具体情况见view的文档 View文档 http://developer.android.com/training/index.html 常用方法:获取vie ...
- java学习笔记04--数组
java学习笔记04--数组 数组复制的方法是使用System类提供的arraycopy()方法,其语法如下: System.arraycopy(Object src, int srcPos, Obj ...
- 11.4.2 排序或合并文件(sort命令) - 51CTO.COM
11.4.2 排序或合并文件(sort命令) - 51CTO.COM 11.4.2 排序或合并文件(sort命令) 2010-03-12 14:37 陆松年 电子工业出版社 我要评论(0) 字号:T ...
- java中super()和this()浅析
<span style="font-size:18px;">本质:这两个都是调用构造方法的方法.</span> 在java中,super()是在当前类的构造 ...
- 什么是Java “实例化”
实例化:对象也是引用数据类型,只能使用new运算符从堆中分配内存: 使用已经定义好的类,创建该类对象的过程称为“实例化”. 只有先实例化类的对象,才可以访问到类中的成员(属性和方法). 使用成员运算符 ...
- js关闭浏览器窗口事件
js关闭浏览器窗口 js关闭浏览器窗口,不弹出提示框.支持ie6+,火狐,谷歌等浏览器. <html> <head /> <body> <script typ ...
- java socket 的参数选项解读(转)
java socket中有很多参数可以选择,这篇博客的目的是沉淀出这些参数的语义和用法,供自己以后查阅. 1.java socket参数选项总览 在JDK1.6中有如下参数选项: 1 public f ...