完整看 //Build/ 2015 Keynote - 第一天

//Build/ 是 Microsoft 一年一度的開發者大會(從 1991 年開始,//Build/ 的前身是 Microsoft PDC (Professional Developer Conference) ),今年 //Build/ 2015 依然選在許多大公司經常辦開發者大會的 San Francisco 舉辦,目前課程已經全部錄影(含課程投影片)上線到 Channel9 平台上,如果有興趣看看或複習課程,都可以從這一頁開始。按照往例活動前兩天的上午各有一場 Keynote,宣佈 Microsoft 的新佈局、以及與各個開發社群、夥伴合作的進展,內容非常豐富,接下來我用兩篇文章各自完整探討 Keynote 上宣佈的內容及其意義。

索引


開場及 Microsoft 的使命

今年第一天的 Keynote 由 Microsoft 現任 CEO -- Satya Nadella 主持,他很快就切入重點,說明已經創立 40 年 Microsoft 現今的核心價值就是致力於「Empower every person and every organization on the planet to achieve more」(使這個地球上的每一個人、每個組織能夠達成更多的目標),這裡他邀請了一位英國的作曲家(同時也是一個 app 開發人員) David William Hearn 上台示範,Surface Pro 3 及它所創作的 StaffPad 這個 Windows app 如何讓他在音樂創作上更具生產力(可從 Keynote 影片的 6 分 1 秒處開始看這段展示)。

David 展示他的 StaffPad 時,用 Surface 的觸控筆在譜上作曲,這裡應用了 Surface Pro 上特殊的筆觸及油墨 API 來讓填寫音符更加生動。

並且藉由 Surface Pro 3 的特性區分手指及觸控筆分別進行不同操作,完成一個複雜寫譜的需求。

為了讓這個目標成真,Microsoft 必須要與更多的開發者合作,不論是學生、新創團隊、企業、軟體開發公司、寫 web 的、寫手機應用的、做 IoT 等,Microsoft 都希望能夠一起創造更多的應用來達到使命。而為了要能滿足眾多開發人員的需求,Microsoft 的平台、技術及開發工具都必須更積極擁抱並整合開發人員喜愛的技術與需求,並且圍繞著三個目標前進:Build the intelligent cloudReinvent productivity & business process 以及 Create more personal computing

這三大目標剛好就對應了 Microsoft 目前的核心平台:Microsoft AzureOffice 365 以及 Windows。接下來就是分別解釋這三大目標的願景,以及目前的開發進展。

打造智慧雲端平台(Build the intelligent cloud)

Microsoft 打造的雲端平台,不希望只是談論資料中心、虛擬機器、還是儲存體,而除此之外,還提供是一個能讓開發人員做更多事的各種雲端服務,像是能夠快速打造網站 app、手機 app 及商業邏輯的 App Service、能夠處理大量資料並且建立智慧的大數據服務、機器學習服務等,讓各種需求的開發人員,都能快速地基於這個雲端平台打造應用服務、系統的基礎。接下來的這個部份就由 Microsoft Cloud and Enterprise Group 的老闆 Scott Guthrie 來介紹 Microsoft Azure。

Momentum 及平台多元性

首先介紹了 Microsoft 持續投資在 Microsoft Azure 這個雲端平台,並且在世界各個角落盡可能地佈建資料中心來提供服務,截至 2015/04 Microsoft Azure 在全球已經有 19 座資料中心,這個數字還超過競爭對手 AWS 以及 Google Cloud 的總和。這也讓開發人員完全不必擔心 Azure 的服務延展性。

而除了在硬體上不斷地擴建資料中心、投資運算設備基礎設施以外,軟體上的研發也沒閒著,為了讓 Microsoft Azure 能夠滿足各種開發情境、語言、技術的需求,光是過去一年,在 Azure 上就推出了超過 500 項大大小小的新服務。

也因為如此,Microsoft Azure 的用戶及使用量也是逐漸成長,除了能負載巨量的使用需求之外,這之中有超過 40% 的使用是來自於新創公司(Microsoft BizSpark 計劃讓新創公司能夠有使用 Microsoft Azure 的優惠)及軟體開發商,足以證明愈來愈多新應用新服務的開發以雲端平台為基礎、或是運用雲端平台的各種好處。

