Delphi 2010已于近日由Embarcadero公司发布。作者Kim Madsen作为一名资深的Delphi开发者,在他的博客中谈到了Delphi 2010的新性能、它的使用感受以及对Delphi语言未来的期望。博文如下:

Delphi 2010使用的第一感觉是:是时候为它抛弃Delphi 7了。

Delphi 2010比以往的Delphi版本都要快,而且它保留了一些Delphi 7的特性,比如可以将旧的条形控件(componentbar)找回。但这同时也带了相关的问题(比如在重启Delphi 2010之后componentbar的位置看起来挪动了),不过这只是细节问题,相信在之后的修补中会解决这个问题。

在D2005, D2006, D2007和 D2009中,IDE中都有不少漏洞,以至于内存会迅速被泄露导致IDE以及电脑的其他部分特别地慢。尽管从D2005到D2009,Delphi已经做了很多努力,但这种漏洞仍然存在,开发者不得不经常重启IDE来避免内存泄露。

然而在Delphi 2010中我们欣喜地发现内存泄露的问题得到了解决,以前我从事很复杂的项目开发,很难做到个把小时都不重启电脑,但现在已经不用重启了。另外,IDE的响应也得到了显著的提升,启动时间比D2009快了不少。

D2010还有许多其他组件的性能提升,但我个人感觉新增的手势支持(gesture support)是个很有趣的特性。手势支持(gesture support)的意思是你可以做出特殊的鼠标移动来向应用发送一个命令信号。就好像是用的不是鼠标而是触摸屏,因此也有可能做出像iPhone的触摸屏一样的界面。我想这是一个很重要的特性,除了手势性能以外,更大的意义在于它表达出了Delphi在桌面端的发展方向。

以前我曾写博文诟病过Delphi在桌面领域的表现,因为像Adobe Flex和MS WPF等开发工具功能强大而齐全,可以以相对简单的方法开发出很酷的客户端应用,而用Delphi却很费劲;我也曾诟病过Delphi在服务器领域的表现,而且它的市场由于Java和.Net而大幅缩水,而且由于缺少跨平台的兼容性、抛弃传统的Kylix编辑器而丧失了Linux的支持,Delphi在竞争对手面前沦为开发者的末端选择。这种境况在今日仍然如此,但是在过去的六个月中,Embarcadero公司宣布计划将支持Mac和Linux的跨平台编译,无疑这是Delphi向前发展的一大步。

由于全新的手势支持以及跨平台的计划,Delphi在未来几年有望赢过竞争对手并重新夺回市场份额。当然这取决于跨平台特性的最终性能,而且Embarcadero也不应当放松对手势支持的控制和研发,毕竟这是它桌面应用的方向。

那么Delphi还应当在哪些方向继续努力呢?

*改良数据绑定。现在的Delphi唯一的绑定是用特殊的数据源绑定有意识的控制(TDataSource和TDBxxx组件)。这一特性在当年刚推出的时候非常酷,但是它现在已经被.Net和Adobe Flex/Flash 4超越,因为.Net和Adobe Flex/Flash 4有两种方式可以将任何属性绑定到其他属性。因此,需要抛弃现有的Delphi DB控制,增加先进的自动的两种绑定方式。

*优化现有的TCanvas和Device Contexts,从而可以将任何控制放在画布(Canvas)上,让画布自动浮动在3D空间。这将给开发者带来新的用户界面,比现有的2D更有感觉。举个例子:在显示器帧值一定的情况下,如果你想呈现产品清单软件中的多个产品的细节,你就要经常使用目录,点击列表中的项目以在窗口上显示产品的细节,或者添加许多产品标签才能实现。然而这两种方法都不能同时展现产品和信息。如果使用Apple CoverFlow会怎样呢:就可以在3D空间中展示产品信息了。结合手势控制和触摸屏,开发者使用手指就可以浏览产品。虽然它的硬件要求比2D更高,但是现在即便最普通的PC都可以满足这一要求。

在服务器端,我的期望是Delphi可以实现单一来源、多平台支持。

语言特性方面,我期望Delphi:

* XML和正则表达式成为语言的一部分。XML不消多说,正则表达式在字串匹配和许多应用使用的解析设备方面非常有用。为什么不让它们成为Delphi语法的一部分呢?实际上,查看XML的E4X EcmaScript,可以将XML直接整合到语言中,所以看起来Delphi应该可以很自然地使用XML。

除此之外,Embarcadero的开发者还应当考虑如何解决下面的任务来更好地做好Delphi的开发:

* 应用的打包和分配;

*尽管存在各种第三方安装工具,但如今分配到Win32环境还是很复杂。主要的原因是因为需要其他开发工具和语言来创建相关的安装脚本,而且这些脚本的更新周期很快,需要持续不断地更新。

