有没有一个更好的Android Web视图

有没有更好的androidwebview? Google自己的文档提到不依赖于webview对象。

但是对于使用webkit,似乎有点奇怪,它与其他在具有可比较硬件的移动设备上使用的webkit浏览器相比是非常有限的。

这在jQuery的移动实现中是明显的,或者对于web应用来说也是类似的sencha触摸实现。 Android版本的速度下降,渲染问题和糟糕的用户体验,其他移动设备(如iPhone)将运行良好。 他们都使用webkit。 和应用程序之外,实际的Android浏览器运行得很好。

有没有办法真正解决Android的问题,在较低的水平? 有没有人为Android做出更全面的Web对象?

感谢您的任何见解

Solutions Collecting From Web of "有没有一个更好的Android Web视图"

恐怕这两个答案(Commonsware和Fuzzical Logic)都在回避现实。

从iOS,Android和Windows Phone开发HTML5网页应用程序和后来的PhoneGap应用程序(混合使用网页视图)的两年经验来看,实际情况是:

在iOS上(包括Safari和WebView)都能很好地工作,在Android上的Chrome浏览器,Windows 8上的IE浏览器和IE WebView上都是合理的(都有问题,但是可以解决),但在Android WebView中仍然是一场噩梦

Android中WebView被破坏,并且在用Chromiumreplace它之后更新到KitKat后仍然中断 。 它只是正常的HTML5崩溃(甚至没有得到Javascript问题)。 你会发现很多人在网上观察类似的事情。

像“Flash支持”这样的事情与此无关 – Flash不是HTML5。 无论制造商是否想要支持某个插件(或者在这种情况下是整个中间件)都取决于他。 我一直都明白苹果的决定,而在WebView中,它确实没有什么意义。

所以,这个问题是Android / Google的问题,就像这个平台的支持者想否认它一样。 对于那些经常喊“开放”,然后在这么多年后无法提供可用的HTML5浏览器组件的公司而言,这当然是特别令人尴尬的。

但是你的问题是,如果有其他任何人的WebView的话:

那么,我们很乐意听到一个。 对不起,我们也没有find一个到现在为止,其原因可能正是在上面的post中提到:这是很难实现它,它将取决于硬件(硬件加速等)。 然而,由于Chrome至less现在合理(经过这么多年……),我想知道Chromium WebView中是否缺乏类似的质量是为了让人们远离制作优秀的Web应用程序或混合应用程序。 (与微软的做法恰恰相反)

CQM,

明白我同意Commonswares和所提供的答案中所述的几乎所有内容。 然而,这个问题似乎意味着你有一个问题(无论是在理解还是在概念上),并希望为你的需求find一个更适合的解决scheme。

解决您可能会收到的问题和答案:

我相信Commonswares 有效的批评是因为你没有说明为什么如何提供的平台对象不令人满意,也没有说明为什么何时你认为Google说所说的对象是不可靠的。 如果您想要更好的反馈,请适当编辑您的问题以进行沟通,这样您的问题就会减less。

此外,正如下面进一步解释的那样,您意味着这是Android平台的一个问题(事实上,几乎是直接说明),事实并非如此。 在Web浏览的广泛范围中有太多的考虑要通过诸如WebView的简单控制来完全解决。 在90年代,微软面临着与embedded式IE COM Object相同的问题。 这是一个不属于任何一个群体的大问题。

解决隐含的问题:

WebView对象基本上是一个迷你浏览器,它使用基于完全不同于专用浏览器参数的高度灵活的渲染代码。 这包括从简单渲染到甚至可交互(sp?)等对象的所有内容,例如这样的页面将使用的链接。 这个过程是非常困难的(因为缺乏一个更好的词),以这样一种方式进行小型化,使得能够统一embedded到每次可能具有不同布局结构和参数的各种应用程序中。 哎呀,这样的引擎很难统一编程,即使使用专用的浏览引擎,也会导致目前主stream浏览器的整体差异。

因此, WebView并不意味着提供专用浏览器的全部function,而是在经常执行其他事情的应用程序中显示Web传送内容的最有用的方面。 当您考虑添加Javascriptfunction或从所述内容提供的基于客户端的处理的安全含义时尤其如此。 除此之外,每个设备都有可能具有不同的渲染引擎或不同版本的相同的渲染引擎,就像不同的设备具有不同的使用SQLite的function(即外键支持)一样。

