Office 365也是.NET Core应用开发新战场
最近有幸閱讀了陳希章花了一年時間為國內(nèi)開發(fā)者貢獻的《Office 365 開發(fā)入門指南》。 雖然早期接觸過SharePoint的開發(fā),2007年之后就再也沒有接觸SharePoint的開發(fā),這次閱讀這本書讓我重新認識了Office的系統(tǒng)開發(fā)技術(shù),讓我意識到現(xiàn)在的Office 開發(fā)也是.NET Core 開發(fā)技術(shù)的新戰(zhàn)場,而且更為有心的是陳希章的范例都是使用.NET Core寫的,具體地址?https://github.com/chenxizhang/office365dev。
在新CEO納德拉的帶領(lǐng)下,秉持“云為先”和“一個微軟”的方針,微軟比任何時候都更加開放和謙虛,內(nèi)部協(xié)作也更緊密。Office 365發(fā)展到現(xiàn)在,在經(jīng)過各種用戶看得見和看不見的變遷和進化后,已經(jīng)成為一套比較成熟的云服務(wù),而各種進步和創(chuàng)新還在繼續(xù)。 Office 365是一個很好的開發(fā)平臺,有數(shù)以億計的用戶,據(jù)不完全統(tǒng)計,地球上1/7的人們在使用Office,Microsoft Graph可以讓你的業(yè)務(wù)系統(tǒng)很容易地和Office 365?集成?起來,立即利用Office 365的強大服務(wù)增強業(yè)務(wù)應(yīng)用能力。而Office Add-in則是面向所有的Office 365 & Office 開發(fā)人員的盛宴,它用來擴展Office 365 & Office的能力,用中國話講就是“插件”。
本書的內(nèi)容不僅基本完整覆蓋了Office 365開發(fā)的四大方向(Microsoft Graph,Office Add-in, SharePoint Add-in,Office 365 Connector),而且還包括了其他一些有意義的話題,例如有針對人工智能的話題,有商業(yè)應(yīng)用平臺的話題(Power Apps,Microsoft Flow,Power BI等)。
Microsoft Graph是一套RESTful的接口,所以它的所有接口都是通過標(biāo)準的http方法(GET, POST, PUT, DELETE)可以直接訪問到, 而且還可以通過改變Url的參數(shù)來進行篩選、排序、分頁等操作,它返回的數(shù)據(jù)是標(biāo)準的JSON格式,這種特性決定了Microsoft Graph是跨開發(fā)平臺支持的,我們可以把它看作是微軟Office 365 的API網(wǎng)關(guān),對外提供統(tǒng)一接口層,讓我想起我的開源項目Nanofabric(https://github.com/geffzhang/NanoFabric)的API網(wǎng)關(guān)Ocelot的角色,我們來看下這張Microsoft Graph的整體架構(gòu)。
身份認證和授權(quán)使用的OpenID Connect和OAuth 2.0,不僅僅是Office 365,Azure上的API驗證都是用OpenID Connect和OAuth 2.0,他的實現(xiàn)服務(wù)是Azure活動目錄(AAD),在Nanofabric 中使用IdentityServer4 來實現(xiàn)身份驗證和授權(quán),IdentityServer4 本身已經(jīng)幫你完成了OpenID Connect和OAuth 2.0 ,而且IdentityServer4 的架構(gòu)非常優(yōu)秀,非常容易進行定制開發(fā)。
Office add-ins,SharePoint Add-ins,Office 365 Connectors 這三部分是Office 的功能的開發(fā)了,包括客戶端、服務(wù)端和外部系統(tǒng)的交互集成。這是一個典型的微服務(wù)的應(yīng)用系統(tǒng)的架構(gòu),值得我們設(shè)計應(yīng)用系統(tǒng)參考。
Office 的擴展開發(fā)擁有悠久的歷史,相比較之前的VBA(Visual Basic for Application)和VSTO(Visual Studio Tools for Office)開發(fā),我們將這一代的Office Add-in開發(fā)技術(shù)稱為“Web Add-in”,顧名思義,就是使用最普遍的Web技術(shù)來進行Office Add-in的開發(fā)。如果你已經(jīng)有Web的開發(fā)經(jīng)驗,你將很容易地上手,無需特別學(xué)習(xí)。反過來說,這也增加了技術(shù)的門檻,對于一些早期的Office 插件開發(fā)者來說,這是一個不太熟悉的領(lǐng)域,要學(xué)的新東西不少,可能會增加大家的轉(zhuǎn)換成本。無論如何,Web Add-in是一個有益的補充(使用它并不意味著要拋棄此前的VBA和VSTO),也是跨平臺尤其是移動化的需要。總的來說,Office 365的開發(fā)已經(jīng)全面向開源轉(zhuǎn)型了,使用了大家最熟悉的Web技術(shù),用到了很多開源框架和工具,特別是開源跨平臺的.NET 技術(shù).NET Core 在這里扮演了重要角色,這也是.NET Core應(yīng)用的一個重要戰(zhàn)場。
Office 365 不僅僅是無可爭議的高效辦公第一選擇,而且秉持一貫以來的優(yōu)良傳統(tǒng),它是一個很開放的可擴展平臺。除了繼續(xù)支持VBA和VSTO的擴展方式,新一代Web Add-in 將全面實現(xiàn)“一次編寫,處處運行”的目標(biāo),發(fā)揮你的創(chuàng)意,定制專屬的功能,可以在臺式機、網(wǎng)頁、平板、手機中得到一致性的使用體驗,并且還可以與全世界的數(shù)以十億計的Office 365用戶分享。Office 365作為一個全新的平臺和全新的生態(tài),它本身也足夠復(fù)雜,這個指南包括目前Office 365所支持的開發(fā)模式的全面介紹,并且通過案例帶領(lǐng)觀眾進行實踐,這個指南是個入門的好手冊,廣大的Office開發(fā)人員轉(zhuǎn)到我們的.NET Core平臺上來吧,讓你的Office技能煥發(fā)第二春。
相關(guān)文章:
《Office 365 開發(fā)入門指南》
Ocelot——初識基于.Net Core的API網(wǎng)關(guān)
Ocelot API網(wǎng)關(guān)的實現(xiàn)剖析
微服務(wù)網(wǎng)關(guān)Ocelot
談?wù)勎⒎?wù)中的 API 網(wǎng)關(guān)(API Gateway)
Ocelot網(wǎng)關(guān)
Ocelot統(tǒng)一權(quán)限驗證
Ocelot監(jiān)控
原文地址:?http://www.cnblogs.com/shanyou/p/8227397.html
.NET社區(qū)新聞,深度好文,歡迎訪問公眾號文章匯總 http://www.csharpkit.com
總結(jié)
以上是生活随笔為你收集整理的Office 365也是.NET Core应用开发新战场的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ASP.NET Core MVC中的 [
- 下一篇: asp.net ajax控件工具集 Au