Office 365開發概述及生態環境介紹(二)

  編者按:

  Office軟件經過不斷的發展,從本地應用變成雲端的Office 365,不僅僅是對用戶體驗的改變,Office 365的新架構也爲廣大開發者提供了全新的開放的開發平臺。開發者可以基於Office 365擴展自己個性化的需求,無論是在Word、PowerPoint、Excel、Outlook、還是Sharepoint上,都可以開發與O365合二爲一的Office 365應用程序。

  今天繼續刊發專題系列文章《Office 365 開發概覽系列教程 二》,敬請關注。

  在上一篇文章,我給大家回顧了Office發展過來的一些主要的版本(XP,2003,2007,2013等),以及在Office客戶端中進行擴展開發的手段(主要提到了VBA和VSTO,這裏沒有提及SharePoint等服務器端開發,因爲後續會有專門的四篇文章介紹)。

  承蒙大家擡舉,我的這個系列文章除了首發在LinkedIn上面,同時會在Github和cnblogs以及以下兩個公衆號進行每週連載,如果有興趣的朋友,請按需關注。

  微軟中國Office 365官方公衆號,mschinaoffice365

  Excel之家ExcelHome,iexcelhome

  言歸正傳,這一篇主要有兩個話題,首先我會談一談在Office 365這個平臺上面,支持的擴展開發手段以及應用場景;其次我會介紹一下我自己理解的Office 365所提供的全新的生態環境。

  Office 365開發概述

  我想從下面幾個角度來講講Office 365開發:

  Office 365是什麼

  Office 365的開發包括哪些場景

  Office 365的開發有哪些技術手段

  Office 365並不是Office的簡單升級版本,我們以前的Office版本通常都是按照年份來編號(這個還將繼續存在),而Office 365他提供了一個全新的服務模式——基於雲的生產力平臺。簡單地說,他(永遠)包含了最新版本Office,同時還包括了在線及移動版的Office以及其他很多創新性的雲服務,來真正幫助組織或者個人釋放生產力,改善工作體驗。

  Office 365的名稱不會隨着時間而變化,也就是說,不會有Office 366或者Office 360之類的叫法,他就叫Office 365(當時取這個名字,大意是希望讓Office服務於我們的每一天)。據不完全統計,世界上大約有1/7的用戶在使用Office,我們有這個榮幸。

  從最基本的層面來看,Office 365可以像下面這樣理解

  與此同時,Office 365還在不斷地創新,推出新的服務,很多都是免費提供給現有Office 365用戶的,下面是目前國際版的截圖。

  Office 365是一個全球運營的服務,目前我們在全球38個不同的地區都有Office 365的數據中心,請參考 http://o365datacentermap.azurewebsites.net/。

  與此同時,在中國我們有兩個完全獨立的數據中心(分別位於上海和北京),由世紀互聯負責運營。請參考 http://www.21vbluecloud.com/office365。

  除了全球統一的那個國際版之外,在世紀互聯運營的這個版本,我們內部稱之爲Gallatin,大部分中國的客戶都是購買這個版本,但也有一部分有海外業務的中國客戶,會購買另外一個代號爲Yellowstone的海外版本(特指數據中心在香港或新加坡的版本)。

  最後,Office 365是基於訂閱進行授權的,用戶可以按需訂閱組件,按照具體使用的時間付費,而無需一次性購買。針對不同的組織或個人,Office 365提供了豐富多樣的訂閱選項。詳情請參考 https://products.office.com/zh-cn/business/compare-more-office-365-for-business-plans

  教育版和非營利組織版訂閱費用極低,甚至免費。

  世紀互聯的授權計劃大抵上跟國際版類似,但也有些細微的區別,有興趣的請參考 http://www.21vbluecloud.com/office365/pricing.html。從功能角度來說,核心的功能都已經落地到Gallatin,但是確實有些新推出的服務,會有一定的部署週期。

  本系列文章後續提到這些服務的時候,會做出一定的說明。

  那麼,在瞭解了Office 365的這些背景之後,我們再來看一下在Office 365 這個全新的生產力雲平臺上面,對於開發人員來說有哪些機會。

  平心而論,Office 365 本身提供的功能和服務已經非常豐富,甚至強大到讓我們的客戶都覺得目不暇接,日常用到的功能可能也只有全部功能的一小部分。但是,Office 365畢竟是一個基礎性的平臺,我們的客戶不會爲了用Office 365而用Office 365,而肯定是爲了解決他的業務需要而使用的。

  打個比方說,客戶用Word,並不會是僅僅因爲Word是一個世界一流的字處理軟件,而是因爲他(她)要編寫一份自己想要的方案或者論文,而Word正好可以幫助到他。從這種層面上來說,客戶的業務需求肯定是千奇百怪的,而且永遠不會被完全滿足,尤其不可能靠微軟一家之力、靠Office 365的標準功能就能完全滿足。

  所以,Office 365繼承了Office的一貫的優良傳統,從設計的一開始,從架構上面來說就支持開發人員在其基礎上,按照業務的需求進行定製和擴展,官方的Office開發中心清晰地展示了這方面的能力,具體來說可以有下面四個主要的場景

  Microsoft Graph

  通過Microsoft Graph,可以讓你的自定義應用系統(不管是Web 應用,還是桌面應用,抑或是移動App)通過統一的、RESTful的接口訪問到授權用戶的Office 365的資源。

  稍微深入地展開一點來說,一方面你的應用可以使用Office 365提供的Identity 服務,簡化和統一身份驗證環節;第二方面,你將直接將Office 365的能力無縫地集成到你的應用中去,免費享受到微軟強大的基礎投資帶來的好處。

  下圖提到的這個隨辦的應用,是目前國內做得很完善的與Office 365應用集成的成功案例,有興趣可以參考:

  關於Microsoft Graph,我在本系列文章的第三篇將詳細展開探討,如果有興趣的朋友,請先了解 https://developer.microsoft.com/en-us/graph/

  Office Add-ins

  Add-ins對於Office開發人員來說並不是新事物。上一篇文章我已經提到了VBA可以做Add-in(通常是通用的功能,不跟具體的文檔有關,並且需要保存爲特殊的格式——例如xlam或者xla這種纔算,稱之爲Excel Add-in),VSTO也可以做Add-in(稱之爲COM Add-in)。

  這兩種Add-in,請姑且允許我將其稱之爲傳統的Add-in。他們將需要在本地安裝和部署,並且將出現在Office應用的如下界面中,可以按需要啓用或者禁用。

  這兩種Add-in的優勢和劣勢在上一篇文章已經有詳細的說明,這裏不再贅述。Office 365的Add-in指的是基於新一代的Web技術推出的Add-in開發能力,我可以將他們稱之爲Web Add-in。

  我這裏同樣不會過分地展開細節,因爲本系列文章後續有五篇文章專門講解這個內容。我只希望大家能夠明白,爲什麼會推出Web Add-in這種新的開發模式?

  其實很簡單:

  第一我們希望提供給開發人員更好地分發Add-in的能力,如果要首先這一個目的,就最好不要依附在文檔內部,不要在本地安裝,不要再爲版本更新操心費力,對用戶來說實現一次訂購處處可用。

  第二,我們希望能夠在移動設備也能使用這些Add-in,不必要爲移動設備又單獨做一次開發。

  下面這個同樣由隨辦團隊出品的iOffice Add-in,可以安裝在Outlook或者OWA中,這個目前是免費的Add-in,可以讓隨辦的用戶之間在Outlook中進行很多有意思的互動,包括查看聯繫人,分配微任務等。

  SharePoint Add-ins

  之所以單獨將SharePoint 的Add-ins拿出來,區別於Office Add-ins,是因爲SharePoint指的是服務器端開發,在開發模式及要求的能力上面是不太一樣的。

  但以我看來,SharePoint的開發人員,向Office 365轉型會比傳統Office開發人員向Office 365來的容易,原因在於,SharePoint的開發,雖然也經歷過幾種不同的歷史階段(例如最早的WSP,到後來的Farm Solution,到後來的Sandbox Solution,再到SharePoint 2013時代橫空出世推出了App的模型),但本質上來說,其核心還是Web開發,所以有這種經驗和基礎的開發人員,在如今這種“移動優先、雲優先”的大背景下,有着一些先天的優勢,何況說,新的Add-in開發模式進一步標準化了,從邏輯上說應該還可能會更加容易一些。

  目前在Office Store中有超過1163個SharePoint Add-in,佔到全部Add-in的將近58%,足見其市場潛力。

  Office 365 Connectors

  Connector(直譯過來是連接器)是一個全新的事物。它目前在Outlook Modern Groups以及最新發布的Microsoft Teams中起到連接外部應用系統或者信息源的作用。

  這個要講起來,最根本的一點是大家要理解在企業內部協作的時候,最重要的是一個團隊的概念,而在團隊的一個共同的工作區中,我們稱之爲Group。

  在Group(Teams中稱爲Team)的日常協作過程中,可能有鏈接外部的應用系統或者信息源,以便在這些系統或者信息發生變化的時候,團隊能以一種透明的方式得到通知。

  Connector就是做這個的。目前已經默認提供了超過50個標準的Connector,但開發人員可以根據自己需要進行定製。

  介紹完了Office 365開發的典型四大場景(Microsoft Graph,Office add-ins,SharePoint Add-ins,Office 365 Connectors),這裏快速給大家提一下,作爲開發人員可以使用哪些平臺或工具來開展工作。

  從下圖可以看到,目前支持的開發平臺除了ASP.NET,還有Android+iOS這種Native App平臺,也有完全基於Javascript以及NodeJS的開發支持。這是一個開放是世界,Office 365的開發掀開了嶄新的一頁;對於開發人員來說,會有一定的挑戰,但我相信機遇更加大。

  Office 365生態環境介紹

  我很喜歡生態環境這個詞,而且我自己對這個詞很有感觸是前些年看電視節目說到某些地區由於某個物種的惡意捕殺,導致了食物鏈上其他一批物種也相應地滅絕,讓人觸目驚心。

  從當前的經濟全球化和扁平化的大背景來看,幾乎所有的公司都不可能完全靠自己贏得一切,而如果是失敗,也不可能僅僅是自身能力不夠這麼簡單。我不是什麼大領導,只是結合自己的經驗來談一下Office 365相關的生態環境及其建設。

  我在“風起雲涌:西雅圖技術培訓見聞分享” (http://dwz.cn/5zRMAZ) 這篇文章中提到,我理解微軟的成功法則是通過緊密團結和幫助客戶和合作伙伴成功來獲得成就。

  這可能看起來有點抽象,我們談點實際的。

  Office 365作爲一個逐漸完善和成熟起來的全球性生產力雲平臺,他已經取得的一些成績,以及將要進一步的發展,都完全離不開客戶和合作伙伴的參與。

  從客戶這個角度來說,我們看到越來越多客戶認識到Office 365所帶來的全新價值,在自身的數字化轉型過程中,利用Office 365提供的生產力解決方案(而不僅僅是產品)取得先機。

  Facebook的選擇讓我們看到這種級別的科技企業的決斷力,也許這正好是他能專注於業務創新的動力之一。

  合作伙伴體系一直是微軟的重要資產,在全球有數以百萬計的各種規模的合作伙伴,這一點都不誇張。每年都有一次規模盛大的全球合作伙伴大會,今年的大會將在華盛頓舉行,有意思的是,這一屆又與時俱進地改了名字,希望進一步激勵和啓迪所有人在數字化轉型的道路上銳意創新吧。

  開發人員是Office 365生態中的重要力量,在微軟內部研發工程師仍然佔了大部分的比例,至少包括基礎架構的開發團隊,Office 365功能開發的團隊,以及爲Office 365設計接口的團隊,還有一些特殊版本本地化的研發團隊等。

  對於合作伙伴的開發團隊,最重要的是結合自身業務或者客戶需求,選擇合適的切入點和自己熟悉的技術,優勢互補,利用Office 365平臺提供的基礎能力快速開展創新。

  爲了更好地建設圍繞Office 365的中文用戶社區,微軟有多個部門都在積極努力,下面這篇文章我詳細地介紹了這方面的信息,如果有興趣的朋友請參考

  大連婦科醫院排行榜 http://xzmobile.84211111.cn/

  大連婦科哪裏好 http://xzmobile.bhbyby.com/

  大連包皮醫院專業 http://bp.liaoningnk.com/


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章