欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Office 365也是.NET Core应用开发新战场

程序员文章站 2022-04-07 17:43:21
最近有幸阅读了陈希章花了一年时间为国内开发者贡献的《Office 365 开发入门指南》。 虽然早期接触过SharePoint的开发,2007年之后就再也没有接触SharePoint的开发,这次阅读这本书让我重新认识了Office的系统开发技术,让我意识到现在的Office 开发也是.NET Cor... ......

最近有幸阅读了陈希章花了一年时间为国内开发者贡献的《Office 365 开发入门指南》。 虽然早期接触过SharePoint的开发,2007年之后就再也没有接触SharePoint的开发,这次阅读这本书让我重新认识了Office的系统开发技术,让我意识到现在的Office 开发也是.NET Core 开发技术的新战场,而且更为有心的是陈希章的范例都是使用.NET Core写的,具体地址 https://github.com/chenxizhang/office365dev。

在新CEO纳德拉的带领下,秉持“云为先”和“一个微软”的方针,微软比任何时候都更加开放和谦虚,内部协作也更紧密。Office 365发展到现在,在经过各种用户看得见和看不见的变迁和进化后,已经成为一套比较成熟的云服务,而各种进步和创新还在继续。 Office 365是一个很好的开发平台,有数以亿计的用户,据不完全统计,地球上1/7的人们在使用Office,Microsoft Graph可以让你的业务系统很容易地和Office 365 集成 起来,立即利用Office 365的强大服务增强业务应用能力。而Office Add-in则是面向所有的Office 365 & Office 开发人员的盛宴,它用来扩展Office 365 & Office的能力,用中国话讲就是“插件”。

Office 365也是.NET Core应用开发新战场

本书的内容不仅基本完整覆盖了Office 365开发的四大方向(Microsoft Graph,Office Add-in, SharePoint Add-in,Office 365 Connector),而且还包括了其他一些有意义的话题,例如有针对人工智能的话题,有商业应用平台的话题(Power Apps,Microsoft Flow,Power BI等)。

Microsoft Graph是一套RESTful的接口,所以它的所有接口都是通过标准的http方法(GET, POST, PUT, DELETE)可以直接访问到, 而且还可以通过改变Url的参数来进行筛选、排序、分页等操作,它返回的数据是标准的JSON格式,这种特性决定了Microsoft Graph是跨开发平台支持的,我们可以把它看作是微软Office 365 的API网关,对外提供统一接口层,让我想起我的开源项目Nanofabric(https://github.com/geffzhang/NanoFabric)的API网关Ocelot的角色,我们来看下这张Microsoft Graph的整体架构。

Office 365也是.NET Core应用开发新战场

身份认证和授权使用的OpenID Connect和OAuth 2.0,不仅仅是Office 365,Azure上的API验证都是用OpenID Connect和OAuth 2.0,他的实现服务是Azure活动目录(AAD),在Nanofabric 中使用IdentityServer4 来实现身份验证和授权,IdentityServer4 本身已经帮你完成了OpenID Connect和OAuth 2.0 ,而且IdentityServer4 的架构非常优秀,非常容易进行定制开发。

Office add-ins,SharePoint Add-ins,Office 365 Connectors 这三部分是Office 的功能的开发了,包括客户端、服务端和外部系统的交互集成。这是一个典型的微服务的应用系统的架构,值得我们设计应用系统参考。

Office 的扩展开发拥有悠久的历史,相比较之前的VBA(Visual Basic for Application)和VSTO(Visual Studio Tools for Office)开发,我们将这一代的Office Add-in开发技术称为“Web Add-in”,顾名思义,就是使用最普遍的Web技术来进行Office Add-in的开发。如果你已经有Web的开发经验,你将很容易地上手,无需特别学习。反过来说,这也增加了技术的门槛,对于一些早期的Office 插件开发者来说,这是一个不太熟悉的领域,要学的新东西不少,可能会增加大家的转换成本。无论如何,Web Add-in是一个有益的补充(使用它并不意味着要抛弃此前的VBA和VSTO),也是跨平台尤其是移动化的需要。总的来说,Office 365的开发已经全面向开源转型了,使用了大家最熟悉的Web技术,用到了很多开源框架和工具,特别是开源跨平台的.NET 技术.NET Core 在这里扮演了重要角色,这也是.NET Core应用的一个重要战场。

Office 365 不仅仅是无可争议的高效办公第一选择,而且秉持一贯以来的优良传统,它是一个很开放的可扩展平台。除了继续支持VBA和VSTO的扩展方式,新一代Web Add-in 将全面实现“一次编写,处处运行”的目标,发挥你的创意,定制专属的功能,可以在台式机、网页、平板、手机中得到一致性的使用体验,并且还可以与全世界的数以十亿计的Office 365用户分享。Office 365作为一个全新的平台和全新的生态,它本身也足够复杂, 这个指南包括目前Office 365所支持的开发模式的全面介绍,并且通过案例带领观众进行实践,这个指南是个入门的好手册,广大的Office开发人员转到我们的.NET Core平台上来吧,让你的Office技能焕发第二春。