而受到這麼多開發人員的支持,也是因為 Microsoft Azure 不斷將開發人員喜愛的技術整合進來,所以近來火熱的 Docker container 技術,Microsoft 就與 Docker 有很深的合作,在這場 Keynote 中也邀請了 Docker CEO -- Ben Golub 來談與 Microsoft 的合作:除了讓 Docker 的技術更順利地在 Microsoft Azure 使用、可將更多的 Windows-based app 給 "dockerize" 、也與 Windows 及 Windows Server 有更多密切的開發合作等等。

而 Microsoft Azure 的 CTO - Mark Russinovich 也展示了在 Visual Studio 中如何容易地將應用程式包裝成 docker image,接著部署到 Microsoft Azure 上運作,而且還能直接在 Visual Studio 中管理及偵錯這些運作中的 docker containers。而這些功能只需要在 Visual Studio 2015 中安裝 Visual Studio 2015 Tools for Docker 這個擴充套件就可以完成。

這裡展示可以在 Visual Studio 中直接將除錯器接到 Azure 虛擬機器上的 docker container 來進行除錯,並且可以設置中斷點。

在看完精彩的 Demo 之後,Scott Guthrie 回到台上宣佈,剛才展示的 ASP.NET 應用程式執行在 Linux 的 docker container 中,是因為之前宣佈開源的 .NET Core 已經推出 for Windows/Linux/Mac OSX 三大平台的預覽版本的執行環境,所以才能這麼順利地把 .NET-based 的應用程式給 "dockerize",而且馬上就可以下載使用(參考 coreclr 這個專案的說明頁)。

高生產力的平台及開發工具

更進一步來說明,Microsoft Azure 究竟如何幫助開發人員有更高的生產力,所以推出了可以幫助開發人員快速打造 Web 應用程式、行動應用程式、以及商業邏輯服務化的 Azure App Services

而這個平台服務讓開發人員不必再煩惱要去管理底下的伺服器作業系統、運作環境的安全更新等等,直接把時間專注在應用程式的開發上,而且支援許多語言(撰文此刻支援 .NET, Node.js, PHP, Python, Java)讓開發者可以自行選擇。

並且可以整合各種線上的版本管控系統(撰文此刻支援 GitHub, Visual Studio Online, BitBucket)來做持續整合(continuous integration)。

同時不但不用自己管理機器的系統,還能夠支援根據使用量自動延展運算資源(有需要就增加,沒需要就減少),也不必擔心如何處理系統的延展問題(前提是應用程式有為系統延展考慮而撰寫)。

當然,雖然 Azure 上的服務是在公有雲的平台環境,但還是提供了虛擬網路(virtual network)的服務,讓你可以將企業內或自建機房的伺服器環境與 Azure 上的服務設定在同一個網域內,以便互相溝通串接。

另外,我們也減化了應用程式與其它 SaaS 服務的介接流程,Azure App Service 中的 Logic App 可以讓開發人員不必撰寫程式碼,只需將介接流程定義明確,就能轉變成一個服務來運作。

接著就是由 Scott Hanselman 來展示如何用 Azure App Service 來打造一個網站服務(有興趣看 Demo 可以在 keynote 影片的 31 分 32 秒處開始),說明如果要做一個電子商務網站,又要結合行動應用(包含消費者使用或營運人員使用),還要能夠與一些像是客戶關係管理的商務應用整合,要怎麼使用 Azure App Service 來完成。

而在這個展示中最讓人驚豔的部份,是在最後介紹這個應用程式是使用開源的 .NET Core 為基礎開發,然後整個開發流程當然可以在其它平台(如:Mac OSX)上來進行,但如果要在這些非 Windows 平台上開發沒有像 Visual Studio 那麼強大的 IDE 要怎麼做呢?這時就讓 Visual Studio Code 這個新開發的編輯器亮相了。

Visual Studio Code 是基於 Electron(舊稱 Atom Shell) 這個專案所開發的一個跨平台編輯器,與大家熟知的 Visual Studio 不同,Visual Studio 是 IDE(整合開發環境),除了編寫程式碼的編輯器之外還有其它的功能,如:套件管理、建置部署等等,Visual Studio Code 就是一個針對開發情境所設計的編輯器,它融入了許多過去在 Visual Studio 編輯器中的強大功能(如:語法亮度、自動完成、函式定義索引等等),而且不僅適合 C#/VB.net 這些語言,同樣的編輯器功能也適用於 HTML、CSS、JavaScript (包含 Node.js, TypeScript 等),同時還整合了 git 工具、除錯工具,企圖讓原本在 Visual Studio 中的程式碼高生產力帶到更多平台上,現在就可以下載 Windows、Linux 以及 Mac OSX 的版本。而更重要的是,Visual Studio Code 完全免費!

