4
本文作者: TW洞見 | 2016-04-12 19:08 |
按:本文作者陳計節(jié),ThoughtWorks 高級咨詢師。多年的跨平臺 .NET 開發(fā)者,全棧工程師,技術(shù)布道師。擅長互聯(lián)網(wǎng)應(yīng)用程序的設(shè)計、開發(fā)和運(yùn)維等工作。
在最近的開發(fā)者大會(Build 2016)上,微軟面向開發(fā)者分享了一系列更新。對于一名開發(fā)者來說,整個三天的內(nèi)容,可以說是驚喜連連,令人激動不已??少F的是,微軟的開發(fā)者大會現(xiàn)在一再強(qiáng)調(diào)的是“任何平臺”、“免費”這些滿懷社區(qū)精神的特性。在了解完開發(fā)者大會的內(nèi)容之后,我最直接的反應(yīng)就是,Windows 平臺將會成為比以往任何時候都更好的開發(fā)者的平臺,同時 Windows 和 Office 等平臺還有大量新興的、珍貴的機(jī)會出現(xiàn)。
如果看一遍視頻時間太久的話,那本文可以幫你了解其中特別值得關(guān)注的方面,請盡情分享這份開發(fā)者的盛宴吧。
Windows 10 年度更新中將會推送一個重要功能,即 Windows subsystem for Linux,它使得我們能夠直接在 Windows 10 上運(yùn)行用戶態(tài) Linux 程序?;ヂ?lián)網(wǎng)企業(yè)多用 Linux 系列作為服務(wù)器操作系統(tǒng),但我們開發(fā)人員日常的開發(fā)和工作環(huán)境卻常常是 Windows。我們不得不一次次從“操作系統(tǒng)兼容性”的深坑里收拾好心情繼續(xù)上路。實際上,Windows 將內(nèi)置的是一個 Ubuntu 系統(tǒng)的核心部分,有了它內(nèi)置在 Windows 中,開發(fā)工作一下子“跨過山和大?!绷?,不用切換環(huán)境就直接在 Windows 里完成開發(fā)工作。
Windows subsystem for Linux 的原理是通過在操作系統(tǒng)直接實現(xiàn) Linux 系統(tǒng)調(diào)用來工作的,并不是虛擬機(jī),所以啟動飛快,性能也有保障。這樣一來,Windows 就變成了一個結(jié)合體:既擁有 Windows 原本的使用體驗,又擁有了工程師所需的 Linux 環(huán)境和工具。這基本上意味著在 Windows 上直接完成整個開發(fā)工作——不再像以前一樣在 Windows 上開發(fā),再跑到 Linux 上跑測試;或者忍受 Linux 糟糕的 GUI 和網(wǎng)頁字體的開發(fā)體驗了。
一邊開著 Vim 擼 Python,一邊還能不時瞟一眼 b 站的神吐槽,是不是有點小激動?
Build 大會第二天,紅衣教主Scott 宣布Xamarin 將集成進(jìn) Visual Studio,并提供免費版。Xamarin 是先進(jìn)的跨平臺移動應(yīng)用開發(fā)工具,能夠使用統(tǒng)一的編程模型開發(fā) iOS、Android 和 Windows UWP 應(yīng)用程序。此前它一直是收費的,還挺貴的——二月剛被微軟收購,在本次 Build 大會上,即宣布會集成進(jìn) Visual Studio,包括免費的社區(qū)版本。
Visual Studio 2015 中已經(jīng)支持了基于 Apache Cordova 開發(fā) Hybrid 移動應(yīng)用。但這兩年,經(jīng)過了著名的 Facebook 將 HTML5 應(yīng)用程序向原生應(yīng)用的改寫這樣的不成功案例之后,社區(qū)越來越對 Hybrid 應(yīng)用程序的兼容性、性能和安全性等方面存在一些疑慮,所以Hybrid 應(yīng)用方案往往只在一些局部會適當(dāng)加以運(yùn)用。
Xamarin 則是完全不同的工具,它是已被大量案例證明是可行的原生移動應(yīng)用開發(fā)方式。運(yùn)用 Xamarin 能夠開發(fā)直接調(diào)用設(shè)備 API 的原生應(yīng)用程序,它還提供了完整的界面設(shè)計器(包括故事板),并且這次還將帶來運(yùn)行在 Windows 上的 iOS 模擬器,這樣就能做到完全就不用 Mac 就能開發(fā) iOS 應(yīng)用了。目前 Xamarin 在國內(nèi)還沒有受到大量的關(guān)注和運(yùn)用,但隨著其集成進(jìn)免費的 Visual Studio 社區(qū)版,Xamarin 一定會成為移動開發(fā)的重要工具。
另外,Xamarin 線上還提供了云測試服務(wù),其中包含上千種機(jī)型的測試環(huán)境可用于運(yùn)行自動化測試。而且這套線上服務(wù)將會與免費的 Visual Studio Online 服務(wù)集成,那樣整個移動開發(fā)的 DevOps 也就齊活兒了。
.NET Core 要火,相信我。因為 .NET Core 是個新興事物,它是微軟新開發(fā)出來的新項目,它從一開始就是開源、跨平臺的,它完全是基于社區(qū)協(xié)同開發(fā)的,代碼就托管在 GitHub 上。具體來說,它是一個輕量級、模塊化、向面云的新平臺;與以往完整的 .NET 運(yùn)行時不能直接兼容;直接使用最新版本的 C# 語言和工具鏈;汲取了完整的 .NET 運(yùn)行上一些有名框架的重要特性,剔除了那些過時的、過度抽象的、與特定操作系統(tǒng)和軟件綁定的特性。可以說,.NET Core是一個“脫胎換骨,重新做人”的新事物。
社區(qū)中支持 .NET Core 的各種第三方工具也在快速地增長,已經(jīng)有支持它的 Docker 鏡像和 Yeoman生成器等工具,我們可以直接使用 Sublime Text 這樣的編輯器來開發(fā) .NET Core 應(yīng)用程序,而且JetBrains 已經(jīng)在為它開發(fā)跨平臺IDE 了。
.NET Core 應(yīng)用程序的結(jié)構(gòu)與 Node.js 等典型的輕量級應(yīng)用很類似,都是運(yùn)行時+應(yīng)用程序+第三方程序包 的形式,它的運(yùn)行時只有 10 M 大小。本次 Build 2016 大會期間,微軟在展示各種 Web 應(yīng)用的 Demo 時都已經(jīng)默認(rèn)采用 .NET Core 了。
在 Windows 平臺上,微軟展示了他們持續(xù)打造“通用應(yīng)用平臺”(UWP)的動作,比如將提供從 Win32 應(yīng)用程序向 UWP 應(yīng)用的轉(zhuǎn)換工具。開發(fā) Windows 應(yīng)用一直以來都有五花八門的技術(shù),但現(xiàn)在 Windows 平臺的終端除了 PC,其他類型的設(shè)備也多了起來。于是微軟開始推介這樣一個新的概念,希望開發(fā)者能夠“一次開發(fā),到處運(yùn)行”,兼容性的部分交給 Windows 來解決。同樣,微軟現(xiàn)在公開展示的應(yīng)用程序也盡量地改為了 UWP 應(yīng)用程序,連上面提到的 Ubuntu 子系統(tǒng)中的 Bash 終端都以 UWP 應(yīng)用程序的形式提供。
.NET Core 這個沒有歷史包袱的新平臺,加上 C# 這樣優(yōu)秀的編程語言,想不火都難;而 UWP 作為微軟主推的應(yīng)用程序模型,對于面向 Windows 用戶的應(yīng)用程序來說,是一個明確的方向。
我已經(jīng)很長一段時間沒有關(guān)注 Office 開發(fā)了,但這次 Build 2016 中分享的關(guān)于跨平臺的 Office 插件開發(fā)的消息還是令我耳目一新??傮w來說,我認(rèn)為 Office 插件是一個潛力無限,市場廣闊的方向。
以往我們可以使用 VBA 和 Interop 等技術(shù)來開展 Office 相關(guān)的開發(fā),但那些開發(fā)工作對開發(fā)人員的門檻較高,編程語言運(yùn)行時方面的限制更讓這些定制化應(yīng)用很難跨平臺。于是過去我們往往只在一些企業(yè)內(nèi)部的需求中會考慮一些定制的 Office 開發(fā)。新的 Office 插件平臺現(xiàn)在允許開發(fā)人員使用熟悉的 Web 開發(fā)技術(shù)來實現(xiàn)、并提供了跨平臺的開發(fā)、調(diào)試與發(fā)布能力——就像開發(fā)一個瀏覽器插件一樣簡單!另外,新的 Office 插件所跨的平臺不光包括各種操作系統(tǒng),還包括在線的 Office 365 和 iPad 等非桌面環(huán)境。
Office 在全球有十幾億安裝量,其深度用戶大多都是各類企業(yè)用戶,對信息打磨、數(shù)據(jù)處理的需求十分豐富,而 Office 這套新的插件平臺直接將所有 Office 用戶與開發(fā)者分享。對開發(fā)者而言,這其中的機(jī)會將是不可斗量的。
上面提到瀏覽器插件,其實以往開發(fā) IE 的插件并不是一件簡單的事,倒是 Chrome 瀏覽器的插件開發(fā)令人輕松了不少。是的,Office 的插件開發(fā)就像開發(fā)一個 Chrome 插件那樣簡單;還不止如此,Edge 瀏覽器最近也添加了對插件的支持,而 Edge 插件的開發(fā)機(jī)制不光與 Chrome 插件的開發(fā)一樣簡單,甚至大量 API 都能與 Chrome 瀏覽器 API兼容。Edge 作為 Windows 10 操作系統(tǒng)中的默認(rèn)瀏覽器,其用戶量也會穩(wěn)步上升,因此它必然也是一個不可小覷的平臺。
除了上面的各個方面,微軟還分享了一些其他工具和服務(wù),例如用于構(gòu)建智能對話機(jī)器人的 Bot 框架和智能識別的 Cognitive 服務(wù)等。這些工具切實地解決了很多難題, 提高了開發(fā)人員的效率。另外,我們看到微軟在運(yùn)用新的思路來打造已有平臺、持續(xù)改善其產(chǎn)品的同時,也在努力降低開發(fā)應(yīng)用程序的難度,同時給開發(fā)者創(chuàng)造了更多機(jī)會。
微軟在其 Visual Studio 網(wǎng)站上展示的服務(wù)思路是 “為任何開發(fā)者的任何應(yīng)用程序打造的工具”,從本次開發(fā)者大會分享的內(nèi)容來看,著實誠意滿滿,各位開發(fā)者不應(yīng)該錯過!
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。