陳希章(O365開發指南):所有人都可以是開發人員——《Office 365開發入門指南》

  • 2019 年 11 月 29 日
  • 筆記

今天是春節假期的最後一天,在這裡給全國的朋友們拜個晚年,祝大家身體健康,晚年幸福啊。這個春節大家過的怎麼樣啊,我自己是在老家過的年,家鄉的年味還是比較濃的,也再次感謝朋友圈的大家給我看了各地的風光和不同的過年方式。在這個春節假期里呢,我還做了一件特殊的事情,就是準備了這套《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來完成的,這也算是一個最佳實踐吧。

本次課程主要適用的人群有Office365管理員,項目經理,業務平台集成產品經理,和已經有一定經驗的Office Add-in開發人員(例如VBA和VSTO開發者),還有就是廣大的有Web經驗的開發人員。但正如我之前所提到的,如今所有人都可以是開發人員,或者至少可以學習用開發人員的思維去理解周邊的軟件世界,希望你也有好奇心聽聽這門課程。

這個視頻課程的部分章節還在加緊錄製中,明天就又要正式上班了,我將利用業餘時間抓緊完成所有視頻的錄製,爭取在2月下旬正式上架和大家見面。本次教程配套的演示代碼和資源分享,你都可以通過屏幕上面的這個Github庫找到,另外如果你有興趣買一本教材,可以在各大電商平台找到。最後提醒大家一下,因為這也是我的第一套視頻教程,我為前2000位用戶準備了一定的優惠,如果你希望在課程面世第一時間收到通知,以及領取優惠券,敬請關注我的微信公眾號。

最後,感謝大家的關注和支持,祝大家新的一年順利,吉祥!