求教各位一些关于移动端原生代码与 Web 代码混合的问题

2016-08-13 16:41:50 +08:00
 zapper

是这样子的,我现在是纯原生代码来开发 Android/iOS 应用。这种方式有个问题就是一个页面要做两套代码,并且维护成本比较高( Android 还好, iOS 审核时间久很蛋疼)。所以我现在想寻找一种可以在页面里套 WebView 与原生交互的方式。

听说 ionic + AngularJS 比较流行,但是本人对 Web 这块所知甚少,网上搜到的信息都是仅限于 ionic + AngularJS +打包工具 = App 的方式,发现这种方式如果要对接项目里其他第三方 SDK 的话好像不太行得通?因为我有部分功能必须得使用原生代码来实现,所以打包工具这种方式好像不太适合。

我的问题是,不考虑 Web 学习成本的情况下:

  1. 能否使用 ionic + AngularJS +原生代码这种方案搭建应用?我之前使用过 JSBridge 这种方式进行交互,不知道 ionic + AngularJS 能不能通过 JSBridge 与原生代码互相调用?
  2. 如果能, Web 的实现是放在服务器好还是下载在本地运行?如果不能,有什么比较靠谱的方案?
  3. Android 上运行的兼容性(听说 ionic 放弃了 Android4.1 以下 Android 设备的支持)和性能问题,例如“红 X2 ”、“ X 蓝 2 ”、这样的上代入门级 Android 机器,或者类似于“三 X S4 ”这样的旧式旗舰跑 Web 代码会不会卡到不堪入目?

先谢过各位

1677 次点击
所在节点    问与答
5 条回复
xi_lin
2016-08-13 21:06:08 +08:00
ionic 去年还是在 android 上卡的。现在不知道了。
为啥不考虑 react native 呢。
zapper
2016-08-13 23:41:24 +08:00
@xi_lin 因为(级别比较高的)前端同事要推 AngularJS ……
如果不出意外以后公司大方向都是统一使用一种技术架构,我也在纠结用什么好。说实话貌似还没有出现什么重量级应用使用 ionic 的,怀疑是个深坑,也许是我孤陋寡闻?现在问题 3 倒是好解决,因为技术逐步更新需要挺长时间才能实装,到时候的设备性能应该能胜任 OTL
flyingfz
2016-08-14 17:00:06 +08:00
@zapper
ionic 这个框架,其实是 cordova + ionic 的 css 、 js + angular 的组合。
我们是使用 cordova + react 来做的。

本质上,可以这么理解:就是 使用 nodejs ,把 js 、 html 等,打包在程序包内,然后安装后, 在手机浏览器里运行 html+js ,然后通过 JSBridge ,调用一些原生的功能(比如蓝牙)。只不过,在 cordova 里称之为 插件,它提供了个插件机制,让你方便的扩展 js 的能力。

所以,
1. 可以。但很可能你要自己写你需要的插件。(很多功能的插件已经有人写了,但不一定和你的需求匹配)
2. web 资源 已经打包到 apk 里,安装后,从本地读取。
3. 这两年新出的手机,其实性能已经很强大了,但执行效率肯定是比不了原生代码。很有可能某些特效会卡。一般情况不会。
flyingfz
2016-08-14 17:06:10 +08:00
关于 react native ,我没有深入了解,但我曾参加过 "珠三角技术沙龙" 的分享,当时 好像腾讯的人过来分享了他们使用 reactNative 的一些经历。
给我的感觉, reactNative 比较适合 技术能力强大、资源丰富 的大厂使用,我等,还是不要碰了,入坑了不好爬出来。
zapper
2016-08-14 22:50:16 +08:00
@flyingfz 非常感谢!🙏

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/299079

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX