本文于2017年3月26日首发于LinkedIn,原文链接请参考这里

本系列文章已经按照既定计划在每周更新,此前的几篇文章如下

  1. Office 365 开发概览系列文章和教程
  2. Office 365开发概述及生态环境介绍(一)
  3. Office 365开发概述及生态环境介绍(二)

前面做了这么多铺垫,这一周终于要撸起袖子开干了。我将介绍如何搭建Office 365开发环境,本文将包括如下的两方面内容

  1. 申请Office 365一年免费的开发者账号
  2. 客户端开发环境介绍(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),接下来给大家说明一下客户端开发的环境。

本系列文章将基于如下两个主要的开发环境进行介绍

  1. Visual Studio 2017 Community (免费)
  2. 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

综上所述,我这里列出来所有客户端需要的软件环境

  1. Windows 10 企业版或者专业版,推荐64位
  2. Office 365 ProPlus完整安装
  3. Visual Studio Community 完整安装
  4. Visual Studio Code
  5. Node ( 安装一些配套的npm模块,例如yo,gulp等)

值得一说的是,以我的经验,如果你能单独有一台开发的机器,将是更加理想的。我自己的做法是,在Azure里面申请了一台虚拟机来做本系列文章相关的演示代码的开发和调试。当然,如果你没有Azure的资源,那么在本地使用Hyper-V或者其他类似技术来实现也是可以的。

Azure提供了一个Visual Studio Community 2017 on Windows 10 Enterprise的虚拟机模板,可以极大地方便开发人员快速搭建开发环境。使用云端的虚拟机的一个好处是随时随地都可以访问到它,当然这会有一定的费用,为了避免过高的费用,你可以只在使用的时候启动该虚拟机,用完即明确停止。

Office 365开发环境概览的更多相关文章

  1. Office 365 开发概览系列文章和教程

    Office 365 开发概览系列文章和教程 原文于2017年2月26日首发于LinkedIn,请参考链接 引子 之前我在Office 365技术社群(O萌)中跟大家提到,3月初适逢Visual St ...

  2. Office 365开发概述及生态环境介绍(一)

    原文于2017年3月13日首发于LinkedIn,请参考这个链接 离上一篇文章,很快又过去了两星期的时间.今天抓紧晚上的时间,开始了Office 365开发系列文章的第一篇,我会帮助大家回顾一下过去O ...

  3. Office 365开发概述及生态环境介绍(二)

    本文于2017年3月19日首发于LinkedIn,原文链接在这里 在上一篇 文章,我给大家回顾了Office发展过来的一些主要的版本(XP,2003,2007,2013等),以及在Office客户端中 ...

  4. [ Office 365 开发系列 ] 开发模式分析

    前言 本文完全原创,转载请说明出处,希望对大家有用. 在正式开发Office 365应用前,我们先了解一下Office 365的开发模式,根据不同的应用场景,我们选择最适合的开发模式. 阅读目录 Of ...

  5. 《Office 365 开发入门指南》公开邀请试读,欢迎反馈

    终于等来了这一天,可以为我的这本新书画上一个句号.我记得是在今年的2月份从西雅图回来之后,就萌发了要为中国的Office 365开发人员写一些东西并最终能帮到更多中国用户的想法,而从2月26日正式写下 ...

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

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

  7. 《Office 365开发入门指南教程》正式上线,限时优惠和邀请分享推广

    我很高兴地通知大家,<Office 365 开发入门指南教程>已经正式在网易云课堂上线,你可以通过直接访问  https://aka.ms/office365devlesson 这个短地址 ...

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

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

  9. Python在Office 365 开发中的应用

    我在昨天发布的文章 -- 简明 Python 教程:人生苦短,快用Python -- 中提到了Python已经在Office 365开发中全面受支持,有不同朋友留言或私信说想了解更加详细的说明,所以特 ...

随机推荐

  1. Java中正则表达式去除html标签

    Java中正则表达式去除html的标签,主要目的更精确的显示内容,比如前一段时间在做类似于博客中发布文章功能,当编辑器中输入内容后会将样式标签也传入后台并且保存数据库,但是在显示摘要的时候,比如显示正 ...

  2. App开发外包必须注意的四大骗局

    在app外包过程中有很多需要注意的事项,今天专门挑选注意事项中的"骗局"这个话题来与大家分享一些的常见骗局及其细节. 无论是从新闻还是身边的朋友,我们都经常可以听见"xx ...

  3. java udp (使用类调用双通信)1

    项目需要就使用了UDP通信,做了java的双方通信,其实代码还是来自之前的udp学习代码,自己加了注释,并且优化的使用类来封装关于通信类库的使用代码 目的是为了在安卓项目中使用时,可以通过实例化,调用 ...

  4. 初学NodeJs

    1.在ecmascript部分node和js其实是一样的,比如数据类型的定义,语法结构,内置对象 在js中的顶层对象 window 在node中的顶层对象 global 注意:在node中也没有什么w ...

  5. 浅谈-Lambda

    Lambda简化了匿名委托的使用,让你让代码更加简洁,优雅.据说它是微软自c#1.0后新增的最重要的功能之一. 简介: lambda运算符:所有的lambda表达式都是用新的lambda运算符 &qu ...

  6. IBM面试记

    link:http://kb.cnblogs.com/page/107213/ 话说其实我很久没有被正经面试过了.一开始去微软实习自然经过了经典的笔试和几轮面试,然后去了朋友的创业公司并立即被激动集团 ...

  7. BZOJ 3401: [Usaco2009 Mar]Look Up 仰望(离线+平衡树)

    刷银组刷得好开心= = 离线按权值排序,从大到小插入二叉树,查找树中比这个数大的 CODE: #include<cstdio>#include<iostream>#includ ...

  8. jQuery中.bind() .live() .delegate() .on()的区别 和 三种方式写光棒事件 动画

    地狱的镰刀 bind(type,[data],fn) 为每个匹配元素的特定事件绑定事件处理函数. $("a").bind("click",function(){ ...

  9. 关于select count

    关于select count,之前有一些不清楚的地方,看到阿里巴巴的Java编程规范,sql规约的第一条就是关于select count的 需要明确以下两点: 1.select count(常量)和s ...

  10. JavaScript基础——兼容性、错误处理

    JavaScript基础-错误处理Throw.Try.Catch try语句执行可能出错的代码 catch语句处理捕捉到的错误 throw语句创建自定义错误语句 发生的常见的错误类型 可能是语法错误, ...