在持續的產品開放之外,微信團隊這次開放到了程式碼。
12月28日,在廣州舉行的微信公開課PRO版,微信團隊現場宣佈移動客戶端開發跨平臺網路元件Mars正式開源。並首次闡述了微信終端開源的理念,解釋如何將技術開發思想、經驗、工具、程式碼元件也開放給外部開發者。
授人以魚不如授人以漁
古話說得好,授人以魚不如授人以漁。微信在產品層面開放平臺、介面的同時,也在思考如何把有價值的技術思想和工具、元件傳遞給大家。微信終端團隊試著給自己提出了一個小目標——讓天下沒有難寫的APP。
這句話很短,但想實現並沒有那麼容易。微信團隊先後建立了微信公眾號發文章,組織交流分享,但工程師間最好的交流方法是寫程式碼,最後一個很重要的環節就是技術開源。
「微信的技術經過海量使用者和複雜網路環境的檢驗,踩過了無數的坑,積累了大量實踐經驗。很少有開發者有機會和條件自己去踩一遍所有這些坑,我們通過開源專案的方式,把經驗傳遞給他們」微信公開課講師趙原表示。
微信終端開源的四大原則
什麼樣的開源有價值?程式碼寫的工整、可讀性高,只是表層要求。微信終端開發團隊認為,微信開源的高標準和嚴要求體現在四個方面:
第一價值,所有微信開源的技術內容都是源自微信實際的業務,且通過微信實際應用驗證過,保證開源的內容有價值;
第二優勢,微信最大的優勢是擁有海量的使用者。意味著在移動開發領域,微信團隊可以在很多別的開發者,根本沒有發現或者遇到複雜問題之前,率先解決掉麻煩;
第三活力,微信終端開源的元件跟隨微信迭代而迭代,不斷更新和完善;
第四易用,微信開源出去的技術專案會提供最簡單的接入方法,其他開發者可以輕易的將微信開源的專案引入到自己的APP中,將微信的能力運用在自己的APP上。
微信終端首批開源專案包括三個:Tinker熱補丁技術、MMDB移動資料庫及Mars跨平臺網路元件。其中Tinker已在9月份開源。
活力——一個不得不提的尖銳問題
很多情況下,一個內部專案的開源,即意味著這個專案的結束。但一個優秀的開源專案則要持續投入纔會有活力。
這個問題,微信團隊也有過很簡單、很暴力的想法,比如說團隊10個人,這10個人專職做功能開發,再招10個員工投入在開源專案上。但微信講究精兵策略,不浪費一兵一卒,此法行不通。
爲了解決這個問題,微信終端團隊在開發Tinker專案之前,大概用了快一年的時間解決,解決方案也很簡單。簡而言之,將開發團隊改造成一個開源化的開發模式。微信終端團隊通過對內部系統的改造,使內外部的開發模式保持基本一致,一份程式碼既可以在微信中使用,也可以在外部的開發者中使用,這樣的開源專案微信團隊其實就不需要投入額外的人力在裏面。
同時,微信團隊也收穫了很多價值,外部的開發者還可以給微信團隊反饋一些微信自己沒有發現的問題,對於微信來說這是一個很好的優化與改進的反饋渠道。最重要的一點,做開源化的改造,使得微信開發團隊可以接觸外部的開發技術,然後與自己的思想相融合,呈現出更加優秀的元件,通過這個過程,將微信團隊的學習能力做了最大化的提升。
本文來自飛象網