Ajax 板


LINE

最近在学react跟react-native发现: react可以用来写web apps。 react-native可以用来写Android、iOS、甚至Win 10 apps。 但两者的UI components是不能直接交换使用的囧 这样好像就不能写一次JS code,直接输出三种apps: web, Android, iOS。 後来发现react-native有提供WebView component, 它相当於在app内建一个浏览器,可以读取HTML, CSS, JS, 就可以用来读取react web app bundle! 不过还是强调, WebView这种作法并不像是使用react-native UI components有native的效能, 我称之"伪"react-native apps。 它的好处是可以偷懒:写好一个react web app, 不用改写UI成为react-native UI,就能转换成Android, iOS apps。 或许对转换一些小web apps还颇实用。用途请自行取舍。 以下步骤在教如何把react web app转成伪react-native apps: (在此假设你的OS是Linux、 react-native Android开发环境已照Ref. [1]建立) # 安装react与react-native apps生成工具: npm install -g create-react-app react-native # 建立react app: create-react-app myapp cd myapp # 修改bundle里URLs的启始路径[2],加入下面这行至package.json: "homepage": "." # 此步可考虑执行npm start验证你的web app是否正常。 # 产生bundle: npm run build # 会输出到build资料夹。 cd .. # 建立react-native app: react-native init AwesomeProject cd AwesomeProject # 产生assets资料夹: mkdir -p android/app/src/main/assets # react-native会把assets资料夹的档案一并包入bundle。 # 把react的bundle所在资料夹build,连结到assets底下: cd .. ln -s myapp/build AwesomeProject/android/app/src/main/assets cd AwesomeProject # 修改index.android.js的render,使用WebView读build/index.html: <View> <WebView style={{ backgroundColor: "blue", height: 200 }} source={{uri: 'file:///android_asset/build/index.html'}} scalesPageToFit={true} /> </View> # 参照assets的uri要以"file:///android_asset"开头[3]。 # 启动Android emulator: android avd # 执行react-native app: react-native run-android # 观查emulator有没有启动Android app,画面应该跟web app一样。 Refs: [1] https://facebook.github.io/react-native/docs/getting-started.html#content [2] https://stackoverflow.com/questions/38565538/create-react-app-css-and-js-path/ [3] https://github.com/facebook/react-native/issues/505 -- 楞严咒(附注音): http://1drv.ms/1c0YbNt --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.115.73.148
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Ajax/M.1472559745.A.991.html
1F:→ GoalBased: 看了前半段..就是webview的意思吗..? 08/30 23:39
2F:→ wuboy: 就是webview而已 只是不想学其他语言时偷懒的做法... 08/31 01:38
3F:→ zxvc: w大,应该说"不想学其它react-native APIs或"不想重写UIs"比 08/31 07:04
4F:→ zxvc: 较正确一点。react-native APIs本身也是react components, 08/31 07:05
5F:→ zxvc: 也是用JSX/JS语言去写的。 08/31 07:06
6F:→ zxvc: G大,是用WebView。但这bundle的步骤还颇不直觉的,如[2][3] 08/31 07:13
※ 编辑: zxvc (140.115.73.148), 08/31/2016 07:15:43
7F:推 Qiqi: 直接用ionic实际 08/31 08:11
8F:→ travelerX: React 家族的价值在一种技术,各平台可用。而非一次开 09/01 18:21
9F:→ travelerX: 发,各平台都用 09/01 18:21







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Tech_Job站内搜寻

TOP