先交代備注:
- 這次有關小程序的分享只有技術的 QA環節,其他如產品、入口、流量、與公眾號的整合等等,回答都是暫時無法給出答案或不確定;
- 小程序最終發布時間官方也還未確定,不過說應該就是近期;
- 小程序的分享環節不允許錄像;
- 官方不會分享本次小程序的PPT,但是前排同學有拍照,已經統一按順利放在結尾處,強烈推薦閱讀;
- 圖片較多,打開較慢,請有心理准備。
很久沒參加技術相關的大會了,不過 11/23 特意去參加了微信官方組織的開發者培訓班,日常安排如下:

當然,其實去聽培訓偶就是為了下午要分享的 微信小程序,但是沒想到上午內容都非常的干貨,確實有很多值得思考的地方,微信生態的商業化確實令人期待。
言歸正傳,這篇文章就是介紹微信小程序分享的紀要。
先分享段視頻,內容是微小新程序的demo(比較模糊,湊活體會哈):
可以直觀的看到微小程序的體驗非常流暢。
ps:屁話,雖然用的是 Web的開發方式,但是最終的在 Client的效果是用原生實現,體驗必須流暢。
當天的內容非常多,但是這里就重點介紹幾個我覺得有意思的。
一、類 Web的開發方式、Native的體驗效果的實現原理
其實最大的收獲就是了解了小程序這套框架原理。
雖然自己有開發過幾個 demo,也看到網上很多開源的項目。但是通過官方技術同學一點點的去深入剖析,進一步理解了實現方式。
WXML -> 編譯為JS -> Virtual Tree -> DOM Tree
WXSS -> Compiler -> JS -> DPR -> CSS
ps:請重點關注 PPT中有關 View的那幾頁。
二、微信公眾平台的歷史包袱
-
注冊小程序的時候發現,不能和公眾號名稱一樣,我那時心想着不是坑爹么。
官方的解釋是:為了減少運營風險,因為如果可以一致,肯定會引起大量的名稱搶注。 -
小程序的注冊賬號不可以和公眾號、開放平台、個人微信號的郵箱重復。
我當初就直接注冊了一個新 QQ,然后用新 QQ的郵箱注冊的。
官方的解釋是自己做的不對,而且不光小程序,公眾號同樣有這個問題,都是歷史包袱導致,原因是一個賬號只能關聯一個服務,不能關聯多個。

三、被吐槽的開發者工具
如果你關注小程序開發,那么吐槽最多就是這個開發者工具。同樣,我也多次被開發者工具弄的欲哭無淚。
開發者工具和客戶端回歸的樣式不一樣?
不一樣就對了,因為暫時就是沒法保證一樣。
開發者工具是基於 nwjs,其實就是 Chrome;而 Client中其實使用的是 JSCore(IOS)和X5 JS解析器(Android)。
從基礎環境上就不是一個東西。
比如你再開發者工具中的 .js文件輸入 document或者windows之類的,特么它還給你 Autocomplete,你別天真的以為可以使用這些對象,你說這受的鳥么。

雖然一直在黑開發者工具,但是還是替他多解釋一句吧。官方表示:暫時就一個全人力在支持開發者工具...
所以不好用的原因一句定位了,這個鍋背的不容易哈~
四、請用構建的方式開發小程序
想用 node mudule?
想用 ES6?
想用 SASS?
想...
好吧,不要想太多,這些都是需要開發者自己去用構建工具搞定的。
PS:聽官方同學透露,大多數的小程序開發都是用構建工具來實現。
五、滑動事件和 Web中有區別
小程序中的 scroll 事件不好使。原因是小程序其實是客戶端界面,不是在瀏覽器里,所以沒有這個滑動事件。
但是小程序有提供滑動到底部和頭部下拉的 JS接口,分別為 onReachBottom和 onPullDownRefresh。
影響:圖片的 lazyload不要想啦。
五十張會議 PPT記錄,請查收。


















































微信小程序暫時哪哪都不美好,但是微信的生態確實預示着很多互聯網的未來。
就這樣,over.
