Office 365开发环境概览
本文于2017年3月26日首发于LinkedIn,原文链接请参考这里
本系列文章已经按照既定计划在每周更新,此前的几篇文章如下
前面做了这么多铺垫,这一周终于要撸起袖子开干了。我将介绍如何搭建Office 365开发环境,本文将包括如下的两方面内容
- 申请Office 365一年免费的开发者账号
- 客户端开发环境介绍(Visual Studio Community,Code,Nodejs等)
申请Office 365一年免费的开发者账号
要进行Office 365开发,当然需要有完整的Office 365环境才可以。为了便于广大开发人员快速地启动这项工作,微软官方给所有开发人员提供了免费的一年开发者账号,申请地址如下 https://dev.office.com/devprogram

申请的时候,需要提交一定的信息,然后很快会收到一个确认邮件,里面有一个注册链接(带有优惠码),请注意将这个链接在浏览器的私有模式下(Private Browser)打开,然后按照提示设置账号,如果不出意外的话,五分钟内,你将拥有一个完整的Office 365的环境。
这里建议链接在浏览器的私有模式下打开,是考虑到有不少朋友可能已经有正式在用的Office 365账号,如果不是在私有模式下,则会提示说账号已经存在,不能重复申请之类的信息。如果你有Office 365的账号,理论上已经可以开始开发,但本教程将要求大家申请这个一年的免费开发者账号,以获得一致性的体验。
值得注意的是,申请下来的这个环境其实带有5个Office 365 E3 Developer的License,也就是说,你甚至还可以邀请四位同事(或者朋友)组成一个团队进行开发测试。
请注意,这里申请的是国际版的Office 365 E3,绝大部分功能在国内版的Office 365 E3中是一致的,后续文章中,如果有涉及到功能不一致的地方,我会有所说明。

正如你所看到的那样,有了Office 365的账号,你就同时拥有了在多个设备安装Office 365 ProPlus的权利,同时还有很多有意思的服务。请自行安装,后续开发期间我们将不再对此进行赘述。
如果你对Office 365还不是很熟悉,欢迎通过下面的地址快速进行学习
https://support.office.com/learn/office365-for-business?ui=en-US&rs=en-US&ad=U
客户端开发环境介绍
介绍完了服务端的环境(Office 365),接下来给大家说明一下客户端开发的环境。
本系列文章将基于如下两个主要的开发环境进行介绍
- Visual Studio 2017 Community (免费)
- Visual Studio Code (免费,跨平台支持)
这个月初发布的Visual Studio 2017 家族,一如既往的豪华阵营,有Enterprise,Professional,Community这主要三个版本。值得注意的是,Community这个版本是免费的,而Office 365的开发是完全受Community版本支持的。

在Viusal Studio 2017中开发Office 365应用,一个明显的感觉就是方便,模板和向导做的非常到位,开发人员可以将主要的精力花在业务功能上面。

另外,我要特别介绍的还有一个跨平台的免费开发工具,Visual Studio Code。所谓跨平台,是因为这个特殊的Visual Studio不仅仅可以在Windows上面运行,还可以在Mac,Linux上面运行,同时他能很好地支持开源的开发平台,例如NodeJS。
Visual Studio Code的下载地址是:http://code.visualstudio.com/

