原創|行業資訊|編輯:郝浩|2014-12-02 09:43:13.000|閱讀 1814 次
概述:COM全稱為Component Object Model,即組件對象模型,是微軟在1993年推出的用于軟件組件的二進制接口標準。在上個世界90年代末COM異常風光,可是到新世紀后,COM曾一度被微軟拋棄并瀕臨死亡,隨著WinRT的出現和現代C++的復興,COM將再度復蘇。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
COM的本質是以語言無關的方式實現對象,這種方式能夠用于不同的創建環境中,甚至可以跨越機器的限制。對于創作良好的組件,COM允許在不知道內部如何實現的情況下進行對象重用,它促使組件實施者提供與實現相分離的定義良好的接口。
在.Net出現之前,微軟對COM編程非常推崇。從1995年到2002年,有許多的書籍和網絡資源都在談論COM,COM+和DCOM。但是,自從微軟決定確立C#為其推薦語言后,許多微軟的追隨者們便放棄了COM,他們表達出一種訊息:“C#才是最好的。”
舉個例子,如果你在亞馬遜網站上搜索COM書籍,其中絕大多數是來自于2000年,只有極少數晚于這個時間。
然而,具有諷刺意味的是,當COM如日中天的時候,微軟決定使用新技術.Net來取代COM,而這個時間就開始于2000年。
但即使是2000年以后,在微軟徹底放棄COM之后,仍然有許多的項目選擇使用它。大約到2005年,C#2問世的時候,COM的日子就算到頭了。
下圖是來自于google trend上關于“組件對象模型”感興趣度隨時間推移變化的圖表:
我們可以看到COM目前已經幾近死亡。
轉機出現在2011年,微軟宣布基于COM的WinRT將會作出一些修改。然后在這一年里,我們開始討論C++的復興,而新的C++就是這個框架內最好的語言。
最終,COM沒有徹底的死去,它在進入一個復蘇的階段,而這會是一次成功的復蘇。
為什么微軟會決定重新啟用COM?
COM的復興更多是來自于C++的復興。當微軟選擇將回歸到C++,并將其作為WinRT平臺“最好的住戶”時,他們需要一門技術來定義來自于.Net語言的組件并使用它們。為什么微軟會選擇重新啟用COM?那是因為COM技術在多年以前就已經由微軟的開發團隊使用和驗證了,雖然COM過去有很多的缺點,但是微軟已經決定在WinRT上解決其中的大部分問題。
為什么微軟會選擇回歸到C++?
這個問題的答案只有微軟自己才能解答。或許是因為他們決定使用由他們自己主導的相同技術來發展多個平臺(個人電腦、平板電腦和手機)。在開發資源上,平板電腦和手機相比個人電腦來說更少,因此選擇C++作為WinRT框架的基本語言是最佳的選擇。
故事還在繼續…
這不是故事的結局,隨著.Net框架的開源、OmniSharp和mono社區合作確定將.Net運用于主要平臺(PC, Mac, Android…) 等消息的宣布,不久的將來會產生很多的變化。
本文翻譯自
轉載請注明“文章轉載自:慧都控件網”和原文地址//fc6vip.cn/article/2014/12/2/21886.html
【年終大促 巔峰盛“慧” 】促銷火熱進行中 iPhone 6 Plus、 iPhone 6、iPad Air等你拿 <<<<點擊查看
【FastReport VCL 5新版發布會 】2014-12-9 15:00網絡直播,免費參加 ,參加者買FastReport全線產品6折!
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn