最近有幸阅读了陈希章花了一年时间为国内开发者贡献的《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开发的四大方向(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的整体架构。

身份认证和授权使用的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技能焕发第二春。

相关文章:

  • 《Office 365 开发入门指南》

  • Ocelot——初识基于.Net Core的API网关

  • Ocelot API网关的实现剖析

  • 微服务网关Ocelot

  • 谈谈微服务中的 API 网关(API Gateway)

  • Ocelot网关

  • Ocelot统一权限验证

  • Ocelot监控

原文地址: http://www.cnblogs.com/shanyou/p/8227397.html


.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com 

Office 365也是.NET Core应用开发新战场相关推荐

  1. 入华商用四周年,Office 365小程序在路上

    ​ 微软市值已经在2018年4月17日那周初就悄然超越谷歌母公司Alphabet,成为仅次于苹果的全球第二大市值公司.投资银行摩根士丹利分析师凯什·韦斯(Keith Weiss)曾在2018年3月下旬 ...

  2. 人工智能背景下的Office 365现状和发展趋势

    作者:陈希章 发表于 2017年7月31日 引子 谈论人工智能是让人兴奋的,因为它具有让人兴奋的两大特征 -- 每个人都似乎知道一点并且以知道一点为荣,但又好像没多少人能真正讲的明白.毫无疑问,我也仅 ...

  3. Office 365 ProPlus用户基本上已经拥有Office 2019

    Office 2019 launches this year, but Office 365 Pro Plus users shouldn't expect a bunch of new featur ...

  4. 拥抱开源,Office 365开发迎来新时代

    前言 作为全球最大的开放源代码托管平台,Github在上周迎来了它的十岁生日.自从2008年正式上线以来,Github上面汇聚了数以千万计的开发人员和各种项目,它几乎成为了开源的代名词和风向标,各大软 ...

  5. dotnetcore-officeaddin-toolbox : Office 365 Add-in开发人员的工具箱

    在上一篇文章(.NET Core开源行动:一键创建Excel Add-in) 中我给大家展示了一套为Office 365 Add-in开发人员准备的模板库,你可以通过 dotnet new excel ...

  6. 拥抱开源, Office 365开发迎来新时代

    这个话题我曾经写过文章,也在一些场合做过专题分享.今天换一种方式,你可以直接点击下面这个小程序,用十分钟左右的时间,听我再讲一讲吧. 你需要在微信里面才能看到下面的小程序链接,并且可以直接点击 你可以 ...

  7. 读书笔记-Office 365开发入门指南

    作者博客 Office 365 开发概览系列 - 随笔分类 - 陈希章 - 博客园  https://www.cnblogs.com/chenxizhang/category/967796.html ...

  8. 所有人都可以是开发人员——《Office 365开发入门指南》视频教程即将上市

    今天是春节假期的最后一天,在这里给全国的朋友们拜个晚年,祝大家身体健康,晚年幸福啊.这个春节大家过的怎么样啊,我自己是在老家过的年,家乡的年味还是比较浓的,也再次感谢朋友圈的大家给我看了各地的风光和不 ...

  9. 《Office 365开发入门指南》上市说明和读者服务

    写在最开始的话 拙作<Office 365开发入门指南>上周开始已经正式在各大书店.在线商城上市,欢迎对Office 365的开发.生态感兴趣的开发者.项目经理.产品经理参考本书,全面了解 ...

最新文章

  1. 读完这45篇论文,“没人比我更懂AI了”
  2. Debian手动修改ip地址
  3. OKHTTP3源码和设计模式(下篇)
  4. java-多线程 String 常量池缓存功能带来的问题
  5. 一维二维码的提取、识别和产生
  6. vim中自动添加文件的作者、时间信息、版本等
  7. 分组后统计总数_大数据时代看排球:排球技术统计能告诉你什么?
  8. codeforces 580D Kefa and Dishes
  9. 忘记commit也会造成select查询的性能问题
  10. mysql索引0affected_mysql 创建索引和删除索引
  11. MATLAB 中 floor、round、ceil、fix 取整函数的意义和区别
  12. 运用思维导图学习数据分析的五个步骤
  13. (一)Flask 学习 —— Hello World
  14. 使用idea工具进行反编译
  15. 测试笔记本续航的软件,性能测试及续航_笔记本评测-中关村在线
  16. ClickHouse常用函数统计
  17. 点云纹理映射 matlab,一种点云模型纹理映射方法与系统与流程
  18. Java实现 LeetCode 134 加油站
  19. Elastic Sketch: Adaptive and Fast Network-wide Measurements
  20. 51单片机按键控制数码管0~9_LED数码管精选电路方案合辑

热门文章

  1. 转: javascript技术栈
  2. android 开源组件合集-UI篇(2013-11-07更新)
  3. Serializable和Parcelable
  4. 【个人笔记】关于IO类中流的整理
  5. Mysql 常用函数总结
  6. 编写一个程序,将一串字符倒序存放后输出。
  7. 里程碑 .Net7再更新,从此彻底碾压Java!
  8. 2分钟,我把网站性能优化了3倍!
  9. 值得永久收藏的 C# 设计模式套路(三)
  10. winform进度条实现