React Native介紹

課程筆記如下:

- 上課使用Expo新穎開發方式,只推出半年左右,好處:
1. 簡化建開發環境難度
2. 協助部署和推播

- 可用模擬器協助開發

- 手機沒有DOM和CSS

- RN的CSS是閹割版,單位用pt,相對大小程度比pc高許多

- 4種建造RN開發環境方式:
1. Create React Native App(CRNA)
2. Expo XDE
3. react-native-cli/CRNA eject
4. Boilerplates

上課使用1,RN入門適合1、2,但1、2在Android上會有問題

- RN只適合用來做簡單的商務型或個人小工具的app

-RN排版用Yoga

- RN可做Desktop應用,目前有2個開發社群:
1. 用JS web skill寫 => 很多app用此方式
2. 用RN寫 => 太新穎方式

- RN的flexbox難學,不值得花時間學

- 手機和web的導覽方式不同:
1. 手機用stack的pop、push方式
2. web用連結、url、router方式

- 只要需要用到的函式庫有「native」字眼,代表開發環境一定要用第3種方式,會很難建

- 一定要學的:
1. React Navigation
2. react-native-elements => UI庫

- RN現況:
Airbnb宣布退出使用RN,回歸使用原生技術,相關文章如下:
Airbnb 宣布放棄使用React Native,回歸使用原生技術:
http://www.cocoachina.com/apple/20180621/23881.html

Airbnb: React Native 從選擇到放棄:
https://juejin.im/post/5b2a5368f265da595c0cf6d5

可能歸因於RN一直無法突破有關,以下可看出:(coopy from老師ppt)

“Today, it's not possible to incorporate native navigation and gesture handling or native components like UICollectionView and RecyclerView without complex hacks. “


-------------------------------------------

自己對於手機開發不熟,這次上課倒是感覺是去澆熄自己的學習熱情,不過難得學習清單中有可以刪去的選項XD

光是為了建專案,就遇到一些奇奇怪怪的問題,掙扎快2小時終於build出來。但好景不常,一次剛好手賤就ctrl+c再npm start後就再也build不起來,問老師才知道一定要接usb線 + 打開手機開發人員選項的usb偵錯才可build成功。

突然有點能體會Airbnb在進入RN的3、4年後退出的原因了QQ

有種想法是:寧願分別學Swift和Java,說不定開發時間會少於React Native XD 當然仍有一點私心希望RN能改革成真正能好好讓web開發人員跨界手機app的技術。




留言

熱門文章