React-native項(xiàng)目入門(mén)與思考

引子

有個(gè)前端同學(xué)說(shuō)涡拘,等我學(xué)好了react-native,你們也就快失業(yè)了。樓主這小心臟一驚,真的假的爷辱,決定開(kāi)始學(xué)習(xí)一下react-native。其實(shí)之前一直做事native的開(kāi)發(fā),沒(méi)有怎么接觸過(guò)前端饭弓,對(duì)于React更是比較陌生双饥,雖然從2015年開(kāi)始它火的一塌糊涂。
這里記錄一下自己接觸react-native過(guò)程中遇到的坑和作為一個(gè)native的思考弟断。

環(huán)境搭建

React-native for android 都出來(lái)快一年的時(shí)間了咏花,環(huán)境搭建這塊有很多的文章,這里還是推薦官網(wǎng)的阀趴。React-Native 中文網(wǎng)的也不錯(cuò)環(huán)境搭建昏翰。
這里主要說(shuō)一下自己遇到的坑:

  1. 編譯運(yùn)行問(wèn)題
    Android端:
    安裝好環(huán)境后,直接運(yùn)行react-native run-android, 該命令實(shí)際是直接使用了android目錄下的gradlew命令刘急,運(yùn)行后這里報(bào)錯(cuò)了棚菊,主要是一些依賴(lài)包的問(wèn)題。這里使用Android studio導(dǎo)入工程目錄下的android排霉,然后運(yùn)行安裝窍株,ok 了。
    Ios端
    由于之前沒(méi)有ios端的經(jīng)驗(yàn)攻柠,遇到的問(wèn)題都是小白問(wèn)題球订。這里需要注意的就是xcode要在7以上,然后注意修改AppDelegate.m中的server地址:
jsCodeLocation = [NSURL URLWithString:@"http://電腦ip:8081/index.ios.bundle?platform=ios&dev=true"];
  1. Android手機(jī)上選項(xiàng)菜單不出現(xiàn)問(wèn)題
    本文中使用的測(cè)試機(jī)是小米5瑰钮,剛安裝成功后冒滩,正常搖一搖手機(jī)可以出調(diào)試菜單的,然而并沒(méi)有出來(lái)浪谴,這里需要設(shè)置該應(yīng)用的懸浮窗權(quán)限开睡,設(shè)置后可以使用。

入門(mén)基礎(chǔ)

  1. React基礎(chǔ)
    當(dāng)然首先是要有js基礎(chǔ)苟耻,學(xué)語(yǔ)言個(gè)人經(jīng)驗(yàn)是先找網(wǎng)上的入門(mén)教程也有一個(gè)大概的了解篇恒,這里推薦廖雪峰的blog,然后就是邊實(shí)踐邊學(xué)習(xí)凶杖,有了一定基礎(chǔ)后再去看大部頭的經(jīng)典教材胁艰,一般就會(huì)講的比較詳細(xì),主要是知識(shí)更系統(tǒng)智蝠,原理也會(huì)了解不少腾么,讀完后會(huì)有一個(gè)很大的提升。
    react基礎(chǔ)我看了阮一峰老師的博客杈湾,React入門(mén)實(shí)例教程.

  2. React-Native基礎(chǔ)
    這里主要是跟著官網(wǎng)的教程練習(xí)就可以了解虱,需要注意不能版本之間的一些區(qū)別。同時(shí)也要注意es5和es6的一些區(qū)別漆撞,es5和es6的區(qū)別這個(gè)文章介紹的比較好殴泰。


項(xiàng)目練習(xí)

  1. react-native-android-guide
    這里收集了很多入門(mén)的資料于宙,但是有幾個(gè)月沒(méi)有更新了。體驗(yàn)了一下文中提到的知乎日?qǐng)?bào)Android版,整體來(lái)說(shuō)效果不錯(cuò)艰匙,但是在界面切換的時(shí)候略卡限煞。
    react-native-material-design中實(shí)現(xiàn)了materal-design抹恳,效果不錯(cuò)员凝,但是作者有段時(shí)間沒(méi)有更新,如果使用最新的React-native 有些問(wèn)題奋献。
  2. awesome-react-native
    這個(gè)地址在持續(xù)更新著學(xué)習(xí)資料但主要以英文為主健霹,收集非常多react-native項(xiàng)目。這里fork了項(xiàng)目NBAreact單純覺(jué)得nba不錯(cuò)瓶蚂,哈哈糖埋。在源碼的基礎(chǔ)自己練習(xí)了知乎日?qǐng)?bào)的接口。
    這個(gè)app中使用了react-native-scrollable-tab-view窃这,一個(gè)tab切換的庫(kù)瞳别,react-native-router-flux一個(gè)界面跳轉(zhuǎn)的路由庫(kù),個(gè)人認(rèn)為很值得學(xué)習(xí)杭攻。
  3. 發(fā)現(xiàn)一個(gè)不錯(cuò)的react-native project, 代碼很整齊祟敛,使用了Redux,非常值得學(xué)習(xí)兆解。
    reading github 地址