因此,WebView是作为一种解决scheme提供的,用于显示Web交付的内容,而不保证其可扩展性或可用性, 除非纯粹使用它来查看(并可能反应)可信任和符合标准的HTML代码。 一旦你了解了现实世界网站的实际情况,你就会意识到HTML的制作是非常灵活的,因为每个标准都是由不同的开发者在不同的层次上遵守的。 由于HTML的主要信条是工作(展示内容),尽pipe存在潜在的歧义,开发全面的应用程序embedded式面向对象解决scheme的问题变得更加难以发展。

…其他移动设备 – 像iphone – 将运行良好

这取决于内容。 苹果设备的开发哲学也完全不同于Android。 苹果只有less数的设备,所以他们可以保证设备的一致性,并select何时何地添加附加function。 例如,第一个iPhone没有对Flash的原生支持。 根据你提出的问题的影响,我认为这是“综合”testing的失败。

相比之下,Android具有更广泛的设备组合。 Android的代码由这些设备的制造商进行调整和更改,以便为其特定的设备需求提供更充分的支持解决scheme。 Google不能保证任何给定的设备将以任何方式保留任何或全部代码。 这创造了更多的限制,但创造了其他非常棒的自由。

他们都使用webkit。

Chrome和Safari也都使用webkit。 许多开发者一直以来都被这种微小的差异所困扰,他们都以不同的方式利用它。

…在应用程序之外,实际的Android浏览器运行得很好。

这是上面提到的。

有没有办法真正解决Android的问题,在较低的水平?

再一次,这不是Android的问题。 如果您对当前实现有特定的问题,则可以自由编写单独的解决scheme。 此外,网页内容被制作成在浏览器中被观看并被提供。 最好的做法是定义你需要做什么具体。 你需要WebView来查看任何网页吗? 或者只是你的? 你目前的渲染有什么问题? 你需要客户端脚本?

每一个工具都是考虑到特定的需求。 所谓的“更好的”列表视图甚至是这样。 这些意见是为了解决不止一个开发者可能需要的特定需求。 在编程的世界(特别是OOP),真的很less有综合性的东西。 如果有的话,我们不必首先扩展我们的对象。 在看这样的工具时,考虑一下它特别需要解决的问题。

有没有人为Android做出更全面的Web对象?

是。 他们通常performance在其他专用浏览器,您可以下载到您的设备。 至于他们是否可以访问:个人而言,我不知道,也不愿意看。

最终声明

您提出的问题实际上并不足以提供真正的解决scheme。 由于糟糕的文字select,这似乎也采取了对立的立场。 如果您的问题没有通过CommonsWare的答案或我自己的答案解决,请考虑编辑您的问题,以添加我们更具体的需求。 也就是说,我希望我们的答案都能为你提供一些见解。

希望这可以帮助,

FuzzicalLogic

我很惊讶没有人提到CocoonJS 。

它具有标准WebView(Webview +)的重新实现; 一个打包的Webview,所以你的应用程序将跨设备运行(尽pipe仅限于Android 4+和iOS 8+)。

还有一个称为Canvas +的WebGL环境,但它完全独立于WebView +。 这意味着您需要在Canvas +之上叠加WebView +以同时获取DOM和canvas。 他们不共享相同的JS环境,但是在两者之间有消息系统发送消息。

由于操作系统的支持有限,CocoonJS似乎不是一个好的生产级解决scheme,但也许将来会出现。

还有人行横道 。 它适用于Android 4+和Tizen。

这是该死的接近主题,发送你的咆哮,在其他地方,请sorting的“问题”。

有没有更好的android的webview?

如果通过“webview”,你的意思是一个可embedded的Web渲染引擎,可能不会,因为写这样的引擎是困难的 。 你可以看到是否有一个作为Firefox手机的分支。 或者,欢迎您使用AOSP版本作为起点,将自己的WebKit移植到Android上。 请注意,这两个可能会大大增加您的应用程序的大小。

Google自己的文档提到不依赖于webview对象。

请引用。

有没有人为Android做出更全面的Web对象?

这将取决于“更全面的networking对象”的定义。 值得注意的是,你忽略了为这个短语提供任何types的定义。