為什麼你的軟體需要
IDE
特徵? IDE,就是Integrated Development Environment的縮寫,一般而言,只有軟體開發工具或設計工具才具備IDE特徵,之所以如此的原因之一也許是因為開發IDE特徵的技術工作比較繁雜。現代應用軟體由於軟體操作人員的駕馭能力越來越強、可用資源越來越豐富而逐漸開始體現出“整合”的特點,例如,MS Office就已經體現出很強大的可定製化特徵,基於Eclipse的RCP軟體也由於Eclipse平台的強有力的外掛程式體系而表現出類似的架構。你的軟體如果能夠具備IDE特徵的話,那麼其擴充能力、定製化能力以及與他人的協作能力等等都將成為你的使用者考慮的事情。 當然,UI擴充是IDE必須考慮的工作,在類似具備整合Microsoft Visual Basic for Application的軟體架構中,可以提供“Form Designer”解決部分UI的擴充:(一個整合了Microsoft Visual Basic for Application的軟體架構)(上述軟體VBA IDE中的Form Designer,設計時Form)(運行時Form)一般來說,許多軟體的功能,在交付的時刻,功能的界限已經基本確定了,這樣的軟體也許總會面對許多“這樣”或“那樣”的不足,Microsoft在自己的軟體系統中總會提供一個解決類似需求的“方案”,我們看到Office就是具備類似特點的軟體系統,VBA或Visual Studio Tools for Office就是為類似目標設計的。如果我們自己設計的軟體系統可以具備類似的特徵的話,那麼我們的使用者就會是一個最大的受益者。 使用者需求的範圍,與你所做的軟體規劃有很大的關係,通常你軟體所界定的功能集合是你所做調研的全部或部分,進階的軟體架構者也許會進一步延伸,但一般而言,延伸總是有局限的。如果能夠將軟體開發工具在一定意義上融入你的軟體系統,那麼情況就完全不同了。那麼,你的軟體能夠做到這一點嗎?答案是肯定的。類似Web平台,由於軟體是以html的模式體現的,因此,以B/S方式體現的Web軟體總能夠表現出強大的定製能力以及豐富的、多態的內容形式,與此對比,案頭軟體則有點“相形見絀”,之所以如此,是因為案頭軟體缺乏一個類似HTML的“內容編輯器”。我們看一個傳統的VB程式:(一個VB6程式)這是一個十分普通的VB程式,按照通常的觀點,Form是承載著各種“控制項”。一般說來這類程式有許多“高手”是不涉足的,原因之一是缺乏“變化”,如果將至匹配一個“內容IDE”,則情況就不同了,例如:其中,Form上載入的“內容”來之一個軟體組合“IDE”,這種豐富的UI表現,將會為這類VB軟體提供強大、豐富的案頭表現的“內容”。通常,這類內容是某些特殊控制項提供的,如同許多軟體內建報表設計師一樣,許多開發人員將需要列印的對象歸結為一個表現靈活的“Reporter”,但很少有軟體將其更需要體現的UI內容歸結為一個“UI Designer”,如果這個問題得以恰當的解決,那麼,我們的軟體系統就在一定程度上媲美B/S架構了,Mozilla的FireFox用XML技術描述其UI給我們以啟示,但FireFox的XUL目前還無法用於一般的Windows案頭系統,因此,類似Visual Basic、Visual C++ 6.0之類開發的軟體還不能從中受益,TangramDesigner採用類似XUL的設想,但更適用於Windows平台開發的系統,TangramDesigner的總體著想是提供一個高可定製的通用的內容IDE,你可以在http://www.download.com/Tangram-Xtml-Designer/3000-12775_4-10637589.html?tag=lst-0-5中下載這個Designer的預覽版本。 一旦你的軟體包含一個IDE特徵的IDE,那麼,你的軟體將具備無與倫比的擴充性以及其它只有“開發環境”才具備的特徵,這樣,你的使用者自然被你發展成一個“開發人員”,Microsoft的Visual Studio IDE,以及IBM的Eclipse等均具備類似的特徵,難道你不打算這樣嗎?