SimpleWeather 一個(gè)簡單的天氣應(yīng)用。
地址:https://github.com/v2panda/SimpleWeather
SimpleWeather 是自己寫的第一個(gè) App,算是學(xué) iOS 開發(fā)的第一次實(shí)踐,但現(xiàn)在看看以前的代碼,各種問題、漏洞百出,無法忍受。于是決定重構(gòu)出2.0版本,這次采用 React Native 開發(fā),算是整個(gè)重構(gòu)了一遍。
前言
當(dāng)然在實(shí)踐之前還得先學(xué)習(xí) React Native 相關(guān)知識,在這之前我沒用過 React 更沒學(xué)過 React Native,所以這塊算是從零開始。不過我認(rèn)為學(xué)東西,結(jié)合實(shí)際去學(xué)效率更高,否則學(xué)過之后還是需要吃回頭草,與其如此浪費(fèi)時(shí)間,還不如讓學(xué)習(xí)直接融入到開發(fā)中去。
當(dāng)然說是這么說,但該有的基礎(chǔ)知識和基本概念還是得有的。這里我看了一本書《React Native 入門與實(shí)戰(zhàn)》,這本書在買時(shí),京東React Native 相關(guān)排第一,一些朋友也都推薦這本書。看完后覺得書寫的確實(shí)不錯(cuò),作為 React Native 入門讀物算是夠了。但不幸的是 React Native 和 Swift 一樣,都是出來時(shí)間不長,語法、API 還在飛速發(fā)展階段,所以有種說法叫 《React Native/Swift 從入門到再入門》,尤其是這本書 React Native 版本是 v0.14的,而現(xiàn)在的 React Native 版本是 v0.31,這之間有將近20個(gè)版本的差距。而改動(dòng)最大的是從0.18版本開始,React Native 已經(jīng)全面轉(zhuǎn)向 ES6 ,于是我就悲劇的上官網(wǎng)重新入門了一次。

所以如果有朋友想學(xué)習(xí) React Native,不再建議看《React Native 入門與實(shí)戰(zhàn)》或者任何實(shí)體書籍,直接上官網(wǎng)學(xué)習(xí)即可。
為什么要重構(gòu)?
- 覺得以前寫的代碼太爛
- 充實(shí)業(yè)余時(shí)間,要是一段時(shí)間我什么東西都沒折騰出來,我會感到很不安
- 重構(gòu)可以幫我整理自己的思路,優(yōu)化以前的爛代碼
- 找回按自己意愿編程的感覺(這跟工作上的編程是完全不同的)
又回到了這個(gè)老問題,當(dāng)然這次除了以上原因以外,一個(gè)主要因素就是學(xué)習(xí) React Native,嘗試用 JS 的語法編寫原生 App。對于一個(gè)傳統(tǒng)的客戶端開發(fā)碼農(nóng)來說,React Native 重新讓我認(rèn)識了客戶端開發(fā)。
總結(jié)
SimpleWeather 這個(gè) App 頁面少,功能簡單,這次也沒有加新功能,總體來說重構(gòu)的難度不大,于是大多的時(shí)間花在了 React Native 語法和 Flex 布局上,總的來說這是學(xué)習(xí) React Native 的一次簡單實(shí)踐。
關(guān)于 React Native 與 Native 之間的優(yōu)缺點(diǎn),有很多文章已經(jīng)總結(jié)過了,這里我也不總結(jié),而在 React Native 上我還是個(gè) newbie ,還有很多東西需要學(xué)習(xí),當(dāng)然這些需要結(jié)合實(shí)際去學(xué)。學(xué)東西我認(rèn)為直接融入到開發(fā)中去是最好的,雖然學(xué)習(xí)和使用的過程可能會變得更加艱難,但是這樣學(xué)習(xí)知識效果更好而且該踩的坑都會踩到,所以計(jì)劃以后有時(shí)間用 React Native 寫一個(gè)更復(fù)雜的App。