V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
zapper
V2EX  ›  问与答

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

  •  
  •   zapper · 2016-08-13 16:41:50 +08:00 · 1687 次点击
    这是一个创建于 3055 天前的主题,其中的信息可能已经有所发展或是发生改变。

    是这样子的,我现在是纯原生代码来开发 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 代码会不会卡到不堪入目?

    先谢过各位

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

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

    所以,
    1. 可以。但很可能你要自己写你需要的插件。(很多功能的插件已经有人写了,但不一定和你的需求匹配)
    2. web 资源 已经打包到 apk 里,安装后,从本地读取。
    3. 这两年新出的手机,其实性能已经很强大了,但执行效率肯定是比不了原生代码。很有可能某些特效会卡。一般情况不会。
    flyingfz
        4
    flyingfz  
       2016-08-14 17:06:10 +08:00
    关于 react native ,我没有深入了解,但我曾参加过 "珠三角技术沙龙" 的分享,当时 好像腾讯的人过来分享了他们使用 reactNative 的一些经历。
    给我的感觉, reactNative 比较适合 技术能力强大、资源丰富 的大厂使用,我等,还是不要碰了,入坑了不好爬出来。
    zapper
        5
    zapper  
    OP
       2016-08-14 22:50:16 +08:00
    @flyingfz 非常感谢!🙏
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2977 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 13:58 · PVG 21:58 · LAX 05:58 · JFK 08:58
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.