WePY:在質疑中前進 | 文末福利

WePY 做者介紹

Q: 先介紹一下本身吧~前端

Gcaufy: 我 2011 年大學畢業以後,陰錯陽差的走上了 Web 開發的道路。15 年以前算是自由職業 SOHO 工做,主要給一些國外的大公司作外包系統,更多的是作後端開發。15 年以後之前端工程師的身份加入騰訊,開始負責騰訊手機充值的相關業務。編程

2016 年參加小程序內測,開發手機充值小程序版本。小程序公測一個月時,我開源了小程序上的組件化開發框架 WePY。18 年年初,我來到了微信支付。在微信支付,我主要負責 toB 端的業務,給微信支付的商家提供服務。小程序

Q: 能夠分享下當初學習編程的經歷嗎?後端

Gcaufy: 我學習編程的經歷比較久,高一的時候就開始自學 C 語言了,而後又學了單片機彙編,高中就在文曲星上寫內核代碼。上大學以後研究的東西比較雜亂,喜歡折騰一些外掛工具,搞點簡單的軟件破解之類的,當時的夢想是之後能夠從事逆向工程等比較底層的工做 。微信小程序

WePY 的開源歷程

Q: 最初開發 WePY 的緣由是什麼呢?微信

Gcaufy: 早期微信小程序是不支持組件化開發、不支持引用第三方 NPM 資源的,爲了解決開發的痛點,讓我本身在作業務開發時的體驗更友好,就去作了一個框架,實現了類 Vue 的開發體驗。前端工程師

Q: 爲何會選擇將 WePY 開源呢?框架

Gcaufy: 在開發小程序框架的過程當中,感受能夠抽出來給到全部小程序開發者去使用,因此就決定放在 GitHub 上開源,但願這套方案可以解決在小程序開發中遇到的一些實際問題。工具

另一個緣由是本身自己愛好開源,從 04 年寫的第一份代碼開始,我都會以各類形式把源代碼公開。開源既能夠幫助想學習的人,又能強迫本身去優化代碼,並且從別人的反饋和意見中,你能知道本身哪些地方還能夠作得更好。組件化

Q: 開源 WePY 的過程有什麼值得分享的經歷嗎?

Gcaufy: WePY 是一個自外而內的開源項目。2016 年 11 月份在內部開源後並無受到太多關注,因而放在 GitHub 我的帳號開源,GitHub 開源後外界關注度愈來愈高以後,內部纔開始被從新關注,而後少數內部團隊纔開始投入使用,也就是我說的自外而內的開源。大概是在 17 年初騰訊開源的同事和我以及當時我在的團隊溝通,想將項目回遷至 Tencent 域下,到 2017 年年末走完流程正式遷入Tencent 域下,至此才完成了所謂的「轉正」。

直面社區質疑

Q: 我看到 WePY 介紹是類 Vue 風格,是否能夠具體講一下 WePY 在哪些方面借鑑了 Vue 的設計?哪些地方又是與 Vue 不一樣的?

Gcaufy: WePY 在語法上借鑑了 Vue 的語法,原理則是徹底不一樣的:好比 WePY 使用的是 Angular 的髒檢查設計,而不是使用的 Vue 的 getter, setter 等,最初的想法就是利用髒檢查去繞過性能不是很好的 setData。固然從如今的反饋來看,有些當時的設計仍是不是很恰當的。

Q: 如何看待社區裏開發者提出的 WePY 代碼質量問題?

Gcaufy: 對於這個問題我是認同的,我在對外的分享裏屢次提到過 WePY 存在不少問題。項目是 2016 年 10 月份開始的,大概就花了 4 個週末的時間,而後發佈到 GitHub 上。項目有單元測試可是隻覆蓋到核心庫部分,編譯那一部分是徹底沒有測試的,後面沒有繼續把這裏補齊就是由於代碼寫得幾乎不可被測試,改造的成本無疑於重構代碼,所以這裏的質量可想而知,因此我也常常說當前項目的 Star 數與自己的質量嚴重不對等。

項目最初的想法就是解決小程序 NPM 資源引用,以及組件化開發的問題。在早期確實能提供不錯的開發效率。大概在 17 年 11 月份,官方本身推出了組件化方案,那這個時候 WePY 帶來的效率提高反而沒那麼明顯了,反到是 bug 都給暴露出來了。一直以來我都想重構代碼,但到這個時候才意識到重構迫在眉睫,這也是爲何我要作 WePY 2.0 版本的緣由。目前已經將一些 Demo 改形成 2.0 的,但願 2.0 是一個全新的,對得起開發者的版本。

Q: 最後,想問一下 WePY 這個名字含義是什麼?

Gcaufy: 一個項目最難的地方就是給它取一個響亮的名字。開始時是由於須要定義一個新的文件名後綴,在思考時第一個閃如今腦子裏的就是 cpp,那我就想用 wpp,可是搜索發現 wpp 有好多結果,可能會不利於之後的 SEO,因而就改了一個字母 wpy。因此最後框架就叫 WePY 了,實際上並無任何特殊含義,最重要的是 NPM 上這個名字仍是沒有被註冊的。


WePY 做者龔澄(經常使用ID: Gcaufy)會在掘金開發者大會 · 微信小程序專場,分享 WePY 開發實踐。

演講內容:本次分享會介紹 WePY 的開發背景、設計思想以及編譯原理,同時也會直面 WePY 如今存在的問題以及將來 WePY 的設計規劃等等。 WePY 是一個從開源社區不斷汲取營養,自我學習、不斷成長的一個產物,也但願它可以反哺開源社區,給予更多的小程序開發者們開發便利。

福利來了~

留言贈票

  • 活動時間:即日起至 9 月 6 日 20:00 截止
  • 參與方式:在本文評論區留言便可
  • 獎品設置:咱們將從評論者中隨機抽取 3 名
  • 注意事項:門票能夠轉讓,但不可退換現金

專屬優惠

掘金開發者大會 ∙ 微信小程序專場現已開始正式報名,如今正在 8 折優惠中。掘金爲讀者帶來了參與活動的專屬福利:掃碼進入小程序,輸入專屬優惠碼:「wepy」,立減 99 元(限量 10 名)!活動中,不只有乾貨滿滿的技術盛宴,還包衆多福利獎品和價值 299 元的自助午飯哦!

活動信息:

  • 官網:conf.juejin.im
  • 時間:2018年9月16日(週日)
  • 地點:北京富力萬麗酒店
  • 人數:600 名開發者

票務諮詢

  • 聯繫人:王先生
  • 電子郵箱:ticket@xitu.io
  • 電話 / 微信:18561606818
相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息