自從D7之後,Delphi似乎開始走了下坡路,到D2005時,讓很多人感到了失望,而D2006也是很不容易才挽回了一點局面。大家都知道現在Delphi跟Borland分家,歸屬於CodeGear繼續發展了。不過分出去也許會是好事,這能讓一幫人更為專注地發展IDE的技術。Delphi 2007 for Win32的發布會(包括Delphi for PHP和InterBase 2007)前幾天正在密鑼緊鼓地進行著,從李維的Blog和一些網友的反饋來看,D2007確實是比較讓人期待的一個版本。作為Delphi的忠實支持者,我期待著Delphi的逐步回歸,希望她能重登昔日的王者地位!(這次不要當VB殺手了,來當當C#和Java殺手吧.... XD)
Delphi2007 for Win32一些技術亮點:
1、IDE工具采用.Net2.0來編寫,安裝時候需要.Net FrameWork2.0,但編譯出來的Exe是純正的Win32程序,發布不需要.Net FrameWork2.0。新IDE采用.Net FrameWork2.0是為了更好的統一IDE平台,利用.Net的反射、泛型等高級特性,節省編寫IDE時間。新的IDE確實比D7啟動還要快,大概是五六秒時間左右就啟動,跟VS.Net2005差不多。演示中,新的IDE編譯新建工程比D7還要快一點。
2、Delphi2007支持Vista界面,封裝了Vsita的新API函數。
3、Delphi2007有一個功能很有意思,支持D2006的所有BPL組件。意思是,如果你用D2006編譯過的BPL,沒有源碼和DCU,也可以直接安裝在Delphi2007。哈哈,這個是delphi版本上的史無前例,即使第三方控件包來不及支持Delphi2007,也不妨礙開發人員從D2006升級到Delphi2007做項目開發。
4、支持MS Build。比如支持Debug、Release。也支持編譯前和編譯後事件,可調用BAT文件。比如,你編譯前郵件告訴老板,你要給我加薪50%,否則十分鐘後銷毀源代碼。另外,也可以修改其XML格式,只編譯特定的程序代碼。
5、Delphi2007 for Win32數據集控件全面支持Unicode。比如,你的數據庫表字段可采用中文名稱作字段。Filter也支持Unicode。唉,為了這個filter支持Unicode,有些人在delphiBBS上苦苦守候了六七年。但Delphi2007的UI(可視化界面)還不是全面支持Unicode。比如,你的DBGrid就不能支持中文、韓文(不說狗屁日文)、阿拉伯文等同時顯示。原有的Vcl框架大量采用string聲明而不是WideString,據李維講,CodeGear會將Vcl全面支持Unicode,但要考慮一種最佳的平衡方法。
6、非常棒的DBX4。dbExpress將要統一混亂的數據庫連接組件,底層全部改寫。無論在Win32還是Win64上,可兼容本機代碼和托管代碼。呵呵,舉個例子,DBX4可支持ADO,也可以支持ADO.Net。這一點,M$也做不到。DBX4新增加了Connection Pool高級組件。更令人心動的是,開放Driver Source,可自行擴展屬性和方法,哈哈,ColreLab公司這回可高價賣不出去dbExpress驅動了。DBX4也全面支持Uicode。
7、Delphi2007 for Win32支持Ajax技術—Intraweb9.0。Intraweb9.0組件封裝了Ajax,以事件方式來驅動程序。Intraweb9.0的AJax技術支持斷點跟蹤調試,簡單到跟你調試其他Delphi程序一樣。Intraweb9.0不愧是封裝Javascript的上乘之作。其實,話又說回來了,這一兩年流行的AJax技術,其實無非就是Javascript封裝而已。而Intraweb已經在六七年將Javascript技術做得爐火純青。更令人汗顏的是,許多所謂的web2.0新技術調試Ajax時候,仿佛又回到20多年前的C編程時代,不停地用Printf打印調試。AJax技術也並非是什麼高級技術,只是web編程一種無奈的選擇。不久未來,應該是屬於智能客戶端平台。
個人的幾點看法:
1、說實話這裡我經歷過大喜->大悲->大喜的三次變化。最初聽說Delphi重回Win32,當然是大喜,個人比較不爽.Net,因為給別人寫程序還要別人裝沒用的東西才能運行(當然對象是企業的話,沒什麼所謂);之後在CSDN聽到一些殘缺不全的消息說D2007又要裝.Net了?轉而失望;幸而從這裡看,只是裝.Net的開發時環境而已,運行庫並不需要,至此疑慮全消。而且聽說D2007還能針對2000、XP和Vista多種系統發布不同的程序?這個功能太棒了!以前寫的程序,總是部分人能用部分人不能,想出多版本的話,自己多裝個系統在那個系統下編譯吧,這不是一般的麻煩。希望此功能是真的。
2、啟動和編譯速度比D7還快,這個也很吸引人。Delphi的編譯速度本來就很有名了(用過C系列的就能對比出來)。之後聽說D2006又用一種新技術改進了內存管理,可惜D2006還沒裝,沒能體驗。這下D2007居然比D7還快了,希望不是只針對特殊項目弄出來的“演示效果”。
3、關於Unicode,強烈期待實現整個IDE環境的Unicode化,某次寫跟韓文有關的程序已經被整慘過了.... -_,- 這點Delphi需要向C#靠攏。
4、雖然IntraWeb自上次寫日志來,還暫時沒安排到學習時間。不過偶還是相信那位Delphi達人的話,相信它的前途。如今都出到9.0了,我覺得如果Delphi在B/S上面能搶回份額,微軟將會面臨很大的挑戰。