目前軟件開發呈現的趨勢是Web應用化,應用網絡化,對我而言C是至陽,HTML是至陰,中庸思想不變,語言始終朝著一個平衡方向發展。COM和Asp(等)屬于上一代開發技術,他們在兩個極端跨進了一大步。隨著.NET技術發展,.NET FrameWork從1.0發展到即將推出的3.0,逐漸強大完善,足以實現應用網絡化。聽對微軟技術研究很深的前輩說,微軟技術一般在3.0版本就代表成熟,本人了解不多,不過到想起VC6里面的ATL3.0。
動態語言這幾年發展迅猛,目前python、Ruby如日中天,尤其是python語言,更是Java和.NET半壁江山鼎立局勢下新開辟的戰場,各自發展一套python--jave的JPython和.NET的IronPython。對于動態語言我一直很關注,在沒有推出IronPython之前(準確說當時我不知道,聽說這玩意2004都有?),我曾看過python語言,寫了一篇關于C++調用Python的文章。大致瀏覽后發現傳統python與應用開發只是在語言級別集成,而無法象VBS、VBA那樣在COM模型上的繼承,可能是自己認識膚淺,鑒于此對python的研究暫且放下。
前幾天了解到IronPython,聽說是微軟開源(羊頭狗肉暫且不提)項目,心想這個咚咚肯定會和微軟技術無縫結合。
下載了源碼(C#)、執行文件和全部代碼示例,放了幾天在桌面沒來及學習。今天解壓玩了一下,感覺不錯,感想拿出來和大家探討。
首先說說那個可執行目錄IronPython-1.0下的ipyw.exe,在傳統python下有個基于GUI的環境,按照理解ipyw.exe也應該是一個GUI環境,千呼萬喚都出不來,打開源碼瞅瞅,暈,工程里面好像是Console下的文件,算了不管,先用CUI。不知道是什么問題,知道的好心人望告知,謝謝。
接著侃侃如何學習IronPython。先看了看IronPython-1.0下ReadMe,不錯里面就有兩個上手例子,在Running IronPython標簽下,按照它寫運行出錯了你打我。光這兩個個例子還不能說明問題,里面有鏈接到tutorial的標簽,這個才是入門寶藏。看了看入門教材的目錄,實驗了一個基于.NET 2.0窗體例子,沒遇到太大問題。由于時間關系,很多例子不能一一實現,當然IronPython和WPF結合按照教材上說得也是很完美的,不過需要.NET3.0 Runtime(Vista OS自帶),所以急迫需要裝一個Vista。想一下,其實好可怕,Vista起碼的4G,VS2005+MSDN又4G,光這兩個下來差不多10G。前一段時間,下載WPF SDK就1G,寫一個WPFHelloWorld吃內存30M。微軟在為硬件廠商做嫁衣,而一次次強奸我們的可憐的機器。無可奈何,誰讓她那么強大,誰讓我被他牽著鼻子跑,呵呵。
到此雖不能說我對IronPython了解,但是已經令我很的滿意。IronPython在python基礎上發展而來,自然在C++語言上集成沒有任何問題。它本身對于.NET模型進行集成,而.NET技術通過Interop統一了微軟的DLL、COM技術,所以通過IronPython應該可以將微軟開發技術模型統一起來。IronPython目前畢竟還是一個小孩,尚不能體現出VBA那樣應用模型級別的集成。如果不能可視化集成到應用里面,IronPython在.NET集成技術上可能無法淋漓盡致的發揮,無法達到VBA那樣對COM技術在應用擴展方面的地位。在Jave和.NET這次python大戰里面,微軟肯定會重視IronPython的發展,棋差一招對于這些巨頭都是有損顏面的。
微軟下一代應用開發模型將會在每個發布的應用程序里面嵌入一個VSTA二次擴展環境,地位相當于VBA,不知道會如何處理VSTA和IronPython的微妙關系。
胡說八道一通,主要希望和大家交流技術。概念錯誤望批評,以免誤導他人。技術細節,我會盡快研究。
posted on 2006-09-21 14:32
萬連文 閱讀(4321)
評論(4) 編輯 收藏 引用 所屬分類:
.NET