公司准备另立项目,做 app,我想的是首页用 native 的,第二层级页面以后都用 webview 。
webview 内跑的是 vue 项目的代码。
用 jsbridge 做 js 与 native 代码的通讯。
最后再搞一个将 H5/CSS/JS 和资源文件打包提前下发到 App 的方案(离线加载网页)。
从来没这样搞过,就通过 google 调研了下,路过的大神能指点一二吗?会有什么坑吗?谢谢啦
1
Urutora 2021-03-09 20:40:10 +08:00 via iPhone
不如直接用 react native 呢,webview 如果有拖拽之类的动画,不是卡的要死? btw 应该是 hybrid 吧?
|
3
lanbos 2021-03-09 20:52:34 +08:00 via Android
webview 开发成本的确很低,debug 和调试成本也低,但是性能太平静,oom 是真的要命,可以快速实现后后面把迭代少的页面慢慢 native 化
|
4
fescover 2021-03-09 20:53:32 +08:00
RN
|
5
murmur 2021-03-09 21:15:03 +08:00
企业内部开发挺爽的,不要性能,不要动画,随便热更
|
6
agagega 2021-03-09 21:21:55 +08:00
|
7
fffang 2021-03-09 21:25:12 +08:00
做着玩,小工具当然可以。正常的商业公司项目还是上原生比较好。即使一开始用 webview,到后面还是要切回去。
|
8
Vitta 2021-03-09 21:52:00 +08:00
RN 版本更新不要太火葬场
|
9
PopRain 2021-03-09 22:01:37 +08:00
看你干啥用了,我做的仓库系统(条码管理),入库、出库、拍照、扫码等等,用的 Cordova,感觉简单、方便
|
10
tangkaichuan 2021-03-09 22:49:22 +08:00 via Android
感觉 uniapp 就是这样的,nvue(weex 改造)原生渲染,vue 用 webview 渲染,支持热更新,虽然很多人不看好,但是楼主可以看看官网,而且代码开源了(疑似部分?)
|
11
stardust21 2021-03-09 23:45:57 +08:00
主要看有没有复杂交互或者蓝牙之类的系统功能,纯 UI 的话已经是跨平台坑比较少的方案了
|
12
dartabe 2021-03-10 01:37:31 +08:00
最近出了个 capacitor 宣传的是比 Cordova 现代 不知道有没有人用过
|
13
3dwelcome 2021-03-10 01:48:38 +08:00
个人觉得挺爽的,写起来毫无门槛。
但是用上 webview 后,感觉写代码缺少点干劲,仿佛自己随时能被任何人所替代,缺乏积极性。 |
14
stabc 2021-03-10 03:22:52 +08:00
推荐 Flutter,不推荐 RN 。上次用 RN,JS 代码在 IOS 里遇到性能问题。
|
16
gzf6 2021-03-10 09:11:01 +08:00 via Android
你这种思路是对的,要先有一个基础的原生应用,频繁变动的业务用混合开发,固定的业务用原生应用保证性能
|
17
C603H6r18Q1mSP9N 2021-03-10 09:38:42 +08:00
NB,自己准备做 webview 了,那性能和兼容有的你玩的
|
18
ihgoo OP @stardust21 有蓝牙的,这块准备完全独立开,由原生维护,或者提供一些桥的 api 供 js 调用
|
19
luwies 2021-03-10 12:11:31 +08:00
之前搞过这种,被缓存问题折腾了好久。
|
20
yinxianwei 2021-03-10 13:34:39 +08:00
现在在用的是 cordova,插件写起来也比较简单
|
21
zzzzzzggggggg 2021-03-10 14:46:07 +08:00
很常见,大公司也都在用
|
22
easybui 2021-03-10 15:27:07 +08:00
hybird 依旧是最节省成本的方式, 我们公司用 bui +cordova 开发轻应用好多年了, 应用运行稳定. 至于你说的性能, 早期在安卓 4.3 的表现确实不如人意. 但现在都 2021 年了, 手机的性能早就翻了 N 倍, 加上 BUI 使用单页组件化开发, 页面切换流畅, 可以真正的跨平台 dcloud, apicloud, 小程序等.
|
23
matatabi 2021-03-14 14:21:14 +08:00 via iPhone
cordova 或者 flutter
|