前不久,為了開發一個產品,我和我的同事Rae,開發了一個 boilerplate,目標是讓新進的人能更好上手,也讓我們開發的速度更快,藉由這次30天的活動,我們想要將我們開發的成果和大家分享,也希望大家有興趣的人可以給我們一些建議和 PR。
在進行內文的撰寫之前,我想先謝謝我的同事Rae 。在這個過程之中,他教了我很多(包括我的 redux 就是他教的XD)此外,這一個 boilerplate 也是在他的通力合作之下完成的。所以在撰寫這一系列文之前,我想要先強調,這個 boilerplate 並非我一個人完成的。
這次的30天鐵人文章,會同步發表於 gitbook,喜歡文章的,歡迎給我們建議和star。
此外,這個專案的名稱叫做 deeperience-react-native,也歡迎各位大大給我們 PR 或Star。
跨平台的開發一直都是工程師的夢想,也一直都是工程師關注的焦點。自從 Android 和 iOS 問世之後,大家就一直在找尋方法解決這個問題。之後陸續有PhoneGap、React Native、Xamarin、Cordova 的問世,主要的目標都是在解決這個問題。
React Native 由 Facebook 開源釋出,旨在解決跨平台的問題。React Native 官網上有一句話,可以很傳神的表達這個目標。
Learn once, Write anywhere
這句話不同於 PhoneGap 的 Write once, Run anywhere,隱含著更不一樣的思想。首先,Facebook 相信各個平台有各自的風格,例如手機有自己的體驗,網頁也有自己一套設計原則,如果像PhoneGap,把所有的平台都用同一種方法(WebView)撰寫,那麼體驗會不好。因此 Facebook 希望,學習 React 這個開發的理念和方法,套用在各個平台,適應各個平台,藉此達到完美體驗,並提升開發效率。
由於 JS 的蓬勃發展,前後端都出現大量的 framework 和 library 可以使用,例如前端就有 reactjs, angularjs, vuejs。也因此,工程師可以自由選擇要組合哪些 framework 和 library,以便達到最好的開發效果,以及得到最適應目前情況的系統。
Boilerplate 的意思是模版,意即整個網站或系統的架構。專案裡寫的 code 全部都是由這個模版所定義的風格和格式所長出的。API 有統一的 call 法,架構怎麼擺、檔案怎麼放之類的,全部都已經事先規定好了。這種感覺有一點像學測作文一樣,第一段該寫什麼,接下來該怎麼寫,只要照著這個寫法,就準沒錯。當然,boilerplate 不是這麼八股的東西,但這就是模版的用途。
一個好的模版,具有以下的特點,對於團隊的整個開發,也會是一個很大的幫助。
請參考 README.md
以下是這次30天的目錄