從零到一:用ReactNative開發(fā)的第一個(gè)跨平臺(tái)app

易快遞梧乘,一款物流查詢跨平臺(tái)app,功能雖簡(jiǎn)單稼虎,但“麻雀雖小衅檀,五臟俱全”,是本人基于Facebook出品的ReactNative開發(fā)的第一個(gè)跨平臺(tái)app霎俩,Learn once, write anywhere哀军。

本文已授權(quán)微信公眾號(hào):Android經(jīng)驗(yàn)分享沉眶,在微信公眾號(hào)平臺(tái)原創(chuàng)首發(fā)。

APK安裝地址

國際案例杉适,有圖有真相:

首頁效果圖
查快遞和物流詳情
寄快遞和掃描
關(guān)于和自定義主題

目前模塊包括:

  • 首頁:首頁頂部主要包括了“查快遞”谎倔、”寄快遞“、“掃碼”三大功能模塊猿推,中間有公益愛心捐款的輪播廣告片习,下部主要是最近查詢快遞的實(shí)時(shí)物流信息
  • 查快遞:數(shù)據(jù)用了快遞鳥的運(yùn)單識(shí)別、實(shí)時(shí)查詢api蹬叭,支持掃碼識(shí)別藕咏,支持運(yùn)單號(hào)識(shí)別,選擇快遞公司查詢
  • 寄快遞:目前主要是一個(gè)列表展示了各大主流快遞公司的客服電話秽五,如果要調(diào)用api下單孽查,信息界面太煩躁,有待后面功能完善
  • 掃碼:主要是調(diào)用攝像頭快速識(shí)別運(yùn)單號(hào)查詢快遞
  • 自定義顏色主題

技術(shù)框架:

  • "buffer": "^5.0.6",(base64編碼)
  • "react": "16.0.0-alpha.6",
  • "react-native": "0.44.2",
  • "react-native-camera": "^0.6.0",(掃碼)
  • "react-native-deprecated-custom-components": "^0.1.0",
  • "react-native-easy-toast": "^1.0.6",
  • "react-native-parallax-scroll-view": "^0.19.0",
  • "react-native-storage": "^0.2.2",
  • "react-native-swipeout": "^2.1.1"(滑動(dòng)刪除)

項(xiàng)目運(yùn)行步驟如下:

  • 第一步:npm install
  • 第二步:react-native link
  • 第三步:react-native start
  • 第四步:react-native run-android(或 run-ios)
    理論兼容Android/ios,但沒在ios真機(jī)上試過坦喘。

總結(jié)心得:

這個(gè)是我開源的第一個(gè)用 RN從零到一 寫的項(xiàng)目了盲再,前面也有仿寫過美團(tuán)app,但只是注重UI起宽,沒涉及的業(yè)務(wù)的代碼編寫洲胖,而這一個(gè)"易查詢"app,無論是ui、業(yè)務(wù)和流行的控件都有涉及坯沪。

1绿映、項(xiàng)目結(jié)構(gòu)主要沿用了類似android項(xiàng)目的結(jié)構(gòu),如下圖腐晾,
主要特點(diǎn):

  • 包主要分為common(通用控件)叉弦、dao(數(shù)據(jù)層)、model(實(shí)體類)藻糖、res(圖片和樣式和常量)淹冰、ui(js頁面)、util(通用工具)
  • 存放頁面的js文件夾命名以page結(jié)尾
    -需要復(fù)用的組件抽取成單獨(dú)一個(gè)類巨柒,存放到 common包中樱拴。
  • 圖片、常量洋满、顏色晶乔、公共樣式等資源,分別用一個(gè)入口類管理牺勾,就和 Android 中管理資源的做法類似正罢,這樣更易維護(hù)。
項(xiàng)目結(jié)構(gòu)

