2007 年 03 月 的封存

辛苦但是快樂的3月

又是一輪產品發表會結束了,雖然回台灣之後身體不適不過對於這次大中華巡迴CodeGear開發者日的整體感覺卻很好,因為不管是從現場參加朋友的反應,或是在Internet上全世界對於Delphi 2007 For Win32Delphi FPHP這兩個產品的評價都非常的正面,而JBuilder 2007也傳來了很消息,CodeGear重振JBuilder之作,JBuilder 2007也在InfoWorldJava IDE中獲得了最佳Java IDE的評比,詳情可以在下面的URL看到:

http://www.infoworld.com/article/07/03/26/13FEjavaides_2.html

CodeGear成立之後,連續推出了三個品質良好的產品,總算是向開發者社群證明了CodeGear專注於開發者領域的承諾。就我個人而言目前CodeGear的氣氛明顯比在Borland中好多了。現在的Delphi R&DC++Builder R&DJBuilder R&D以及其他的R&D都能專心的開發更好的IDE和產品,當然我個人的工作士氣也高多了,戰鬥指數也開始回升(呵呵)

雖然CodeGear目前還小,但是CodeGear非常的專注。雖然CodeGear只是站穩了第1步,但是CodeGear已經有了好的開始,我希望CodeGear能夠持續的這樣發展下去,找回以前的企業文化,尊重每一個人,因為只有團隊中的每一個人發揮最大化的貢獻,才能讓CodeGear不斷的成長,而不是像以前Borland說的『銷售(人員)才是King』,這是我最不能認同的一點。

這次的CodeGear開發者日介紹了Delphi 2007 For Win32,由於時間有限,因此我並沒有辦法介紹Delphi 2007 For Win32所有新增的功能。例如Delphi 2007 For Win32中的Together已經重寫了許多的部份,因此這版的Together速度比BDS 2006中的Together快上許多,而且這個新版的Together在設計介面上也進行了許多的改善,比BDS 2006中的Together又進步了不少。其實我個人覺得光是Together就值得使用Delphi 2007 For Win32,也許您不會使用Together來進行設計,但是Together中的Audits/Metrics絕對是專案管理者以及開發人員對於軟體品管最好的幫手,值得一用。

另外從Delphi 2007 For Win32開始CodeGear啟動了使用FastCode專案,一些RTL的底層程式碼已經開始改變成使用FastCode專案,這可以讓Delphi 2007 For Win32編譯出來的Delphi應用程式比以前版本編譯出來的應用程式執行得更快。

最後在大陸網友的通知下我才知道我的ECO III的書籍已經在大陸出版了,我也在China-Pub上看到了這本書的資料:

http://www.china-pub.com/computers/common/info.asp?id=34233

雖然我一向不太願意為我自己寫的書做宣傳,但是為了讓博文的Yeka以後還敢支持我出版一些深入的技術書籍,因此還是請所有對於ECO有興趣的朋友支持一下這本書,最後我還是要謝謝Yeka的勇氣敢於支持進階的技術書籍。

廣告

47 則迴響

Wow,它真的很快!

隨著大陸,台灣的Delphi 2007 For Win32/Delphi For PHP的活動愈來愈接近,工作份量也就自然愈來愈沈重。不過在這段準備這些活動的時期中也有機會花更多的時間試用Delphi 2007 For Win32以及Delphi For PHP。我想其中的Delphi For PHP由於是新的產品,因此受到了更多人的注意,事實上Delphi For PHP實在是很cool,在我使用它的這段時間中不斷的被它的新功能所振奮,也非常迫不及待的想把這個創新的PHP RAD開發工具介紹給對它有興趣的朋友,當然離這個時機已經愈來愈近了。

在使用Delphi For PHP的時候也讓我不斷的回想起以前Delphi 7的時光,這當然是因為Delphi For PHP是使用Delphi 7開發的,在很久沒有使用純原生整合發展環境之後,特別令人感覺親切和有一種非常懷念的熟悉味道。我有許多朋友都仍然在使用Delphi 7,甚至有一個朋友做了一個所謂的Delphi 7綠色攜帶版,這位朋友告訴我這個版本非常的好用又快速,他一直抱怨為什麼Delphi 7之後的版本要使用.NET來寫,他覺得太慢了。當然我告訴他Delphi新的整合發展環境加入了許多的新功能,TogetherECO,重構,專案管理等。但是他告訴我IDE的執行速度仍然是他最重視的。

我為什麼要提起上面說的這些事情,那是因為許多人忽略了Delphi 2007 For Win32,因為它似乎被Delphi For PHP搶了風采,而且許多人看了CodeGear公佈的Delphi 2007 For Win32功能似乎沒有什麼太多的驚喜,我在網路上看到大多數的人對Delphi 2007 For Win32中支援Vista的功能比較有所期待。我覺得這很正常,為什麼? 因為我相信大多數的人不是Delphi 2007 For Win32Beta測試人員,因此沒有機會使用它。此外許多人也不瞭解新的DBX 4的能力,也許我可以透露一些絕對讓Delphiers高興的事情。

在我目前的機器中,同時安裝了Delphi 7Delphi 2007 For Win32 beta版,在我拿到最新的2007 beta版本中,我發現到Delphi 2007 For Win32不但在啟動的速度比Delphi 7快速,進入IDE之後,Delphi 2007 For Win32的反應速度也是快速無比,比在Delphi 7中更快。例如Delphi 2007 For Win32Code Insight的速度的很快,我先在Delphi 7中建立一個專案,測試Delphi 7Code Insight速度,再於Delphi 2007 For Win32中開啟這個相同的專案,也測試Delphi 2007 For Win32Code Insight速度。WowDelphi 2007 For Win32Code InsightIDE的反應速度絕不在Delphi 7之下。很難想像一個用.NET Framework開發的IDE比原生的IDE毫不遜色。我想這主要有兩個原因,一是Mark在這個版本中花上了幾乎所有的時間調整Delphi 2007 For Win32的執行速度,第二個原因則是Delphi 2007 For Win32使用了FastCode專案中的成果,尤其是底層的system.pas以及sysutils.pas兩個檔案。此外Delphi 2007 For Win32的編譯和執行應用程式的速度更是比Delphi 2005/2006快上許多,和Delphi 7的速度比起來真是不遑多讓,如果我們考慮 Delphi 2007 For Win32擁有比Delphi 7多上許多的新IDE功能,那麼我想這樣的成果應該會讓Delphiers高興了。

 

第二個我喜歡的新功能就是Delphi 2007 For Win32DBX 4了。DBX 4是一個非常重大的版本更新,因為它完全改變了以前DBX的架構,因為:

n          DBX 4採用了新的架構讓Win32.NET以及未來的Win64使用一個框架的原始程式即可。這意謂著從Delphi 2007 For Win32之後,Delphiers不需要在Win32下使用dbExpress,在.NET下使用BDP或是ADO.NET,現在只需要使用DBX 4以及以後的版本就可以藉由一套框架同時在Win32/.NET/Win64平台中使用,大大的增加了應用程式移植的能力。

n          DBX 4新的驅動程式都是使用Delphi撰寫的而且付上原始程式,這意謂Delphiers也可以參考並且開發客製化驅動程式。更重要的是可以使用物件導向技術開發驅動程式。

n          DBX 4架構開始內建支援Unicode,因此在這次的Delphi 2007 For Win32中,CodeGear付上了InterBaseMS SQL Server 2000/2005MySQL 4.x/5.x以及Oracle 10gUnicode驅動程式。

n          DBX 4內建連結池/物件池的能力,代表原生Win32DBX應用程式將可以自動使用連結池/物件池功能而大幅增加執行效率。

讓我以實際的範例來說明DBX 4帶來的好處。

在以前的Delphi 7許多人都抱怨Delphi的資料庫連結技術無法支援以中文名稱命名的資料表欄位,此外TClientDataSetFilter也無法使用中文的模糊查詢。Well,現在在Delphi 2007 For Win32DBX 4不但解決了這個問題,而且執行速度也非常的快速。

例如下圖是我在MS SQL Server 2005中建立一個擁有中文欄位名稱的資料表:

 

 

而下圖則是我在Delphi 2007 For Win32IDE中啟動中文的模糊查詢的功能,現在都由於DBX 4提供了Unicode的能力,因此都沒有問題了。

 

當然我們也可以在程式碼中使用中文欄位來處理處理資料如下:

procedure TForm10.Button2Click(Sender: TObject);

begin

  Self.ClientDataSet1.Filtered := False;

  Self.ClientDataSet1.Edit;

  Self.ClientDataSet1.FieldByName(‘備註‘).Value := ‘新代號為‘;

  Self.ClientDataSet1.Post;

  Self.ClientDataSet1.ApplyUpdates(0);

end;

 

別忘了我還沒有提到VCL For Web提供的Ajax能力,簡單的說VCL For Web允許Delphiers使用Delphi程式碼來撰寫Ajax的功能,基本上Delphiers不需要使用JavaScript了,使用Delphi撰寫的Ajax功能也可以在Delphi 2007 For Win32IDE中除錯,實在太Cool了,有機會再讓我們談談這個超好用的Ajax框架。

我會在台灣322日的活動中正式讓各位目睹Delphi 2007 For Win32Delphi For PHP令人興奮的強大功能,我們到時再見了!

 

 

41 則迴響