所以不僅是平台服務希望能提升開發者開發應用的效率,連編寫程式碼的效率也要一併提升!最後以一張圖來解釋 Visual Studio, Visual Studio Code 以及 Visual Studio Online 的功能定位:

  • Visual Studio 是功能最完整的 IDE
  • Visual Studio Code 是針對編寫程式碼情境最佳化的編輯器
  • Visual Studio Online 提供軟體開發流程所需要的各種線上服務
  • 當然,任何開發工具都能使用 Visual Studio Online 這個線上服務

宣佈 Azure 新功能及增強

打造雲機制的 Azure Service Fabric

首先宣佈的是 Azure Service Fabric,Azure 上的 PaaS 服務,如:App Service、SQL Database、Media Services 等,在使用這些服務時,不必管理底層的系統配置,只要專注在應用程式的開發就好了,若想要把手伸到底層的系統,Azure 上也有虛擬機器這樣的 IaaS 服務,可以直接從虛擬機器開始做所有的事。而 Service Fabric 就是介於 PaaS 及 IaaS 間的平台,你可以在 Service Fabric 中實作多一點細節來滿足應用程式的需求,又不必碰觸到底層的虛擬機器,甚至還可以跨雲平台、跨資料中心來整合,事實上 Azure 上許多 PaaS 服務已經是使用這項技術來提供的,所以這次的宣佈就是把這樣的平台技術開放給開發人員使用,詳細的技術細節可以參考官網上的這篇文章

SQL Database 功能強化

另外,一個應用程式總是免不了要處理資料,而且在 Azure 上 SQL Database 服務是許多應用程式開發人員的最愛,為了提升使用 Azure SQL Database 的效能,這次大會上先公佈了 SQL Database 的新功能包含:

  • TDE: Transparent Data Encryption 可以幫助你自己定義資料欄位加密的規則。
  • Full text search: 強化全文搜尋的能力
  • Elastic Database Pool (下面詳述)

值得一提的是 Elastic Database Pool 這個功能,過去當我們開發像是 SaaS 服務這樣的應用時,通常會有兩種設計資料庫的方式,一種是大家共用一顆 Database(下圖左),然後有不同的 table name 或是使用欄位區分不同用戶的資料;而另一種則是每個用戶有獨立的資料庫(下圖右)。

但這兩種方式很難延展資料庫,所以 SQL DB Elastic Database Pool 的功能就是用來解決這種多用戶 SaaS 服務的資料庫利用率問題,你可以將多個資料庫都置放在一個 pool 中,然後 pool 中的資料庫可以共享 pool 的效能,減輕管理多個資料庫的麻煩。

Azure Analytic Service

有些資料是用來應用程式中不斷操作的(如:電子商務網站的商品資料、客戶資料的),但也有些資料是專門用來分析的(如:log 或用戶行為等),資料在經過分析後才會產生智慧,Azure 上現有與資料分析有關的服務,我們給它們一個新的包裝,稱為 Azure Analytic Service,涵蓋以下這些服務。

HDInsight 就是 Hadoop,用來處理大數據的操作;Event Hub 及 Stream Analytics 是用來處理大量資料要輸入到雲端的通道;Data Factory 服務可以進行資料的搬移及轉換;Machine Learning 服務可以根據輸入的資料,套用到對應的模型後建立智能模型,可以用來反應一些問題;Power BI 則是將資料變成圖表的工具。

SQL Data Warehouse

而光是上述的服務還不夠,SQL Data Warehouse 這個新服務,是用來解決聚合多重資料來源的問題,試想你想要做一些大數據的操作,但有些資料儲存在 HDInsight 中,有些在 SQL Database 中,更有些資料可能是儲存在自建機房內的資料庫裡,SQL Data Warehouse 可以讓你設定這些資料來源,將資料匯集在一處,接下來便可以很容易地對這些集結起來的資料進行互動式的查詢、或是將這些資料視覺化,而且也可以再結合其它的分析服務(如:Machine Learning)來使用。

如此一來,為你的應用程式或服務增加智慧也不再需要複雜的架構,也不再是非常困難的事。以下圖為例,你的應用程式可能在多處(Hadoop、SQL Database)產生或儲存資料,但統統集結到 SQL Data Warehouse 後,再一併送到 Machine Learning 平台上建立智能模型,然後再回饋給應用程式使用。

這裡,Scott Guthrie 也針對 SQL Data Warehouse 與 AWS Redshift 服務做了一份比較表,以瞭解各自提供服務的差異。

Azure Data Lake

另外,下圖是一個典型的 IoT 資料串流分析的架構,資料可能會不斷產出,這些資料要儲存到哪裡也會是一個問題,

根據這樣的情境宣佈了新的服務:Azure Data Lake,它是一個基於 Hadoop File System 所開發的儲存系統,可以讓你儲存大量的資料,並且提供極高的吞吐量,更佳適合拿來儲存需要做分析的資料。同時,資料的保存性及安全性也是以企業水準等級來提供服務。

另一方面,Azure Data Lake 提供了 HDFS API,所以很方便能與原本就支援 HDFS 的分析工具(如:HDInsight、Microsoft Revolution-R Enterprise 以及 SQL Data Warehouse 等)整合使用。

有了 SQL Data Warehouse 以及 Data Lake 這兩項服務,讓 Azure Analytic Service 的圖譜更加完整。

JustGiving 的應用分享

在 Intelligent Cloud 這一節的尾聲,則是由 JustGiving 這個公益網站來說明他們是如何運用 Azure 的服務來進行資料的儲存與分析,幫助他們從資料中挖掘出更多有趣的題目。


重新定義生產力及商業流程(Reinvent productivity & business process)

這個部份,首先提及 Office 從三個方向來轉型成為一個平台。第一是用戶體驗(user experience),透過開放 API ,你可以開發程式來改變操作應用程式的行為,完成不同的事;第二點是在 Office 中產生的資料,這些資料透過 API 被開放存取,讓你的應用程式可以根據這些資料來做些動作;最後一點則是提供一些智慧模型,藉此或許可以提升使用 Office 的生產力。

Office 擴充性

接著展示了許多案例,當 Office 成為一個平台能夠開發擴充應用程式時,會是什麼樣的概念。

首先是在 Word 中直接結合 DocuSign 的服務,DocuSign 這個擴充程式可以讀取 Word 的圖文內容,然後呼叫它的數位簽章服務,整個流程就在 Word 應用程式中完成。

而下圖這個 PowerPoint 的例子,PicHit.Me 這個擴充程式可以做為一個圖庫,讓你在製作投影片時能快速地套用一些精美的圖片。

其中一個有趣的範例是在 Outlook 設定行事曆的事件時,當事件的提醒通知在手機上顯示時,就會開啟手機上的 Uber 程式來準備叫車。

這些例子都示範了,當 Office 成為一個平台,開發人員可以在上面製作各種可能的應用之後,也會大大改變人們使用 Office 或者使用應用程式的習慣,同時提升不少生產力。

Office Graph API

為了讓開發人員能夠將 Office 365 當作一個平台來開發類似上面幾個範例的 Apps,Office team 推出了 Office Graph API,開發人員可以根據這套 API 來開發 Office 的相關應用。更多的文件可參考 https://dev.office.com/ 這個網站。

Delve 服務

最後介紹了 Office Delve 這個新的應用程式,它能夠幫你在 Office 365 的平台上,找到在公司內、同事間與你有關的文件或檔案訊息,這是一個智慧化的平台,它主動分析哪些文件及檔案是你需要的,節省許多搜尋文件的時間。

 


建立更加個人化運算平台(Create more personal computing)

最後的重頭戲來到了 Windows,透過正準備推出的 Windows 10,Microsoft 覺得 Windows 10 不再只是一個單純的作業系統,它是新一代的 Windows,並且是基於更多的個人化運算所設計出來的系統,並且從設計初期,就考慮到 Windows 10 是會橫跨各式各樣的裝置,從 IoT 這樣的開發板,到手機、平板、個人電腦、XBOX One、Surface Hub、甚至是 HoloLens 等等都是 Windows 10,而在裝置間要怎麼讓用戶能夠維持使用情境、體驗、生產力的一致性,又能根據用戶的喜好來提供或調整功能,同時也不造成開發人員在 Windows 10 這個平台上開發應用程式的複雜化,就是接下來的幾項宣佈所努力追求的目標。

Windows 10 Family: One Platform, One Binary, One Store

在一月底一次 Windows 10 預覽發表會的現場已經揭露了一次 Windows 10 的目標就是橫跨不同的裝置,但提供的是相同的平台(One platform: Windows 10)。

