React Native 開發分享 - 子駿
Hybrid app ?
- Easy to Start!
- 現實總是沒有這麼好
- 效能低
- 用電量高
- life cycle
開發者
很開心、使用者
很不開心
React Native ?
- 用 JS 操控 iOS / Android 原生 view
- 不是 React 版 mobile UI Framework
- 原生能做什麼你就可做什麼
- 官方沒給的 UI 怎麼辦?
- 自己 UI 自己包
- Learn Once,Write anywhere
- 學一次
寫
到各個地方
- 學一次
- 其實 FaceBook 布這個局非常久了
- codepush (microsoft)
- 動態更新 app 的 JavaScript file 等同於更新 app
- 可以擁有幾乎和原生相同的擴充性
- 可局部開發 React Native
- 天貓 app 正在一頁一頁換掉 iOS Native
- 1111 光棍節正實驗性透過分析丟給使用者不同的 Layout 畫面,提供更適合使用者的 UX 畫面提升交易量
- 社群強大
- ReactNativeNews
- React 0.14 以上已經趨於穩定版本(甚至 15.x FaceBook 已經認為是穩定版)
- FaceBook 程式寫得好,文件寫得少
#社群力量派上用場
、#人多勢眾
、#工程師多交流
、#英文要夠強
- 學習曲線相較低
React Native vs
Cordova
- | React Native | Cordova |
---|---|---|
學習 | 初期:高,中後期:易 | 易(如果你本來就寫 web) |
開發 | 初期陣痛,日後不變 | 隨時間與專案變高 |
體驗 | 高 | 低 |
第三方 | 只能用純 JS Lib | web plugin 多數可使用 |
效能極限 | 無極限(除非原生不支援) | 低(看 Cordova 支援程度) |
React Native vs
Native
- | React Native | Native |
---|---|---|
學習 | 易 | 高 |
開發 | 易 | 高 |
體驗 | 高 | 高 |
第三方 | 只能用純 JS Lib | 多 |
app 更新 | 快(更新 server) | 慢(最快兩週?) |
real worde showcase
- FaceBook 正在部分把元件轉移成 React Native
- 根據不同user 給他不同的頁面
- 專案進度太快,兩週一次更新
- 0.14 以上已經趨於穩定版本
- 程式寫得很好,文件寫得很少
- android 版本不夠成熟
- 沒辦法使用大部份 lib,因為 webAPI
Q&A
- Bulid Android apk 檔案壓縮出來非常肥大?
- 已知 issue FB 解決中
- IDE 如何選擇?
- FB 之前決定開發 nuclide 可以一套打全部(部分開發)
- 講者目前開發還是開三套 IDE..
- SublimeText
- Xcode
- Android Studio
- 如何選擇 ReactJS 版本?
- 目前最新版本 -2 or 3..XD
- 如何做到更新 app 版本?
- 開啟 app 檢查彈出更新,下載新的JS
- app.js 放在 server USER 開啟 app 絕對是最新的(無法離線..)
- 更新 server => app Hub
- iOS / andriod 工程師會失業嗎?
- 絕對不會
- 非原生 UI 自己刻
- 最新的 UI 自己刻 ex: iOS 9 3D Touch
- React 可以用其他 JavaScript lib ?
- 大部份無法
- 上 npm 找
備註:
- miss 上半場簡介 ReactJS 基礎介紹 Orz..
- 筆記有錯請指正 O_o”