閑聊Visual Studio Tools for Applications
Visual Studio經(jīng)過長時間的發(fā)展,很多用戶都很了解Visual Studio Tools for Applications了,相信很多開發(fā)人員都曾經(jīng)想過或者嘗試過讓自己的應(yīng)用程序具有良好的擴展性,這里我發(fā)表一下個人理解,和大家討論討論。
#t#說到這個,“插件”一詞肯定會在腦海中冒出來了。在我的記憶中,最早看到插件技術(shù)應(yīng)用是在Adobe Photoshop中,還有后來大紅大火的MP3播放軟件“WinAMP”。我也曾經(jīng)在自己做的軟件中嘗試加入插件技術(shù):當(dāng)時用的Visual FoxPro 6.0做開發(fā),并且提供了一套API函數(shù)形式的接口,用戶也可以用Visual FoxPro寫插件代碼,編譯成APP文件,只要符合事先制訂的規(guī)范,插件就會被裝入執(zhí)行。
然而有一句話叫作“水能載舟亦能覆舟”,當(dāng)應(yīng)用程序向第三方開放自己的接口規(guī)范,提供了靈活的可擴展性的同時,也面臨著性能、安全性、穩(wěn)定性等各方面的挑戰(zhàn):由于插件可以由第三方開發(fā),你永遠都不知道誰可能會做出什么樣的插件增強或者損害用戶對你的軟件的使用體驗。
今年的早些時候(2007年3月),微軟發(fā)布了Visual Studio Tools for Applications 1.0 SDK,通過這套軟件,我們就可以輕松解決上面的問題,同時還能良好地擴展自己的應(yīng)用程序。讓我們來看看Visual Studio Tools for Applications(縮寫VSTA)有哪些特性可以幫到開發(fā)者:
◆無論應(yīng)用程序是使用.NET開發(fā)的,還是傳統(tǒng)的COM類型的,開發(fā)人員都可以比較容易地把應(yīng)用程序的對象模型通過代理(Proxy)向插件開放。
◆應(yīng)用程序的最終用戶或者第三方,都可以使用熟悉的Visual Studio環(huán)境,以及VB.NET和C#語言開發(fā)插件。
◆可以把熟悉的Visual Studio IDE和開發(fā)插件用的項目模板(Project Template)發(fā)布給最終用戶,并且擴展IDE,自定義、增強插件的開發(fā)過程。
◆可以使用.NET的安全機制,控制插件代碼的行為;可以為不同的插件定義不同等級的安全訪問權(quán)限,防止未經(jīng)授權(quán)的插件代碼造成破壞。
◆可以使用多種隔離機制分開不同插件代碼之間、插件代碼和應(yīng)用程序代碼之間的執(zhí)行環(huán)境,以幫助防止插件互相干擾,或者引發(fā)應(yīng)用程序崩潰。
如果你已經(jīng)開始對Visual Studio Tools for Applications感興趣了,那么趕快到微軟網(wǎng)站下載一份SDK看看吧!