並且在不同的 Windows 10 裝置上,提供相同的 Windows 市集(One store)。改良的 Windows Store ,一般消費者有更多的付費機制(如:整合電信商的帳單付費)、也能讓開發人員有更多的收費機制(如:訂閱式收費等)及市集追蹤機刺以便更瞭解用戶。

順勢推出 Windows Store for Business 讓企業用戶可以開發並陳列公司內使用的應用程式,而有更多客製化部署應用程式的空間。

 Windows 10 將在正式上市後的第一年免費升級,目標兩三年內達到全球 10 億台以上的裝置執行 Windows 10,這個目標將會使 Windows 10 成為世界上最多消費型裝置的平台,向開發人員宣誓在 Windows 10 上的市場潛力有多大。

而既然 Windows 10 存在於那麼多裝置上,Universal Windows App 讓你只需要開發一個應用程式,就可以在所有 Windows 10 的裝置上運做(One binary)。雖然應用程式可以通用於所有的 Windows 10 平台,但開發人員還是應該要注意不同裝置的螢幕解析度、操作方式的不同而調整應用程式的畫面排版,在 Universal Windows App 的設計建議,畫面 UI 應該要採用 Adaptive Layout 的作法,這就像是網頁設計上的 responsive web design 的概念類似,應用程式的畫面應該要能夠反應畫面大小來調整排版,而不是重做一份或是刪減功能影響一致性的操作體驗。

這是 USA Today 這個新聞應用程式的範例,下圖是在桌上型電腦的 Windows 10 下的畫面:

而如果螢幕的大小是像手機一般的裝置,就會呈現像下圖的樣子:

甚至在 XBOX One 上也能根據更大的畫面來進行調整。

 

Universal Windows Platform Bridges

而此次大會的爆點之一,就是宣佈了除了 Universal Windows Platform (UWP) 既有的開發應用程式的方式之外,為了讓更多程式開發人員能夠重覆利用在其它平台已經寫好的程式碼,目標將額外提供了四種方式讓開發人員把這些 "資產" 帶到 UWP 上來。

第一種,是將豐富的 Web 應用程式轉成 UWP 的應用程式,這個部份會運用 Windows 10 上新的瀏覽器引擎(Project Spartan 或是稍後介紹的 Microsoft Edge)來呈現,所以可以完整地保留應用程式原本在 Web 上的體驗,也可以重覆運用這些已經寫好的 HTML、CSS 及 JavaScript 程式碼。

第二種,是將傳統的 .NET 及 Win32 程式碼帶到 UWP 上,台上講的細節不多,但展示了就像是 Adobe Photoshop Elements 這樣傳統的 Windows 桌面應用程式,它大量使用 Win32 API 撰寫而成,若是這個目標能夠完成,像 Adobe Photoshop Elements 這樣的應用程式要移植到 UWP 上就更加容易了。

第三種,是目標將 Android 應用程式的 Java/C++ 程式碼帶到 UWP 上,由於 Android 系統十分複雜,在 UWP 中還放入了根據 Android Open Source Project (AOSP) 所開發的子系統以確保平台的移植性,順利移植成功的應用程式,也會適應在 Windows 10 平台上的操作模式,這部份一樣細節不多,過陣子才會詳細地公佈技術細節。

第四種,是將 iOS 上的 Objective-C 程式碼移植到 UWP 上,現在展示了使用 Visual Studio 將 iOS 的專案開啟,然後使用 Visual Studio 直接把它 build 成 UWP 的應用程式:

同時也公開了,前些日子(終於)移植上 Windows Phone 的 Candy Crush Saga 遊戲,就是運用這樣的技術進行移植,而且在 Windows Phone 市集還得到 4.5 的高評分,顯然用這樣的技術進行移植還是有相當不錯的體驗。

雖然有了 Universal Windows Phone Bridges 這樣的技術及目標,但這畢竟只是方便開發人員移植既有的程式碼,若要做到最好的 app 操作體驗,使用 UWP 原本的開發模式會是最佳的選擇。

Windows 10 更懂你(Smart Engagement)

既然說要打造更加個人化的運算平台,Windows 10 當然會根據使用者的習慣,在很多小地方主動給予建議,或者是你可能會用到的功能,像是:

個人 app 推薦

在 Windows 10 桌面上回來的開始功能表中,會根據用戶的使用習慣主動推薦 app 給你

更多鎖定畫面的互動

而在鎖定畫面上,同樣也會根據你的個人使用習慣,在鎖定畫面上跑出一些你可能需要的功能或是推薦下載的 app,下圖就是它發現你用的是平板裝置,也許就會建議你安裝一個繪圖的 app,然後體驗觸控筆的威力。

