react-native實(shí)現(xiàn)一款簡(jiǎn)單的天氣預(yù)報(bào)iOS栈源,android客戶端

前言

本項(xiàng)目與菜譜項(xiàng)目是一個(gè)對(duì)比;有興趣的可以了解下

本項(xiàng)目的使用react-native提供的傳統(tǒng)stateprops管理搭建項(xiàng)目。菜譜項(xiàng)目是使用react-redux,redux土童,react-navigation;

我本著使用最原始的構(gòu)建方式目的是為了和用redux,react-redux構(gòu)建項(xiàng)目做一個(gè)對(duì)比荸实,為各位對(duì)兩者搭建項(xiàng)目的不同列出簡(jiǎn)單的對(duì)比;

菜譜項(xiàng)目會(huì)詳細(xì)介紹redux,react-redux的使用

傳統(tǒng)方式

  • 組件管理state,當(dāng)一個(gè)組件交互多的時(shí)候惭载,state中的值越來越龐大旱函,簡(jiǎn)單的通過setState更新UI這會(huì)讓你管理state更加的不易,這樣會(huì)把應(yīng)用邏輯放在組件中描滔,會(huì)使組件代碼量越來越多
  • 通過props傳值和回調(diào)棒妨。通過props正向傳值沒什么問題,但是當(dāng)組件的封裝層級(jí)越深,反傳就會(huì)越復(fù)雜含长,這就導(dǎo)致回調(diào)很多層次才達(dá)到你想把子組件的值回調(diào)目的組件券腔,這使得逆向傳值復(fù)雜化

redux的方式

  • store管理state,當(dāng)然也可以在組件中管理state(不推薦使用), 全局的方式
  • action編寫應(yīng)用邏輯, 不管封裝多少層, 你都可以在子組件中通過connect方法連接action, action通過dispatch通知負(fù)責(zé)目的父組件statereducer更新state中的變量, 更新父組件,組件中的邏輯代碼被抽開,在這里可以編寫交互事件的邏輯拘泞,網(wǎng)絡(luò)請(qǐng)求纷纫,數(shù)據(jù)處理等,降低了模塊間耦合度
  • reducer管理state的更新與否陪腌,當(dāng)然最好配合Immutable使用更加方便

學(xué)習(xí)經(jīng)歷

目前移動(dòng)端的混合開發(fā)越來與火了,目前比較成熟的混合開發(fā)框架包括react-native,Ionic,Weex等,總之很多

相比下react-native還是蠻火的辱魁,不僅有成熟的web框架react,還有react-native開發(fā)移動(dòng)app

我前段時(shí)間學(xué)習(xí)react-native的學(xué)習(xí)歷程

個(gè)人學(xué)習(xí)中做的小Demo,有興趣可以共同學(xué)習(xí)一下
react-native-learn不斷更新...

github源碼---react-native-weather

項(xiàng)目簡(jiǎn)介

純粹使用react-native的UI組件和提供的Animated Api實(shí)現(xiàn)的一款天氣預(yù)報(bào)的app;功能主要包括:城市列表偷厦,城市搜索商叹,城市添加燕刻,設(shè)置默認(rèn)城市只泼,15天天氣預(yù)報(bào),24小時(shí)天氣詳情卵洗,生活指數(shù)请唱,天氣詳情。
技術(shù)點(diǎn)實(shí)現(xiàn):

  • 分頁組件
  • 仿iOS的搜索框
  • 毛玻璃效果
  • 側(cè)滑刪除过蹂,設(shè)置默認(rèn)
  • FlatList 橫向
  • 導(dǎo)航組件
  • 組件數(shù)據(jù)流的傳遞
  • 基于react-native實(shí)現(xiàn)的簡(jiǎn)單動(dòng)畫
  • 導(dǎo)航條的封裝
  • 手勢(shì)與動(dòng)畫相結(jié)合的滑動(dòng)效果的實(shí)現(xiàn)

項(xiàng)目截圖

使用框架