2驻民、遇到的坑

  • react-native版本升級(jí)比較快翻具,有一些控件可能在低版本存在履怯,高版本已經(jīng)獨(dú)立出來了,比如裆泳,從0.44版本開始,Navigator被從react native的核心組件庫中剝離到了一個(gè)名為react-native-deprecated-custom-components的單獨(dú)模塊中
  • listview的數(shù)據(jù)源更新了叹洲,但界面沒跟著調(diào)整,這要涉及到數(shù)據(jù)深淺拷貝的問題晾虑,用JSON.parse(JSON.stringify(this.state.traceDatas))深拷貝能解決這個(gè)問題疹味,具體例子可參考本項(xiàng)目的首頁刪除列表功能
  • 打包android apk時(shí)不能直接用android studio的可視化generate signed APK打包方式仅叫,這樣打包的apk會(huì)因?yàn)槿鄙賗ndex.android.bundle文件打開時(shí)直接奔潰帜篇,盡量用RN官方推薦的方式打包
  • 還有很多細(xì)節(jié)的東西,一時(shí)半會(huì)也說不清楚诫咱,只有真正動(dòng)手做了才能領(lǐng)會(huì)

最后附上下載地址和源碼 Github源碼 安裝地址

更多精彩文章請(qǐng)關(guān)注微信公眾號(hào)"Android經(jīng)驗(yàn)分享":這里將長(zhǎng)期為您分享Android高手經(jīng)驗(yàn)笙隙、中外開源項(xiàng)目、源碼解析坎缭、框架設(shè)計(jì)和Android好文推薦竟痰!

掃一掃加我哦
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市掏呼,隨后出現(xiàn)的幾起案子坏快,更是在濱河造成了極大的恐慌,老刑警劉巖憎夷,帶你破解...
    沈念sama閱讀 217,185評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件莽鸿,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡拾给,警方通過查閱死者的電腦和手機(jī)祥得,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蒋得,“玉大人级及,你說我怎么就攤上這事《钛茫” “怎么了饮焦?”我有些...
    開封第一講書人閱讀 163,524評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)窍侧。 經(jīng)常有香客問我县踢,道長(zhǎng),這世上最難降的妖魔是什么疏之? 我笑而不...
    開封第一講書人閱讀 58,339評(píng)論 1 293
  • 正文 為了忘掉前任殿雪,我火速辦了婚禮,結(jié)果婚禮上锋爪,老公的妹妹穿的比我還像新娘丙曙。我一直安慰自己爸业,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,387評(píng)論 6 391
  • 文/花漫 我一把揭開白布亏镰。 她就那樣靜靜地躺著扯旷,像睡著了一般。 火紅的嫁衣襯著肌膚如雪索抓。 梳的紋絲不亂的頭發(fā)上钧忽,一...
    開封第一講書人閱讀 51,287評(píng)論 1 301
  • 那天,我揣著相機(jī)與錄音逼肯,去河邊找鬼耸黑。 笑死,一個(gè)胖子當(dāng)著我的面吹牛篮幢,可吹牛的內(nèi)容都是我干的大刊。 我是一名探鬼主播,決...
    沈念sama閱讀 40,130評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼三椿,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼缺菌!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起搜锰,我...
    開封第一講書人閱讀 38,985評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤伴郁,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后蛋叼,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體焊傅,經(jīng)...
    沈念sama閱讀 45,420評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,617評(píng)論 3 334
  • 正文 我和宋清朗相戀三年鸦列,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了租冠。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,779評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡薯嗤,死狀恐怖顽爹,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情骆姐,我是刑警寧澤镜粤,帶...
    沈念sama閱讀 35,477評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站玻褪,受9級(jí)特大地震影響肉渴,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜带射,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,088評(píng)論 3 328
  • 文/蒙蒙 一同规、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦券勺、人聲如沸绪钥。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,716評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽程腹。三九已至,卻和暖如春儒拂,著一層夾襖步出監(jiān)牢的瞬間寸潦,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,857評(píng)論 1 269
  • 我被黑心中介騙來泰國打工社痛, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留见转,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,876評(píng)論 2 370
  • 正文 我出身青樓褥影,卻偏偏與公主長(zhǎng)得像池户,于是被迫代替她去往敵國和親咏雌。 傳聞我的和親對(duì)象是個(gè)殘疾皇子凡怎,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,700評(píng)論 2 354

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