1. 程式人生 > >2018,如何成為一名React Native開發者?

2018,如何成為一名React Native開發者?

隨著移動端開發和React的流行,越來越多的人想要學習React Native。本文將向你推薦一些自學React Native的懇切建議,介紹一些關於React Native的學習資源,並推薦一些簡單實用的開發工具。相信只要按照本文所述的方法實踐,你一定能更快速得成為一名React Native開發者。

如果你已經看過 The State of JavaScript 2017 (2017年JavaScript狀態調查)的結果,你會發現許多有趣的資料。

其中突出的一點是:許多人想要學習React Native。

這真是太好了。過去一整年,我一直在教人們如何使用React Native。開發團隊希望通過同時觸達南非和印度的iOS和Android使用者來最大化他們的現有開發資源,而這些使用者希望通過移動應用來提高他們社群的生活質量。

一部分教授過程是通過回答開發者的郵件。他們其中很多都只是剛剛開始接觸React Native,希望找到學習React Native的最佳方法。

我經常回復郵件。其中最經常被問到的問題是,“學習ReactNative的最佳方法是什麼?”儘管沒有真正最佳的方法,但我在這裡會分享一些React Native開發者速成指南。我曾經將這個方法告訴過成百上千人。我希望這也會幫助到你。

建議

在我們深入探討如何真正成為React Native開發者之前,我想大體上給你一些自學方面的建議。我發現,只要人們投入時間,他們一般都很擅長自學。

我知道大家都很忙,但是隻要做很少一點事情,你就可以自學很多東西。

避免干擾

你正在瀏覽某個科技媒體。你可能是通過Google搜尋或者訂閱釋出,發現了這篇文章。這意味著,你可能看到或聽到很多技術相關的資訊。

這非常棒!我們生活的技術世界日新月異。

但是,這可能會令你精疲力竭,特別是當你還只是剛剛起步的時候。我的建議是——一旦你讀完這篇文章,就立馬制定一個學習計劃來讓你靜下心來踏實學習。

集中你的注意力到你正在學習的東西上,暫時隔絕新事物的干擾。學習那些核心概念,而不是不斷盲目追求最新的package或做事方法。

制定一個計劃,然後嚴格遵守。克服錯失恐懼症(FOMO,fear of missing out,即害怕錯失某些事情)。一旦你學習了基礎知識,幾周之後再來學那些東西也為時不晚。

不要將正在學習的東西投入實際產品

我經常收到一些郵件,其中人們經常嘗試將一些複雜的package整合到他們現有的App中,然後導致App無法正常執行。但是它又需要執行——這可是我的重頭App!

我知道你現在就想投身於構建自己的App。但是,那不是最好的學習方式。因為有許多變動的部分,所以這個過程會讓你感到沮喪。更可氣的是,下一週,你發現做錯了一些事情,然後必須在你的App中解決並修復這些問題。

每次學習一個概念,或一個packgeg,或一項技術。在一個隨時可以丟棄的環境或沙箱環境下學習。

一旦你在沙箱環境中掌握了新技術,然後就可以把它帶入你的實際App中了。你會更開心一些,你的程式碼會從中受益,並且你也會更清楚實際執行情況。

規劃時間

你忙,我也忙,大家都很忙。但是,我們要把時間花在重要的事情上——也許是一次就醫預約,也許是與你的老闆或投資人的一次會議,也許是與你的新愛慕物件的一次約會。

重點是——你做出一個承諾,把它安排進你的日程,然後堅持遵守。

學習和投資自己是如此重要,值得好好規劃。你需要像遵守其它重要承諾一樣來遵守你的學習計劃。

但是,我沒有時間!

抽出5分鐘時間——我知道你可以的。每天抽出獨立的5分鐘。一旦你覺得非常容易做到的時候,可以將時間提升到10分鐘。然後當你適應了10分鐘的時候,可以再將時間提升到15分鐘。

重點是,你要將它安排進你的日程並且把它放在顯眼的位置。相信我,這很有效。

我的學習時間是在吃午飯前的30分鐘以及晚飯後的15-30分鐘。

制定一個學習計劃