"react": "16.0.0-alpha.6",
"react-native": "0.44.0",
"react-native-blur": "^3.1.2",
"react-native-deprecated-custom-components": "^0.1.0",
"react-native-drawer": "^2.3.0",
"react-native-swipeout": "^2.0.13"

  • react-native-deprecated-custom-components是facebook廢棄的組件框架
    • 項(xiàng)目用到了naviagtor實(shí)現(xiàn)導(dǎo)航組件, 在0.44.0的react-native已經(jīng)被廢棄,官方已經(jīng)推薦react-navigation,下一個(gè)菜譜項(xiàng)目項(xiàng)目會(huì)用到
  • react-native-swipeout實(shí)現(xiàn)側(cè)滑功能

react-native-swipeout

  • react-native-drawer 實(shí)現(xiàn)側(cè)邊欄效果

react-native-drawer

  • react-native-blur 實(shí)現(xiàn)毛玻璃效果

react-native-blur

項(xiàng)目安裝,運(yùn)行

下載

git clone https://github.com/liuboshuo/react-native-weather.git

安裝

切換到項(xiàng)目工作環(huán)境,在terminal執(zhí)行

npm install

react-native link react-native-blur

運(yùn)行

react-native run-android

Run android avd and start an emulator

react-native run-ios

心得

  • 使用傳統(tǒng)的方式編寫復(fù)雜的業(yè)務(wù)邏輯十绑,這樣會(huì)使代碼量多,模塊依賴嚴(yán)重
  • 我們都知道web編寫style是一件繁瑣的事情酷勺,雖然react-native的style比web的css更簡(jiǎn)單本橙。但是當(dāng)app復(fù)雜化的時(shí)候(比如管理皮膚),怎么樣管理app的統(tǒng)一style? 求解脆诉?
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末甚亭,一起剝皮案震驚了整個(gè)濱河市贷币,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌亏狰,老刑警劉巖役纹,帶你破解...
    沈念sama閱讀 217,406評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異暇唾,居然都是意外死亡促脉,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門策州,熙熙樓的掌柜王于貴愁眉苦臉地迎上來瘸味,“玉大人,你說我怎么就攤上這事够挂×蚋辏” “怎么了?”我有些...
    開封第一講書人閱讀 163,711評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵下硕,是天一觀的道長(zhǎng)丁逝。 經(jīng)常有香客問我,道長(zhǎng)梭姓,這世上最難降的妖魔是什么霜幼? 我笑而不...
    開封第一講書人閱讀 58,380評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮誉尖,結(jié)果婚禮上罪既,老公的妹妹穿的比我還像新娘。我一直安慰自己铡恕,他們只是感情好琢感,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,432評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著探熔,像睡著了一般驹针。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上诀艰,一...
    開封第一講書人閱讀 51,301評(píng)論 1 301
  • 那天柬甥,我揣著相機(jī)與錄音,去河邊找鬼其垄。 笑死苛蒲,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的绿满。 我是一名探鬼主播臂外,決...
    沈念sama閱讀 40,145評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了漏健?” 一聲冷哼從身側(cè)響起辜膝,我...
    開封第一講書人閱讀 39,008評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎漾肮,沒想到半個(gè)月后厂抖,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,443評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡克懊,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,649評(píng)論 3 334
  • 正文 我和宋清朗相戀三年忱辅,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片谭溉。...
    茶點(diǎn)故事閱讀 39,795評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡墙懂,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出扮念,到底是詐尸還是另有隱情损搬,我是刑警寧澤,帶...
    沈念sama閱讀 35,501評(píng)論 5 345
  • 正文 年R本政府宣布柜与,位于F島的核電站巧勤,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏弄匕。R本人自食惡果不足惜颅悉,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,119評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望迁匠。 院中可真熱鬧剩瓶,春花似錦、人聲如沸城丧。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽亡哄。三九已至枝缔,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間磺平,已是汗流浹背魂仍。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工拐辽, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留拣挪,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,899評(píng)論 2 370
  • 正文 我出身青樓俱诸,卻偏偏與公主長(zhǎng)得像菠劝,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子睁搭,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,724評(píng)論 2 354

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