我必须告诉你,Visual Studio Code是我非常喜欢的一款编辑器,而它对于Office 365 Add-ins开发的支持,让我感到非常意外的惊喜。在进行后续文章的学习之前,你需要先对Visual Studio Code的Office Add-in开发支持有基本的了解,http://code.visualstudio.com/docs/other/office
综上所述,我这里列出来所有客户端需要的软件环境
- Windows 10 企业版或者专业版,推荐64位
- Office 365 ProPlus完整安装
- Visual Studio Community 完整安装
- Visual Studio Code
- Node ( 安装一些配套的npm模块,例如yo,gulp等)
值得一说的是,以我的经验,如果你能单独有一台开发的机器,将是更加理想的。我自己的做法是,在Azure里面申请了一台虚拟机来做本系列文章相关的演示代码的开发和调试。当然,如果你没有Azure的资源,那么在本地使用Hyper-V或者其他类似技术来实现也是可以的。
Azure提供了一个Visual Studio Community 2017 on Windows 10 Enterprise的虚拟机模板,可以极大地方便开发人员快速搭建开发环境。使用云端的虚拟机的一个好处是随时随地都可以访问到它,当然这会有一定的费用,为了避免过高的费用,你可以只在使用的时候启动该虚拟机,用完即明确停止。
Office 365开发环境概览的更多相关文章
- Office 365 开发概览系列文章和教程
Office 365 开发概览系列文章和教程 原文于2017年2月26日首发于LinkedIn,请参考链接 引子 之前我在Office 365技术社群(O萌)中跟大家提到,3月初适逢Visual St ...
- Office 365开发概述及生态环境介绍(一)
原文于2017年3月13日首发于LinkedIn,请参考这个链接 离上一篇文章,很快又过去了两星期的时间.今天抓紧晚上的时间,开始了Office 365开发系列文章的第一篇,我会帮助大家回顾一下过去O ...
- Office 365开发概述及生态环境介绍(二)
本文于2017年3月19日首发于LinkedIn,原文链接在这里 在上一篇 文章,我给大家回顾了Office发展过来的一些主要的版本(XP,2003,2007,2013等),以及在Office客户端中 ...
- [ Office 365 开发系列 ] 开发模式分析
前言 本文完全原创,转载请说明出处,希望对大家有用. 在正式开发Office 365应用前,我们先了解一下Office 365的开发模式,根据不同的应用场景,我们选择最适合的开发模式. 阅读目录 Of ...
- 《Office 365 开发入门指南》公开邀请试读,欢迎反馈
终于等来了这一天,可以为我的这本新书画上一个句号.我记得是在今年的2月份从西雅图回来之后,就萌发了要为中国的Office 365开发人员写一些东西并最终能帮到更多中国用户的想法,而从2月26日正式写下 ...
- 拥抱开源,Office 365开发迎来新时代
前言 作为全球最大的开放源代码托管平台,Github在上周迎来了它的十岁生日.自从2008年正式上线以来,Github上面汇聚了数以千万计的开发人员和各种项目,它几乎成为了开源的代名词和风向标,各大软 ...
- 《Office 365开发入门指南教程》正式上线,限时优惠和邀请分享推广
我很高兴地通知大家,<Office 365 开发入门指南教程>已经正式在网易云课堂上线,你可以通过直接访问 https://aka.ms/office365devlesson 这个短地址 ...
- 所有人都可以是开发人员——《Office 365开发入门指南》视频教程即将上市
今天是春节假期的最后一天,在这里给全国的朋友们拜个晚年,祝大家身体健康,晚年幸福啊.这个春节大家过的怎么样啊,我自己是在老家过的年,家乡的年味还是比较浓的,也再次感谢朋友圈的大家给我看了各地的风光 ...
- Python在Office 365 开发中的应用
我在昨天发布的文章 -- 简明 Python 教程:人生苦短,快用Python -- 中提到了Python已经在Office 365开发中全面受支持,有不同朋友留言或私信说想了解更加详细的说明,所以特 ...
随机推荐
- view里面的tableview顶部被view的导航栏盖住了的问题
在你要显示的控制器的viewDidLoad中添加代码 self.edgesForExtendedLayout = UIRectEdgeNone; 另外记住tableView要遵循代理cell才能显示. ...
- ActiveMQ消息队列用法
pom.xml文件如下: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http:// ...
- java-5
1.请查看String.equals()方法的实现代码,注意学习其实现方法 将此字符串与指定的对象比较.当且仅当该参数不为 null,并且是与此对象表示相同字符序列的 String 对象时,结果才为 ...
- HTML5发展史
2007年W3C(万维网联盟)立项HTML5,直至2014年10月底,这个长达八年的规范终于正式封稿. 在互联网的早期,对用户而言,能打开浏览器接入到互联网世界就是一个神奇的事情,但互联网发展到200 ...
- 解析jQuery中extend方法--源码解析以及递归的过程《二》
源码解析 在解析代码之前,首先要了解extend函数要解决什么问题,以及传入不同的参数,会达到怎样的效果.extend函数内部处理传入的不同参数,返回处理后的对象. extend函数用来扩展对象,增加 ...
- JAVA设计模式:模板设计模式
1.模板设计模式,是为了体现继承的作用.它主要的作用就是在类中定义一些公共的方法和标准,而其具体的实现则叫给其子类来根据子类具体的行为来实现:因为模板设计模式中必经还有一些自己的方法不是抽象的方法,只 ...
- ETL kettle 数据调取防止意外停止处理
pentaho kettle是目前使用比较广泛的一种etl工具 但是在使用的时候如做定时任务 会存在如果任务异常停止会发生数据不准或者丢失数据的情况 这种情况在<Pentho Kettle So ...
- 快速排序OC、Swift版源码
前言: 你要问我学学算法在工作当中有什么用,说实话,当达不到那个地步的时候,可能我们不能直接的感觉到它的用处!你就抱着这样一个心态,当一些APP中涉及到算法的时候我不想给其他人画界面!公司的项目也是暂 ...
- 简单说说NoHTTP
学习NoHttp的原因是由于公司之前做的产品使用的网络请求框架一直都是Volley(为什么使用Volley就不用多说了,最起码是谷歌开发团队自己搞的,总感觉权威一些),可是自从android6.0推出 ...
- 基础数据结构-串-KMP算法
KMP算法用于模式串字符匹配,因为没有提前预习,上课时听得云里雾里,后来回去看了一晚上,翻了一些网上的讲解才理解了.我简单讲一下,我们在一串字符串A里搜索匹配另一段字符串B时,思路最简单方法的就是从第 ...