我之前已經提到這一點,但是我真的很想再重述這一點。制定一個計劃是有好處的。你可能已經為生活中的許多事情制定計劃——為什麼不為學習React Native這件事制定一個計劃呢?

回到我的第一條建議——如果你沒有計劃,你會發現自己在盲目追逐媒體上最新的東西。現在不是你做那些事情的時候。現在你需要制定一個學習計劃。

我建議你:檢視我下面提到的學習資源,瀏覽它們提供的內容,並且把這排進你的日程。靜下心來踏實學習,直到掌握為止,然後再檢視其他東西。

制定一個學習計劃可能看起來像一場戰爭,或者看起來非常複雜。但其實不是這樣!為了消除分心,我為你制定了一個和本文所述相匹配的學習計劃。你可以 直接下載

[當我第一次嘗試ReactNative的時候,我覺得這只是網頁開發者涉足原生移動應用領域的歪門邪道。我認為一個js開發者可以使用javascript來構建iPhone應用確實是一件很酷的事情

不要光學不練

我發現許多在 我課程 中的學生都有這個問題。他們觀看視訊,然後就完事了。應該一邊看視訊一邊編碼,或者在視訊結束之後立即編寫一些我視訊中做的東西。

學習並且實踐是我們變得精通並真正明白的方式。你會遇到必須除錯的一些問題,思考為什麼一些事情是用某種方式處理的,然後你就會留下深刻記憶。

不要光學,要多實踐。

學習資源

JavaScript

簡單、免費而且有趣。

想要更多資源?這裡有許多——由 Eric Elliott 策劃。 

任何程式語言都包含許多內容。如果你只是對學習React Native開發中常見的ES6功能感興趣,我這裡為你整理了一份大綱。

React

對於使用React Native來說,理解React是必要的。從名字上就可以看得出,React官方文件對你應該很有幫助。

我是 Dan Abramov 的React教材的熱粉,它會教你使用React所需要知道的一些事情。 

如果你剛剛接觸JSX,這會幫到你:

我也經常參考各種生命週期方法,因為我的大腦拒絕記住它們。

React Native

和React一樣,你應該先去看看官方文件,特別是學習基礎指南的時候。

一旦你看過了官網資料,我這裡為你準備了一份 免費課程 。它會一步步教會你如何用React Native構建一個貨幣匯率換算器。 

另外一個免費的乾貨資源是 Devin Abbott 的《React Native Express》。 

這些資源應該會讓你打下牢固的基礎。

工具

學習新東西時最難的事情是,確保你已經正確搭建了開發環境,使得你真的可以進行學習。這裡有一些使得搭建環境更容易的工具。

Expo

Expo使得開發移動應用難以想象得容易。它允許你構建移動App而不管你是基於哪個平臺。有一些可能會困擾你的原生技術,你在這個學習階段不需要擔心,Expo會負責處理它們。

另外一個好處是——它們為你提供了許多預設API(例如獲取相機、獲取圖示等),因此你不必再為安裝類似API而擔憂。它都提供給你了。

如果你從來沒有用過React Native,或者就算你曾經用過,我也強烈推薦你試試這款工具。我現在就是用它來構建我所有的App的。

React Navigation

你的App通常會有多屏內容。可以試試用React Navigation來處理導航。它非常易用,而且大部分你遇到的教程(一旦你完成了你的學習計劃!)都可能是使用它來處理導航的。

React Native Elements

React Native Elements是一個UI庫,它可以使你快速容易地製作好看的App。

除了提供通用UI元件之外,它還是學習如何使用React Native的一種非常好的方式。其中的元件設計得非常好,這是一個深入學習如何組織和構建你自己的UI元件的非常好的專案。

哇!這裡有太多東西了。它會為你提供一個開始學習React Native的非常棒的地方。

記住,制定你的學習規劃。我總結了一份學習指南,幫助你一步步學習我羅列出來的資源。我將它按邏輯和時間估計分組——你只需要將它排進你的日程就可以了。

想要我為本文總結的學習計劃? 立即點選下載吧

關於作者

Spencer Carli是一名學生/老師/披薩狂魔。他主要寫一些關於React Native、Meteor的文章。他非常熱心,經常通過郵件和線上課程來幫助人們學習React Native。如果你遇到了問題,可以在 Twitter 上跟他交流。