WKWebView是UIWebView的替代品吗?

27

我提出这个问题是因为我不确定苹果为什么在没有废弃UIWebView的情况下引入了WKWebView。这很重要,因为我正在编写一个大型代码库,需要做出基于事实的决策。

  • 是否有任何理由让我们期望两个类在未来共存而且都不会被废弃?

  • WKWebView是否纯粹用于提高性能速度(使用JIT),并且只适用于某些用例?

WKWebView目前存在以下限制:

https://mail.mozilla.org/pipermail/mobile-firefox-dev/2014-December/000993.html

如何使用WKWebView检索文件?


2
我在想UIWebView是否会在未来被弃用。这不是一个编程问题,而是关于未来和苹果的问题。这里是Stack Overflow,不是水晶球。 - matt
1
uiwebview现已过时 - yeahdixon
1
它已经被正式弃用了。 - Zelko
UIWebView现在不仅已经被弃用,而且苹果公司将停止接受使用UIWebView API的应用程序提交。 - brainray
3个回答

19

那么在iOS 12中,我们可以使用哪个类来代替UIWebView? - Coder ACJHP
@CoderACJHP WKWebView - Zelko

10
更新:UIWebView现已被废弃,并且苹果正在积极反对开发人员使用它。

有几个原因,包括安全性(进程外模型)、性能和内存管理。是否废弃UIWebView不是任何人都能回答的,只有苹果能够决定。然而,考虑到目前存在的许多限制(一些在WebKit2源代码库中部分解决,以用于未来iOS WK2框架的包含),我个人的猜测是UIWebView出于不同的需求会继续存在。而且考虑到WebKitLegacy和WebKit2(现在更名为WebKit)框架引用相同的实现框架(WebCore、JSCore等),为保持UIWebView的运行并不需要太多的工作。


1
谢谢你的回答。如果有任何关于答案的更新,请随时进行编辑并通知。祝好! - mm24
2
无数的崩溃是UIWebView的一大弊端。对我来说,迁移到WKWebView解决了所有这些问题。这已经是一个非常好的迁移理由了。 - Alexander Vasenin
2
UIWebView 将在 iOS 11 发布时被弃用。 :( - Suryakant Sharma
@Suryakant,你有任何证据吗?根据他们的官方文档,没有提到弃用?我只是想做出明智的决定。 - Malba
4
目前只有Xcode有相关提示。 - Suryakant Sharma

2
根据Apple Developer网站的消息:
如果您的应用程序仍使用已弃用的UIWebView API嵌入Web内容,我们强烈建议尽快更新为WKWebView以获得更好的安全性和可靠性。 WKWebView通过将Web处理限制在应用程序的Web视图中,确保受损的Web内容不会影响应用程序的其余部分。它支持iOS和macOS,并由Mac Catalyst支持。
自2020年4月起,App Store将不再接受使用UIWebView的新应用程序,并且自2020年12月起,不再接受使用UIWebView的应用程序更新。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接