Debug

debug需要借助于Chrome瀏覽器馆铁,首先下載react 的chrome插件,然后在應(yīng)用菜單中選擇遠(yuǎn)程調(diào)試锅睛,即可以進(jìn)行實(shí)時(shí)斷點(diǎn)調(diào)試埠巨,效果還不錯(cuò)。

總結(jié)

就接觸的幾個(gè)開(kāi)源項(xiàng)目而言现拒,在安卓手機(jī)上的應(yīng)用表現(xiàn)略卡辣垒,主要表現(xiàn)在界面切換等動(dòng)畫(huà)上。但開(kāi)放一套可以適用于兩個(gè)端印蔬,誘惑力還是很大的勋桶。對(duì)于原有的native應(yīng)用可以考慮把一些簡(jiǎn)單的界面用react-native來(lái)實(shí)現(xiàn)。

思考

總體感覺(jué)react-native 還是有挺多不完善的地方扛点,與原生代碼相比哥遮,還是有一些差距。但是react-naive 也是在不斷的完善中陵究,有點(diǎn)像早期android眠饮,有些常用的庫(kù)比較缺失,可以考慮按照native的思路多造一些輪子铜邮。特別是android作為一個(gè)開(kāi)源的系統(tǒng)仪召,很多思路都可以應(yīng)用于react-native寨蹋。比如界面切換的路由設(shè)置、數(shù)據(jù)傳遞等扔茅,theme已旧,style的通用實(shí)現(xiàn)等,native的同學(xué)可以考慮把這些功能加入到react-native中召娜。愿react-native有一個(gè)美好的前景运褪。

推薦閱讀:

React-native項(xiàng)目入門(mén)與思考
React native 項(xiàng)目入門(mén)(知乎日?qǐng)?bào),豆瓣電影玖瘸,[one]一個(gè))
React native 項(xiàng)目進(jìn)階(redux, redux saga, redux logger)
React Native 項(xiàng)目2(One 【一個(gè)】客戶(hù)端)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末秸讹,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子雅倒,更是在濱河造成了極大的恐慌璃诀,老刑警劉巖,帶你破解...
    沈念sama閱讀 207,113評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蔑匣,死亡現(xiàn)場(chǎng)離奇詭異劣欢,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)裁良,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門(mén)凿将,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人趴久,你說(shuō)我怎么就攤上這事丸相。” “怎么了彼棍?”我有些...
    開(kāi)封第一講書(shū)人閱讀 153,340評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵灭忠,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我座硕,道長(zhǎng)弛作,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,449評(píng)論 1 279
  • 正文 為了忘掉前任华匾,我火速辦了婚禮映琳,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘蜘拉。我一直安慰自己萨西,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,445評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布旭旭。 她就那樣靜靜地躺著谎脯,像睡著了一般。 火紅的嫁衣襯著肌膚如雪持寄。 梳的紋絲不亂的頭發(fā)上源梭,一...
    開(kāi)封第一講書(shū)人閱讀 49,166評(píng)論 1 284
  • 那天娱俺,我揣著相機(jī)與錄音,去河邊找鬼废麻。 笑死荠卷,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的烛愧。 我是一名探鬼主播油宜,決...
    沈念sama閱讀 38,442評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼屑彻!你這毒婦竟也來(lái)了验庙?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,105評(píng)論 0 261
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤社牲,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后悴了,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體搏恤,經(jīng)...
    沈念sama閱讀 43,601評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,066評(píng)論 2 325
  • 正文 我和宋清朗相戀三年湃交,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了熟空。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,161評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡搞莺,死狀恐怖息罗,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情才沧,我是刑警寧澤迈喉,帶...
    沈念sama閱讀 33,792評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站温圆,受9級(jí)特大地震影響挨摸,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜岁歉,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,351評(píng)論 3 307
  • 文/蒙蒙 一得运、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧锅移,春花似錦熔掺、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,352評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至努潘,卻和暖如春诽偷,著一層夾襖步出監(jiān)牢的瞬間坤学,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,584評(píng)論 1 261
  • 我被黑心中介騙來(lái)泰國(guó)打工报慕, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留深浮,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,618評(píng)論 2 355
  • 正文 我出身青樓眠冈,卻偏偏與公主長(zhǎng)得像飞苇,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子蜗顽,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,916評(píng)論 2 344

推薦閱讀更多精彩內(nèi)容