我想在一个原生 app 中嵌入一部分 web 内容,请问有什么好的框架和案例吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
legendlee
V2EX    Android

我想在一个原生 app 中嵌入一部分 web 内容,请问有什么好的框架和案例吗?

  •  
  •   legendlee 2015-10-02 02:06:40 +08:00 via Android 15676 次点击
    这是一个创建于 3668 天前的主题,其中的信息可能已经有所发展或是发生改变。
    抱歉我是做前端的,对 android 不够了解。现在要做这部分工作,我准备从 android 开始做起,然后再考虑 ios 。

    我的目标是这样的:
    1 ,在原生 app 中嵌入若干 web 页面。
    2 ,转场无明显卡顿和黑屏等。 web 内容滚动无明显卡顿。
    3 , js 可能要调用若干原生功能,这个没必要提供很多接口,有框架我自己封装也行。
    5 ,不要太大,现在的安装包已经 20 几兆了,不想再增大了。
    6 ,意淫需求。我们有些模块是 c++写的,所以有没有可能支持 npapi ?

    我考察了一些安卓混合开发框架, ionic , html5+等,他们都是大而全的框架,而我需要的实际上要简单的多。

    所以想请教一下,有没有开源工程里面有类似的实践,可以让我参考一下?跨平台的更好。谢谢。
    13 条回复    2015-10-02 09:30:49 +08:00
    legendlee
        1
    legendlee  
    OP
       2015-10-02 02:08:07 +08:00 via Android
    补充一下,我发现 ionic 做出来的东西滚动卡顿很严重,在安卓上。请问这是框架的问题吗?
    Septembers
        2
    Septembers  
       2015-10-02 02:18:47 +08:00 via Android
    视觉跨平台注定坑,
    视觉条件允许的情况下一定要 native 实现,
    逻辑的话可以共享
    legendlee
        3
    legendlee  
    OP
       2015-10-02 02:39:39 +08:00 via Android
    @Septembers 你是说 webview 内部的前端程序要根据平台分别实现吗?
    这个我倒是有心里准备。
    我主要是想看看有没有在两个平台上实现了相同功能,接口相似的 web 嵌入框架,或者有开源应用做了这个,性能尚可,我看看参考下也行。
    legendlee
        4
    legendlee  
    OP
       2015-10-02 02:42:35 +08:00 via Android
    @Septembers 至少能让我有办法给浏览器内核添加一些功能相同的 js 接口。我是想用 web 写一些内容展现的页面,但是还需要调用一些 native 功能。
    WildCat
        5
    WildCat  
       2015-10-02 06:41:55 +08:00
    Android 下 Hybrid App 必然卡成狗,考虑下 React Native 吧
    ttdevs
        6
    ttdevs  
       2015-10-02 07:08:41 +08:00
    第六条不明白,但是其他几条不用框架也可以啊
    meteor2013
        7
    meteor2013  
       2015-10-02 07:15:34 +08:00
    @legendlee


    ionic 不知道是不是安卓上卡,但 IOS APP 还行啊。
    你测试的时候卡吗?
    em70
        8
    em70  
       2015-10-02 07:37:12 +08:00 via Android
    卡主要是因为网络延迟,我是这样处理的,把 js, css ,小图片这些不经常修改的文件打包到 app 里,只从服务器下载 HTML ,下载到本地后再用浏览器打开,可以大大减少卡顿。

    有时候网络不稳定,一个 HTML 文件下载也可能很慢,继续优化,先自动加载上一次的 HTML 文件,然后开一个线程加载新的 HTML
    legendlee
        9
    legendlee  
    OP
       2015-10-02 09:18:50 +08:00 via Android
    @meteor2013 我下了几个 ionic 网站上推荐的几个 app ,安装之后没一个不卡的。只要是 listview 类的应用,必卡。
    legendlee
        10
    legendlee  
    OP
       2015-10-02 09:21:32 +08:00 via Android
    @meteor2013 就是 android , ios 我试了确实流畅的多。但是我有点奇怪的是,在 android 上比纯 web 卡多了。我做个移动网站也也不卡呀,但是所谓的 hybrid 就会卡。
    ryanemax
        11
    ryanemax  
       2015-10-02 09:21:46 +08:00 via Android
    6.同样需求 npapi ,最近一款 hybird 产品,用到了 npapi-vlc ,在求解中
    ps:cordova(ionic)优化后体验很棒,建议用 crosswolk , 20m 的开销,换来 hybird 优势值了
    ryanemax
        12
    ryanemax  
       2015-10-02 09:22:40 +08:00 via Android
    @legendlee 安卓可以考虑加 crosswalk
    legendlee
        13
    legendlee  
    OP
       2015-10-02 09:30:49 +08:00 via Android
    @ryanemax 谢谢。
    我们的应用已经太大了,花了不少精力才优化掉不少,现在是 20 多兆。如果是一个全新应用,我们肯定倾向于 crosswalk ,然后能用 web 的用 web 。现在是很多东西用原生做了,再加入 cw ,分分钟安装包 50 兆。。。实在太大了,又不是游戏。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     907 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 20:19 PVG 04:19 LAX 13:19 JFK 16:19
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86