*文档在源代码内提供了各种注释,因而某种程度上它已经成为了开发过程的一部分。我个人很讨厌这种方法,因为它将源散落得到处都是,而现在的文档则是分离式的也很不方便。因此IDE需要提供一种解决方式,既让文档同步,同时又能够将文档和源分开从而可以简单地将文档翻译到其他语言中。

Delphi 2010初体验,是时候抛弃Delphi 7了的更多相关文章

  1. Delphi 2010 中的泛型

    Delphi 2010 中的泛型 2010已发布很长时间了,口碑还不错,准备用它开发下一项目,但对泛型等新东西的认识还不够,就搜了一下,发现下面这篇文章,还不错,大家一起补补课吧! C++中的模板.C ...

  2. Delphi 2010 3513正式版破解

    Delphi 2010 3513正式 一.下载ISO文件右键迅雷下载 二.安装完成后,先运行一下程序,程序会弹出叫你注册对话框,逐步点击Cancel---->OK----->No----& ...

  3. Delphi 2010

    Delphi 2010已早由Embarcadero公司发布.作者Kim Madsen作为一名资深的Delphi开发者,在他的博客中谈到了Delphi 2010的新性能.它的使用感受以及对Delphi语 ...

  4. delphi 2010与delphi XE破解版的冲突

    在系统中同时安装了Dephi 2010LITE版与Delphi XE lite后,总是会有一个有问题 是因为两者都是读取C:\ProgramData\Embarcadero目录下的license文件, ...

  5. RAD Studio/Delphi 2010 3615下载+破解

    RAD Studio/Delphi 2010 3615下载+破解 官方下载地址: http://altd.embarcadero.com/download/RADStudio2010/delphicb ...

  6. Delphi 2010错误 "displayNotification: 内存不够"

    打开 Delphi 2010 的时候, 它报一个错误 "displayNotification: 内存不够",从而无法使用 Delphi , 解决办法 摘自http://www.cnblogs.com ...

  7. delphi 2010是动画GIF的支持方法

    下面delphi 2010是动画GIF的支持方法:  1.在窗体上放一个Image1控件.注意:这时设置其Picture属性,加载一幅动画GIF是不会动画显示的.  2.在窗体的FormCreate事 ...

  8. delphi 2010 导出sql server 数据到DBF乱码问题

    近日,由于业务需要导出sql server 数据到DBF文件,要查询多表记录,并适当处理后生成导出DBF文件,系统使用delphi2010平台开发. 首先按要求在VFP里创建DBF表,字段数有240个 ...

  9. Delphi 2010 安装及调试

    呵呵,毫不客气地说,Delphi 2010 这个版本可以算是 Delphi 的一个“里程碑”,为什么这么说?因为这个版本实现了几个 Delphi 应该有却一直没有的功能 Delphi 2010 的新功 ...

随机推荐

  1. (easy)LeetCode 217.Contains Duplicate

    Given an array of integers, find if the array contains any duplicates. Your function should return t ...

  2. SQL Server 2012 Enterprise Core Edition和SQL Server 2012 Enterprise Edition的区别

    core没有图形界面,只有power shell界面,给没有图形界面的windows用的.

  3. OC基础(27)

    单例设计模式 *:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !import ...

  4. OC基础(6)

    getter/setter方法 点语法 Self关键字 Super关键字 *:first-child { margin-top: 0 !important; } body > *:last-ch ...

  5. x86_64平台编译链接汇编程序

    assemble: nasm -f elf32 sample.asm -l sample.lst link: ld -m elf_i386 -o test sample.o io.o

  6. cocos2d3.0跑酷代码讲解和源码

    最近在网上看到一个跑酷代码的例子,写的很不错,连接如下 http://www.waitingfy.com/archives/783 现在我把他精简了一下,去除了一些比较简单的特效,着重保留了主角的跳跃 ...

  7. python学习(一):环境安装及HelloWorld

    一.安装注意事项: 在安装python的第三方库时,(平台是win)要 注意所下载的包的版本,一要与所安装的python版本相对应,同时还有注意操作系统的位数(32位还是64位).下载好后,先将c:\ ...

  8. selenium 速查手册 python版

    1.安装与配置 pip install selenium 基本使用selenium都是为了动态加载网页内容用于爬虫,所以一般也会用到phantomjs mac下如果要配置phantomjs环境的话 e ...

  9. HP Mobile Center 1.01 Related System Requirements

    最近要开始使用HP Mobile Center,以下是我在官网上搜集的配置信息,包含软硬件. Reference:  http://mobilecenterhelp.saas.hp.com/en/la ...

  10. 默菲定律 [Murphy's Law]

    一.关于默菲定律(Murphy's Law)   “墨菲定律”.“帕金森定律”和“彼德原理”并称为二十世纪西方文化三大发现. “墨菲定律”的原话是这样说的:If there are two or mo ...