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

2015-10-02 02:06:40 +08:00
 legendlee
抱歉我是做前端的,对 android 不够了解。现在要做这部分工作,我准备从 android 开始做起,然后再考虑 ios 。

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

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

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


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

有时候网络不稳定,一个 HTML 文件下载也可能很慢,继续优化,先自动加载上一次的 HTML 文件,然后开一个线程加载新的 HTML
legendlee
2015-10-02 09:18:50 +08:00
@meteor2013 我下了几个 ionic 网站上推荐的几个 app ,安装之后没一个不卡的。只要是 listview 类的应用,必卡。
legendlee
2015-10-02 09:21:32 +08:00
@meteor2013 就是 android , ios 我试了确实流畅的多。但是我有点奇怪的是,在 android 上比纯 web 卡多了。我做个移动网站也也不卡呀,但是所谓的 hybrid 就会卡。
ryanemax
2015-10-02 09:21:46 +08:00
6.同样需求 npapi ,最近一款 hybird 产品,用到了 npapi-vlc ,在求解中
ps:cordova(ionic)优化后体验很棒,建议用 crosswolk , 20m 的开销,换来 hybird 优势值了
ryanemax
2015-10-02 09:22:40 +08:00
@legendlee 安卓可以考虑加 crosswalk
legendlee
2015-10-02 09:30:49 +08:00
@ryanemax 谢谢。
我们的应用已经太大了,花了不少精力才优化掉不少,现在是 20 多兆。如果是一个全新应用,我们肯定倾向于 crosswalk ,然后能用 web 的用 web 。现在是很多东西用原生做了,再加入 cw ,分分钟安装包 50 兆。。。实在太大了,又不是游戏。

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

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

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

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

© 2021 V2EX