Cortana 的深度整合

當 Cortana 更深度整合 Windows 10 時,它開放了 API 讓 UWP app 可以有更多與 Cortana 互動的可能,當然平常在桌面上就會根據你的"習性"而主動給予各種訊息:

也能夠透過 Cortana 使用完整的句子,不僅是開啟 app 而且還能根據語意來到達期望的位置(深度啟動),以下圖為例,當 Joe B. 說出:「Start a chat with Terry Myerson on viber.」

Cortana 不僅會啟動 Viber 這個應用程式,還會根據語意,打開與 Terry Myerson 的交談視窗:

 

不僅如此,你甚至還能直接叫 Cortana 完成工作,如果 Joe B 改對 Cortana 說:「Tell Terry Myerson I'm running really late using viber.」時,Cortana 會直接幫你送出訊息(當然會先確認):

Microsoft Edge

之前亮相過 Windows 10 上的新瀏覽器,代號:Spartan,在這次大會 keynote 中終於宣佈了它正式的產品名稱 -- Microsoft Edge

因為我們花在瀏覽器上的時間愈來愈多,而且不再只是單純地閱讀網頁內容而已,更多的時候可能要在上面做筆記或是分享內容等等的工作,Microsoft Edge 提供了幾個生產力工具讓你可以輕易完成這些工作。

而除了可以在畫面上做筆記、分享出去之外,Microsoft Edge 的新分頁中會根據用戶的使用行為做各種的推薦,像是可能會關心的新聞、App、天氣及球賽資訊等等:

 

而且更重要的是,它可以相容以純 HTML5/JavaScript 寫成的 Google Chrome 擴充應用程式!下圖示範了在 Reddit 網站上的無限捲動擴充套件,在 Microsoft Edge 中可以正常運作。

打破裝置藩籬: Continuum

前面介紹了在 UWP 下設計 app 時應該要考慮到不同裝置的螢幕解析度或操作方式不同而能自適應(adaptive)地調整 UI,但若是一個二合一的平板電腦(如 Surface Pro),或者是平板電腦接上 dock 以後接上大螢幕呢?這裡介紹了 Windows 10 上的 Continuum 技術,它讓應用程式(UWP 及傳統桌面應用程式)"感受"到現在是平板的狀態還是(接上鍵盤滑鼠)的桌面操作模式,讓應用程式可以自行改變 UI 排版或是操作方式。

以下圖為例,接上鍵盤的 Surface Pro 3,畫面中的 3D 繪圖程式有豐富的 UI,這些都是適合使用滑鼠或鍵盤操作的:

而當 Surface Pro 3 拔掉鍵盤後就成為了平板電腦模式,這時這個 3D 繪圖程式就會自動收起這些適合鍵鼠操作的 UI,轉變成觸控(筆)模式:

這樣一來,就不必讓使用者在切換間還要自行調整 UI 的畫面或是觸控功能。

另外,同樣的技術有一個分支 -- Continuum for Phone,當手機接上藍芽鍵鼠,並且輸出畫面到大螢幕上時,原本在手機上執行的應用程式,在大畫面中也會變成適合桌面的 UI

對未來科技的想像: HoloLens

在 Windows 10 的最後,當然是眾所期盼的 HoloLens,在一月底第一次公開這項技術時讓許多人驚豔,擴增實境的概念給人耳目一新的感受,在這次大會中,HoloLens 做了更多的展示,除了開發人員可以開發 HoloGrams (HoloLens 裡的 app/widgets)

也可以應用在教學課程:

甚至是能與現實環境中的物體互動。

經由這些展示,雖然還沒有太多的細節,HoloLens 團隊希望開發人員能夠想像更多的應用可能性,而且好消息是,它也是 Windows 10 家族的一份子,所以只要會寫 UWP app,就會寫 HoloGrams 了!


結語

//Build/ 2015 大會第一天的 Keynote 宣佈了非常多訊息,但基本上就是圍繞著三大核心價值(打造智慧雲端平台、重新定義生產力、更多的個人化運算)所推出,Microsoft 除了希望幫助更多使用者完成更多工作目標,也希望開發人員能夠在這個平台上看到各種的機會,打造出更有趣、更能幫助其它人的應用程式系統。有這麼多的平台、技術、還有免費的工具,這真的是一個當軟體開發人員(software developer)最美好的時代。