前言Preface為什么要寫這本書2017年4月22日,我在知乎發起了一場“零基礎周末學習小程序開發”直播,從當晚8點開始,我一邊撰寫教程筆記,一邊與500多位學員在線互動。教學從注冊賬號開始,接著是下載微信開發者工具,然后創建個quick start項目,最后編寫后端代碼,并在微信上運行和測試所開發的小程序。從那天晚上到第二天凌晨4點,我發出了7篇教程。
在這場直播中,我原本以為大家會提問一些諸如頁面如何跳轉、數據如何緩存等技術問題,但是大家提的卻大都是一些有關小程序的邊緣問題,諸如如何下載和安裝小程序、如何獲得小程序內測資格等。
不少學員尚不知道小程序已于2017年1月9日正式上線;并且,個人也能注冊賬號;所謂的200個小程序內測資格已經成為過去式了;而且小程序不需要下載安裝。
很多學習小程序開發的學員甚至毫無編程基礎,他們對如何開發一款小程序一無所知。由此我意識到,小程序初學者最迫切需要的并不是復雜和高深的教程,而是一本簡單而全面地介紹小程序開發的圖書。全面與快速入門是其需求,基于此,筆者編寫了本書。
小程序不是一門語言,它是一門新的綜合應用技術。小程序無須下載,不用安裝,拿來即用,正所謂“事了拂衣去,不留身與名”。凡是接觸過原生iOS、Android應用開發的讀者,都能理解傳統開發技術帶給開發者的痛苦,如機型繁多、適配困難、審核周期長(iOS應用),等等。
達爾文說過,“自然界生存下來的,既不是四肢最強壯的,也不是頭腦最聰明的,而是有能力適應變化的物種。”
國內App的運營成本一直在增長,目前獲取一個新用戶的成本甚至高達30元人民幣。在這種環境下,微信的小程序應運而生。從小程序的更新歷史來看,微信之父張小龍打造新技術生態圈的決心是異常堅決的。隨著小程序技術的成熟,開發者社區的形成,在批小程序開發者賺到桶金時,這一新技術的火爆才剛剛拉開帷幕。
2017年3月27日,微信小程序開放了個人賬號申請,從此以后,不是企業也能開發小程序。
2017年3月28日,微信小程序開放了藍牙、卡券、獲知訪問場景、共享微信通訊錄等功能,并支持JS ES6新語法。
2017年4月17日,微信小程序代碼包的大小限制由1MB提升到2MB,開放了第三方平臺開發小程序的功能,開放了數據分析接口。
2017年4月20日,微信小程序對所有公眾號都開放了關聯小程序的功能。
2017年4月25日,微信小程序開放了公眾號推送文章可插入小程序的功能。
2017年5月19日,微信小程序可支持藍牙。
2017年6月21日,微信小程序開放了打開另一個小程序的功能。
2017年7月11日,微信小程序添加了富文本支持。
……隨著微信小程序不斷開放新接口與新功能,小程序的開發社區正在逐漸形成。學習一門新技術最好的契機,正是其方興未艾之時。無論是初入校園的大一新生,還是剛剛走上工作崗位的職場新人,此時學習小程序技術,正是最佳良機。你與有數十年編程經驗的老手站在了同一起跑線上,因為小程序對所有人來說都是全新的技術。今天的菜鳥,未必就不能成為明日高手。
根據我在小程序培訓中的觀察,初學者最大的痛點是感覺技術太雜,要學的東西太多。買了一堆書堆在桌上,學完這個又學那個,難于將其融會貫通。行程未遠,激情已耗大半。目前市面上還沒有一本書從前端到后端、全面介紹小程序的開發技術,已有的書籍有的介紹了小程序組件而未介紹JS語言,有的介紹了JS語言卻未講解如何開發服務端程序,而本書首次全面介紹了小程序所需要用到的所有技術,從小程序組件到WXSS樣式,從前端JS語言到后端Go語言,通過實戰案例,由淺入深地介紹小程序開發涉及的所有內容,幫助讀者快速成長為一名真正的微信全棧工程師。
讀者對象高校畢業生,中專技校畢業生。
工作1~2年的、渴望獲得加薪技能的職場新人。
渴望以軟件開發為謀生手段的自由“手藝”人。
準備報名或已參加小程序開發培訓班的讀者。
有人說,大學里最美好的事情就是找到一個喜歡的人,認認真真地談一場無關名利的戀愛。但大學里不只有戀愛,在新學期伊始就開始學習小程序開發吧,這將是送給四年后的自己最好的禮物。許多人后悔在2007年款iPhone發布時沒有開始學習iOS開發,只能羨慕那些早期的iOS開發者獲得平臺的初期紅利。現在小程序來了,企業市場對小程序的需求越來越旺,學好這門實用的技術,畢業后就不怕找不到工作;如果向往自由的生活,不想在公司打工,還可以自己接單,做SOHO一族。如果學得好,那么在校期間就可以接單,成為一名自食其力的編碼“手藝人”。
如何閱讀本書本書主要包括四篇,內容分布如下。
篇,即第1章學前準備,講解了小程序開發環境的準備及賬號的注冊。完成第1章的學習相當于取得了小程序技術殿堂的入場券。
第二篇,第2~10章,本篇是項目實戰部分,其中第2~6章講解小程序前端案例,使用了后臺地址但未涉及后臺編程;第7~10章在已有案例的基礎上添加了后端程序的支持。先學習前端,再學習后端,每次專注一個點學習,更易理解和掌握。
第三篇,第11~14章,本篇詳細地講解了所有小程序組件的使用方法,所附示例幾乎全部都是生產可用的,這就大大降低了初學者在美工上的學習門檻。
第四篇,第15~17章,本篇是綜合練習部分,系統地介紹了JS語言、Go語言、WXSS樣式語法等必備知識與技能。這3章既可作為工具手冊,以備開發查詢之需;每一章節又都有獨立的練習代碼,可便于讀者利用課余或業余的碎片時間提高編碼水平。
學習指引:
1.讀者從第1章開始到第14章,逐章學習,并運行測試所有的實例。每一章都附有源碼,讀者在學習的過程中如果遇到問題,可以下載作者的源碼對照學習。
2.待前14章全部學完,進入第15~17章的綜合學習。在這個階段的學習過程中,不妨直接用新學的知識直接深入修改前面業已完成的示例,將本書的示例變成自己的示例。如果有時間,建議將修改過程以博客的形式記錄下來,并在社區發表,可以此加深印象。
小組學習我至今最為懷念的時光,便是大學里和兩位好友在機房里通宵學編程的日子。我們三個人相互鞭策又相互欣賞,經常比較誰的代碼寫得更優雅,誰的代碼執行效率更高。
我希望每個讀者都能找到朋友或同學組成一個學習小組,或2人,或3人,共同學習,相互激勵,這樣學習的效率和動力會高許多。孔子曰“三人行,必有我師”,誠不我欺。
勘誤由于作者水平有限,寫作時間又很倉促,書中難免有不妥之處,懇請讀者批評指正。
如果讀者在閱讀過程中發現了問題,或者有什么疑問,歡迎與作者聯系。作者的郵箱是liyi rixingyike.com。
微信公眾號在學習本書的過程中,也歡迎加入作者的小程序微信群,關注微信公眾號“藝述思維”,回復“小程序”就能加入。未來作者會舉辦讀者線下交流會,請留意群內通知。
致謝感謝機械工業出版社華章公司的楊繡國老師,她的認真和敬業令我折服。
感謝支持我進行《藝術論》創作的老楊同志、何超超、云哥、琥珀人生、楊龍晨等微信好友,感謝李萌、李書衛、南陽著名甲骨文書法家郝新安、國畫家彭航、邯鄲著名書法篆刻家杜文平、開封著名書法家王德云等130位日行一刻藝術天使們兩年來的默默支持。
感謝所有讀者,希望這本書對您的學習有所幫助。
石橋碼農2017年7月于北京月亮河