.NET的一点历史故事:误入歧途,越陷越深
移動(dòng)計(jì)算的時(shí)代其實(shí)早已有了苗頭,起碼微軟的 Windows CE、諾基亞的 Symbian 都曾經(jīng)給手機(jī)用戶多少帶來了一些便利,黑莓則由于接入了企業(yè)郵件等商業(yè)應(yīng)用而日進(jìn)斗金,甚至 Sun 也給自己的 Java 平臺(tái)做了一個(gè) J2ME 標(biāo)準(zhǔn),試圖用 J2EE 那一套搞法在移動(dòng)計(jì)算平臺(tái)分一杯羹。但是2007年1月蘋果發(fā)布自己設(shè)計(jì)的 iPhone 智能手機(jī),并在當(dāng)年10月啟動(dòng)應(yīng)用商店計(jì)劃之后,拿手機(jī)來處理日常事情才逐漸變?yōu)橐患瓤嵊趾芊奖愕纳罘绞健?1月,谷歌聯(lián)合幾個(gè)手機(jī)廠商啟動(dòng)了 Android 手機(jī)平臺(tái),則是拉開了智能手機(jī)平臺(tái)兩強(qiáng)相爭(zhēng)的序幕。
提及 Android 就不能不提到谷歌的幾個(gè)聰明選擇。首先,Android 操作系統(tǒng)的源代碼是公開的(但管理方式不同于通常意義上的開源項(xiàng)目),這就讓開發(fā)者可以了解它內(nèi)部的運(yùn)行機(jī)制。其次,應(yīng)用開發(fā)使用開發(fā)者眾多的 Java 語言,開發(fā)環(huán)境是 Eclipse 搭配 Android Development Toolkit,這使得從一開始 Android 平臺(tái)就不缺少優(yōu)秀的開發(fā)者。最后,谷歌采用了一個(gè)相對(duì)開放的生態(tài)系統(tǒng),允許第三方定制,也不排斥第三方商店。所以在很短的時(shí)間內(nèi),Android 就追上了蘋果 iOS 的步伐,把 J2ME 標(biāo)準(zhǔn)完全替代,這也為日后甲骨文和谷歌的法律糾紛埋下了伏筆。
2008年8月11日,iOS(當(dāng)時(shí)名字還是iPhone OS)開始支持應(yīng)用商店。10月22日,HTC 發(fā)布第一款搭載 Android 的手機(jī) Dream。智能手機(jī)之戰(zhàn)正式開鑼。在這個(gè)戰(zhàn)場(chǎng)兵戎相見的時(shí)候,微軟公司呢?微軟公司居然缺席了,為什么呢?微軟這時(shí)候干什么去了?事情還是要翻回2007年9月5號(hào)。這天微軟發(fā)布了一個(gè)名叫 Silverlight 的產(chǎn)品,開始叫板 Adobe 的 Flash。
前面我們已經(jīng)談到 .NET 這個(gè)生態(tài)系統(tǒng)的幾個(gè)平臺(tái)。微軟官方提供了兼顧服務(wù)器和桌面的 .NET Framework、配合 Windows CE 移動(dòng)開發(fā)的 .NET Compact Framework、配合單片機(jī)嵌入式系統(tǒng)的 .NET Macro Framework,而開源項(xiàng)目 Mono 則提供了 Mac 和 Linux 平臺(tái)的 .NET Framework 兼容環(huán)境。這里面有一個(gè)缺環(huán),就是假如你要開發(fā)一個(gè)比較復(fù)雜的網(wǎng)站應(yīng)用,總有些功能(比如視頻播放)沒法用 .NET 技術(shù)來實(shí)現(xiàn),而需要借由 ActiveX 或者 Flash。所以 .NET 開發(fā)團(tuán)隊(duì)通過裁剪 .NET Framework (主要是 CLR、BCL 和 WPF),在短時(shí)間內(nèi)做出來一個(gè)能夠像 Flash 一樣運(yùn)行在瀏覽器中的計(jì)算平臺(tái)。因?yàn)檫@次不能叫 .NET Browser Framework了,所以起了一個(gè)非常奇怪的名字 Silverlight。
和之前的幾個(gè) .NET 子系統(tǒng)不同,Silverlight 是微軟第一個(gè)跨平臺(tái)的 CLR 實(shí)現(xiàn),比如能夠運(yùn)行在 Mac 平臺(tái)的 Safari 瀏覽器中。而且微軟難得的提供了跨瀏覽器支持,使得 Silverlight 程序能夠在 Firefox 和 Chrome 中運(yùn)行。因?yàn)?WPF 出現(xiàn)之后桌面程序設(shè)計(jì)進(jìn)入了一個(gè)非常高效的階段,同樣使用 XAML 語言的 Silverlight 也吸引了 WPF 開發(fā)者的目光。微軟也和 NBC 電視臺(tái)等合作伙伴一起做出了不少視頻媒體方面的應(yīng)用。當(dāng)然 Silverlight 技術(shù)生不逢時(shí),像 Flash 一樣在 HTML 5 標(biāo)準(zhǔn)逐漸成熟之后到了淘汰邊緣。而且提到淘汰這個(gè)詞匯,Flash 畢竟有十幾年的用戶積累在那里,只會(huì)慢慢退出。而本來就沒有特別亮點(diǎn)的 Silverlight 就銀光一閃,消失在歷史的長(zhǎng)河中。
當(dāng)然2007年年底之后微軟另外一個(gè)大事是重新設(shè)計(jì) .NET Framework 的核心部件,全力推動(dòng) .NET Framework 4.0 的開發(fā)。值得一提的是,或許是由于 Java 開源帶來的壓力,2007年10月3號(hào)起微軟采用非開源協(xié)議的方式公開了部分 .NET Framework 的參考代碼。Enterprise Libraries、Sandcastle 和 Managed Extension Framework 則在2008年先后以完全開源的方式登陸了 CodePlex。微軟在試圖從 .NET 生態(tài)圈的外圍來嘗試了解開源社區(qū)的運(yùn)作方式,直到2009年4月2日正式開源了 ASP.NET MVC 框架,為全面走向開放開源做好了準(zhǔn)備。
可惜的是,直到2009年底微軟都沒有能夠在智能手機(jī)領(lǐng)域做出自己的平臺(tái)和開發(fā)技術(shù),白白把這個(gè)巨大的新市場(chǎng)拱手讓給了蘋果和谷歌。甚至曾經(jīng)孱弱的開源項(xiàng)目 Mono 都在這個(gè)時(shí)候突然彎道超車,走上了一條完全不同的發(fā)展道路,最終破繭成蝶。下一章我們就來看看 Mono 項(xiàng)目早期的一些故事。
相關(guān)文章:
.NET 的一點(diǎn)歷史往事:和 Java 的恩怨
.NET的一點(diǎn)歷史故事:招兵買馬和聚義山林
.NET的一點(diǎn)歷史故事:擦肩而過的機(jī)遇
原文地址:http://weibo.com/ttarticle/p/show?id=2309404102566349825331
.NET社區(qū)新聞,深度好文,微信中搜索dotNET跨平臺(tái)或掃描二維碼關(guān)注
總結(jié)
以上是生活随笔為你收集整理的.NET的一点历史故事:误入歧途,越陷越深的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Entity Framework Cor
- 下一篇: ASP.Net防范XSS漏洞攻击的利器H