維's profileIT : 是工作還是嗜好?PhotosBlogListsMore Tools Help

Blog


    September 07

    RAD Studio 2010背後的變化!

    Embarcadero終於在2009年的8 月底完成了RAD Studio 20102010版是Embarcadero接手DelphiC++BuilderRAD Studio之後的第一個自行研發的版本,出乎我很意外的,2010版完全沒有延遲,不像在Borland的時期,每一個Delphi/C++Builder一定至少會延遲2個星期到一個月左右。從這次Delphi/C++Builder 2010按時推出可以說明Delphi/C++Builder研發團隊在Embarcadero終於獲得了合理的資源,而且從Delphi/C++Builder 2010推出之後,仔細的研究2010VCLRTL以及和R&D的人對話之後,我發覺Delphi/C++Builder 2010是一個非常重要的版本,因為許多未來Delphi/C++Builder的發展方向都從2010版默默的展開了。

    首先Delphi/C++Builder 2010在編譯器進行了許多的改善,除了持續強化2009版就出現的泛型程式設計和匿名方法之外,2010的編譯器開始提供更豐富的RTTI元資料以準備提供類似Java/C#Reflection功能,2010也提供了背景編譯,允許開發人員在IDE中一邊持續工作,一邊在背景編譯專案,此外另外有兩個同時並行的編譯器團隊,一組在做Delphi/C++Builder 201064位元編譯器,另一組在做跨平台的Delphi編譯器。另外32位元的編譯器小組也在研究未來第3方元件能夠以二進行形式直接昇級到新版本而無需元件的原始程式,明年應該就可以看到64位元或是跨平台的編譯器以及新的最佳化C++Builder編譯器所以編譯器快準備好了。

    dbExpress早已經好跨平台的準備,因為現在所有的dbExpress相關程式碼都可以使用Delphi來撰寫,此外藉由Delphi編譯器提供更豐富的RIIT資訊,Delphi/C++Builder團隊開始研發OR Mapping的能力。這個新的OR Mapping功能也應該是跨平台的,因為它也將整合到VCL了,所以dbExpressVCL框架和快準備好了。

    再看Delphi/C++Builder的分散式技術,一直以來Delphi/C++Builder都是使用Windows平台上的分散式技術做為基礎,從Midas使用的COM,到DCOM/COM+,這一塊一直不容易改變,還好在JSON逐漸取得廣泛的應用後,Delphi/C++Builder2009版開始支援JSON。只是Delphi/C++Builder 2009JSONdbExpress綁的太緊,無法輕易的使用Delphi/C++Builder來開發一般的JSON應用程式。到了Delphi/C++Builder 2010Delphi/C++Builder團隊終於把JSON的能力封裝在數個易於使用的類別中,讓開發人員終於可以使用Delphi/C++Builder 2010進行通用的JSON開發,此外又加入了非同步以及過濾器的能力,讓Delphi/C++Builder 2010可以基於JSON開發分散式應用系統,終於打通了跨平台分散式架構的任督兩脈,DataSnap也終於可以實作在Mac OSLinux平台中。

    再看看Delphi/C++Builder 2010火熱的觸碰/手勢技術,雖然目前只能使用在Window XPVistaWindows 7中,但是未來Delphi將提供跨平台和移動運算的能力,那麼觸碰/手勢如何使用在其他平台和移動移動呢?

    如果去研究Delphi/C++Builder 2010如何實作觸碰/手勢技術,那麼我們會驚訝的發現,Delphi/C++Builder團隊在研發觸碰/手勢技術時已經考慮到了未來把觸碰/手勢技術移植到其他平台的能力,例如如果我們搜尋TGestureEngine類別,就可以發現下面的實作程式碼:

      TGestureEngine = class(TCustomGestureEngine)

      strict private

        class var FDefaultEngineClass: TGestureEngineClass;

        class var FDefaultRecognizerClass: TCustomGestureRecognizerClass;

        class var FRecognizer: TCustomGestureRecognizer;

    哈,注意看看這個實作程式碼,目前在Windows平台上實作的觸碰/手勢技術只是內定(Default)的類別,因為它使用了class var來宣告FDefaultEngineClassFDefaultRecognizerClass,以及FRecognizer,這種設計很明顯的是一個plug-in設計樣例,未來當Delphi/C++Builder團隊在其他平台,例如手機的移動平台,實作了觸碰/手勢技術,那麼只需要註冊新的引擎(Engine)Recognizer,再取代Windows平台的引擎(Engine)Recognizer,那麼跨平台的觸碰/手勢技術就實現了。

    最後回到RTLDelphi/C++BuilderFastCode專案仍然在持續進行中,如果您在Delphi/C++Builder 2010中搜尋就可以看到更多FastCode專案的成果,此外Delphi/C++Builder團隊也開始在RTL中加入跨平台的多執行緒函式庫,打造跨平台的高效RTL

    然而我仍然希望看到Delphi/C++Builder快點支援RIA的開發,Delphi/C++Builder 2010開始支持RESTful架構令人喜出望外,但我希望再上一層樓,結合RESTfulRIAWeb技術為一體。

    Delphi/C++Builder 2010在表面上呈現了許多非常實用又吸引人的新功能,而且許多的新功能都是領先業界的,不過如果您進入到Delphi/C++Builder 2010的實作原始程式世界,您會發現更多令人興奮的東西。Delphi/C++Builder團隊在擁有了足夠的研發資源之後,的確可以從Delphi/C++Builder  2010再次感受到如同Delphi 5Delphi 7時期蓬勃發展的精神。

    Comments (7)

    Please wait...
    Sorry, the comment you entered is too long. Please shorten it.
    You didn't enter anything. Please try again.
    Sorry, we can't add your comment right now. Please try again later.
    To add a comment, you need permission from your parent. Ask for permission
    Your parent has turned off comments.
    Sorry, we can't delete your comment right now. Please try again later.
    You've exceeded the maximum number of comments that can be left in one day. Please try again in 24 hours.
    Your account has had the ability to leave comments disabled because our systems indicate that you may be spamming other users. If you believe that your account has been disabled in error please contact Windows Live support.
    Complete the security check below to finish leaving your comment.
    The characters you type in the security check must match the characters in the picture or audio.

    To add a comment, sign in with your Windows Live ID (if you use Hotmail, Messenger, or Xbox LIVE, you have a Windows Live ID). Sign in


    Don't have a Windows Live ID? Sign up

    Junxiangwrote:
    您好!想请教一下Delphi 64位的发展情况?谢谢!
    Sept. 18
    Jerrywrote:
    李維老師,請問高雄發表會有說要將PPT放到網路上,可否提供一下檔案,還要跟公司同事介紹 2010。
    Sept. 11
    寶寶wrote:
    個人也非常希望DELPHI能加入RIA的支援..這樣才有理由叫老闆花錢..
    Sept. 8
    寶寶wrote:
    李維老師,請問所謂的跨平台是指跨到那些OS呢?
    Sept. 8
    C++ Builder 好像沒什麼改善,好像主要都是 Delphi 方面的強化
    Sept. 7
    Yu Huangwrote:
    两个字:很好~
    Sept. 7
    bmwrote:
    一个字:好!
    Sept. 7

    Trackbacks

    The trackback URL for this entry is:
    http://gordonliwei.spaces.live.com/blog/cns!CCE1F10BD8108687!3739.trak
    Weblogs that reference this entry
    • None