所有人都可以是开发人员——《Office 365开发入门指南》视频教程即将上市
今天是春节假期的最后一天,在这里给全国的朋友们拜个晚年,祝大家身体健康,晚年幸福啊。这个春节大家过的怎么样啊,我自己是在老家过的年,家乡的年味还是比较浓的,也再次感谢朋友圈的大家给我看了各地的风光和不同的过年方式。在这个春节假期里呢,我还做了一件特殊的事情,就是准备了这套《Office 365开发入门指南》的视频教程。大家知道,2018年9月份我的这本书正式上市发行了,这是我的第一本书,自己觉得写的水平一般,还有很多可以改进的地方。承蒙大家抬爱,我今年很可能会出第二版。这一方面是因为Office 365本身在不断进化,书中有些内容需要更新,另外我自己在这一年左右时间又有不少进步,总是按捺不住想要分享给大家的。与此同时,有不少热心朋友也跟我反馈,希望有一套视频教程,便于在移动设备上面,利用碎片化时间进行学习,为此我利用这个假期先准备了这一套视频教程,并且将以此为蓝本筹划书籍的第二版。
我们都不能否认,现在的社会已经跟以往有了较大的不同,我们生活在一个数字化的社会中,不管是工作上面还是生活当中,其实都已经完全离不开各种各样的软件了。而软件开发,这个在以往看起来很高大上的职业,其实也并不是那么高冷。我自己从事软件开发及相关工作有十多年了,截止到今天,我仍然为当初的选择感到幸运。学习软件的开发,不仅仅是掌握一门技能,更重要的是能以此来理解社会的运转方式和规则。对于我们这一代人来说,最早接触的软件很可能也就是Office吧,它是那么实用,而且也并不难学。我自己从学习Office的基本使用,做些简单的电子表格,到逐渐了解它的二次开发,及现在微软的Office产品研发团队任职——有机会了解这样一个服务于全世界数以十亿计用户的软件平台是怎么开发和运营的——我由衷地感到幸运,并且希望将一些心得体会分享给更多的朋友们。
任何公司都是一个软件公司。你不能假装看不到这种变化,即便你之前没有软件开发的经验,但尝试去用开发的角度去看看你周边影响你工作和生活的软件世界,我相信会对你有很大的帮助。所以从这个意义上说,我觉得所有人都可以是开发人员,而我的这个视频教程和书籍,也是为所有这些对软件开发充满好奇的人们准备的。
我曾经看过Linux的发明者Linus 的一本书,书名叫《Just for fun》,这本有点像他自传的书,披露了他很多不为人知的故事,以及Linux如何诞生的细节,但我印象最深刻的却是他提到的一个软件发展的理论,他说软件的进化跟很多事情一样,是分为三个阶段的,首先最早期是解决"生存"的需要,即为了某一些非常具体的问题而设计的,在那个时候工具化是最重要的诉求;再后来,随着越来越多的人使用软件,以及使用软件的程度越来越高,软件就会演变为一种"社会秩序"的载体,其实只要你稍微想一下,就会发现,现在很多的软件,其背后的逻辑就是现实生活及相关秩序的映射,所谓社会秩序,就是人们需要协作和沟通,人们会有各种各样的需求,这需要一定的规则(换言之,就是秩序)来保障。最后,Linus同学认为软件的最高境界是Fun,就是好玩。这个好玩是有深层次的意义的,一方面它给使用者带来精神上的愉悦,同时给软件开发者也带来充实和满足。Linus 认为Linux本身已经达到了这个最高境界,而他所声称的Fun就是指的Linux这个体系,全世界的人都可以使用Linux,也可以为Linux做贡献,这是多么好玩的事情啊。
我自认还不能和Linus相提并论,但我有一个极大的优势,就是我比他懂Office 365,而当我有时候静下心来想一想这套软件几十年的发展,也能总结出类似的三个阶段。在上个世界八十年代,微软单独发布的Word,Excel,PowerPoint等软件,可以算得上都是各领风骚,后面随之推出的Office套装更是笑傲江湖的杰作,据不完全统计,全世界使用Office的用户约为12亿,但无论如何,这个阶段还是解决用户个体层面的问题;然后在世纪之交的时候,因应社会的发展需求,微软在Office的基础上推出了一系列的服务器产品,包括邮箱服务器,文件和协同平台,音视频会议服务器等等,逐渐将协作和沟通理念引入进来,这也是很多公司逐渐走向规划化和现代化的一个重要基础,毫无疑问,作为信息化支撑的这些软件建立了一定的社会秩序。在2011年前后,微软做出重大的决策,整合了这些客户端和服务器产品,推出了全新Office 365云平台,并且经过8年左右的运营,目前Office 365的每月活跃用户超过1.5亿,而且这些年大力投资,Office 365已经朝微服务化、平台化、智能化的方向不断演进。这可能跟Linus所提到的Just for Fun有异曲同工之妙吧。
我利用几天时间梳理了一下新的教程大纲,在与原书尽量保存一致的基础上,也做出了一些大胆的调整。例如我专门增加了Office 365平台的大局观这个模块,是希望给大家从high level介绍一下Office365的体系、应用和开发平台框架,并且列出了大量可用的链接。这个模块可以免费试听。另外,我还调整了原书内容,把Office 365的部署和管理单独整理成一个模块,这个部分将给大家介绍Office 365与Azure的关系、用户和应用程序管理的知识,这不管是对于大家用好Office 365,还是要基于Office365进行开发都是很有帮助的。此外,本次教程删除了SharePoint的章节,我希望下次有机会单独来讲那个部分,因为知识点真的很多。其他的章节,基本上保持跟原书一致,但内容有很大的修订。
准备这套教程,对我而言也是一个再次回顾和学习的好机会,也尽量避免第一次写书时的一些问题,例如语言版本、截图问题等等。整个教程共7个模块,21个PPT,都是我一个字一张图地做出来的,然后准备演示代码,录制脚本,最后才真正录制。虽然大家最终听到每个课时的视频大约30分钟到45分钟左右,但为此要花费的准备时间,可能超过一天,甚至更久。另外,我感到欣慰的是,除了写代码用到了Visual Studio,所有其他工作,包括录制视频,都是通过Office 365来完成的,这也算是一个最佳实践吧。
课程大纲的清晰版本,请参考 https://github.com/chenxizhang/office365dev/blob/master/v2/readme.md
本次课程主要适用的人群有Office365管理员,项目经理,业务平台集成产品经理,和已经有一定经验的Office Add-in开发人员(例如VBA和VSTO开发者),还有就是广大的有Web经验的开发人员。但正如我之前所提到的,如今所有人都可以是开发人员,或者至少可以学习用开发人员的思维去理解周边的软件世界,希望你也有好奇心听听这门课程。
这个视频课程的部分章节还在加紧录制中,明天就又要正式上班了,我将利用业余时间抓紧完成所有视频的录制,争取在2月下旬正式上架和大家见面。本次教程配套的演示代码和资源分享,你都可以通过上面的这个Github库找到,另外如果你有兴趣买一本教材,可以在各大电商平台找到。最后提醒大家一下,因为这也是我的第一套视频教程,我为前2000位用户准备了一定的优惠,如果你希望在课程面世第一时间收到通知,以及领取优惠券,敬请关注我的微信公众号。
所有人都可以是开发人员——《Office 365开发入门指南》视频教程即将上市的更多相关文章
- [ Office 365 开发系列 ] 开发模式分析
前言 本文完全原创,转载请说明出处,希望对大家有用. 在正式开发Office 365应用前,我们先了解一下Office 365的开发模式,根据不同的应用场景,我们选择最适合的开发模式. 阅读目录 Of ...
- 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 开发概览系列文章和教程 原文于2017年2月26日首发于LinkedIn,请参考链接 引子 之前我在Office 365技术社群(O萌)中跟大家提到,3月初适逢Visual St ...
- 《Office 365 开发入门指南》公开邀请试读,欢迎反馈
终于等来了这一天,可以为我的这本新书画上一个句号.我记得是在今年的2月份从西雅图回来之后,就萌发了要为中国的Office 365开发人员写一些东西并最终能帮到更多中国用户的想法,而从2月26日正式写下 ...
- 拥抱开源,Office 365开发迎来新时代
前言 作为全球最大的开放源代码托管平台,Github在上周迎来了它的十岁生日.自从2008年正式上线以来,Github上面汇聚了数以千万计的开发人员和各种项目,它几乎成为了开源的代名词和风向标,各大软 ...
- Office 365 开发入门
<Office 365 开发入门指南>公开邀请试读,欢迎反馈 终于等来了这一天,可以为我的这本新书画上一个句号.我记得是在今年的2月份从西雅图回来之后,就萌发了要为中国的Office 36 ...
- Office 365开发环境概览
本文于2017年3月26日首发于LinkedIn,原文链接请参考这里 本系列文章已经按照既定计划在每周更新,此前的几篇文章如下 Office 365 开发概览系列文章和教程 Office 365开发概 ...
- 《Office 365开发入门指南教程》正式上线,限时优惠和邀请分享推广
我很高兴地通知大家,<Office 365 开发入门指南教程>已经正式在网易云课堂上线,你可以通过直接访问 https://aka.ms/office365devlesson 这个短地址 ...
随机推荐
- hightopo自己用开源的方案重构一遍
经过一年多的学习吧前面路上的坑基本算踩过一遍了 所以下面计划吧hightopo网站上的demo用自己的方式重新写一遍
- mysql的ACID的理解
这是在网上copy下来的ACID的概念,可以直接跳过看后面: 1.原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节.事务执行过程中出错,会回滚到事务开 ...
- Scala知识点汇总
Scala数组小结 1.定长数组 定长数组:指长度不可变的数组Array.第一种方式:先声明一个数组,后初始化该数组: scala> val array = new Array[Double]( ...
- Python OR & AND
These are the Boolean operations, ordered by ascending priority: Operation Result Notes x or y if x ...
- TCP/IP(一)之开启计算机网络之路
阅读目录(Content) 一.局域网.广域网和Internet 1.1.局域网 1.2.广域网 1.3.Internet 二.计算机数据之间通信的过程 2.1.路由器的功能(转发收到的分组) 三.O ...
- Javascript高级编程学习笔记(29)—— BOM(3)location对象
在JS中location是一个神奇的对象 它既是window对象的属性,也是document对象的属性 它的作用主要在于保存当前文档页面的信息,以及将 url 解析为独立的片段 location对象属 ...
- RocketMQ入门手册
前言 继我上一篇博客后 分布式消息队列RocketMQ学习教程① 上一篇博客最主要介绍了几种常用的MQ,所以本博客再简单介绍一下RocketMQ的原理和简单的例子,基于Java实现,希望可以帮助学习者 ...
- Scala - 快速学习03 - 基础语法
1- 变量 变量 mutable variable 在程序运行过程中其值可能发生改变的量 关键词var定义变量,定义时直接进行求值 常量 immutable variable 在程序运行过程中其值不会 ...
- Python并发目录
Python并发目录 Python-socket网络编程 Python网络编程-IO阻塞与非阻塞及多路复用 Python进程-理论 Python进程-实现 Python进程间通信 Python进程池 ...
- Mybatis 使用备忘录
自动生成Mapper java -jar mybatis-generator-core-1.3.2.jar -configfile generatorConfig.xml -overwrite Myb ...