WebKit 官宣 Safari 16 Beta 版 Web 新功能!开发者“你在强迫让 iOS 浏览器都用 Safari ?”

简介: WebKit 官宣 Safari 16 Beta 版 Web 新功能!开发者“你在强迫让 iOS 浏览器都用 Safari ?”

刚刚结束的苹果 WWDC2022 上,除了最新 iOS 16 Beta 版系统,WebKit 官方也宣布将推出 Safari 16 beta 版的主要 Web 技术。目前,Apple Developer program 成员已经可以通过安装 macOS Ventura、iOS/iPadOS 16 的开发者 Beta 版来测试 Safari 16。


WebKit 官宣 Safari 16 Beta 版中的 Web 新功能

太平洋时间 6 月 6 日,WebKit 官方博客发文详细介绍了此次 Safari 16 Beta 版中的 WebKit 新功能,具体内容如下:

  • Web Inspector 扩展

全新 Safari 16 支持 Web Inspector 扩展,可以增强 Safari 的内置浏览器开发工具,特别是在使用功能强大的第三方框架和服务时尤其有用。通过使用 Safari Web Inspector 扩展,用户可以从这些框架和服务中安装开发者工具扩展,让工作能够更快、更轻松地进行开发。

Safari Web Inspector 扩展与其他浏览器中的开发者工具扩展使用相同的 JavaScript API,方便开发者工具扩展的创建者能轻松地将其移植到 Safari。同时,Web Inspector 扩展也加入了 Safari Web 扩展的其他改进,包括能够同步 iOS、iPadOS 和 macOS 上启用的扩展。

  • 容器查询(Container Queries)

与媒体查询(Media Query)类似,容器查询允许用户根据容器的大小而非 viewport 的大小来调整网页上特定项目的布局或样式。


Safari 16 支持 Size queries(大小查询)和容器查询单元。容器查询单位类似于 viewport 单位,但它们指定了相对于查询容器而非 viewport 的维度的长度。

  • macOS 上的 Web Push 功能

macOS Ventura 上的 Safari 16 即将推出 Web Push 功能,可远程向网站和 Web 应用程序的用户发送通知,通过推送 API 及通知 API,在 Safari 未运行时发送这些通知。

image.png

Web Push-in Safari 使用相同的 Apple Push 通知服务,为所有 Mac 和 iOS 设备提供本机推送功能。据悉,苹果将在 2023 年为 iOS 和 iPadOS 系统提供 Web Push 功能。

  • 次网格(Subgrid)

image.png

CSS Grid 的出现彻底改变了 Web 布局设计的可能性,子网格将网格提升到了另一个层次,提供了一种将网格容器的子代放到该网格上的简单方法。它可在不受 HTML 结构约束的情况下跨过复杂的布局排列项目。Safari 的网格检查器允许用户为任意多个网格打开覆盖,这在编写子网格时尤其有用。

  • Flexbox Inspector

继去年的 Grid Inspector 之后,Safari 16 添加了 Flexbox Inspector,它与 Safari 15.4 中添加的对齐编辑器(Alignment Editor )完美匹配。

image.png

Flexbox 容器的覆盖使 CSS 对 Flexbox 容器的影响更容易可视化,新的覆盖有助于从视觉上区分可用空间和间隙。它还显示了项目的边界,以及它们是如何分布在 Flexbox 容器的主轴和横轴上的。

  • 可访问性改进

Safari 16 在 macOS 上引入了 WebKit 可访问性支持的重新架构,从而提高了性能和响应能力。

此更改允许 WebKit 在比以前更短的时间内处理来自客户端(如 VoiceOver)的更多可访问性请求。在一些复杂的网页上,测量到在 25% 的时间内服务的可访问性请求数是原来的两倍。

  • Animation Improvements(动画改进)

CSS 偏移路径(也称为运动路径)为 Web 开发人员提供了一种沿任意形状的自定义路径设置动画的方法。通过“偏移路径”(offset path)属性,可定义要沿其设置动画的几何路径。

“偏移定位”(offset anchor)、“偏移距离”(offset distance)、“偏移位置”(offset position)和“偏移旋转”(offset rotate)属性为用户提供了其他功能,可以优化正在设置动画的对象的精确移动。

目前,通过 Safari 16 用户可设置 CSS 网格的动画,也就是说可以对行或列的大小进行动画更改,从而为页面上的移动提供了全新的可能性。

Safari 16 还增加了对复合操作的支持,解决了元素动画如何影响其基础属性值的问题,同时还为 39 个 CSS 属性添加了对离散动画的支持。

  • Overscroll Behavior

CSS Overscroll 行为决定了当用户滚动浏览器并到达滚动区域的边界时会发生什么,当用户想要停止滚动链接时它就很有用,当用户在框内滚动并到达末尾时,就可以控制停止或允许滚动页面的其余部分(控制浏览器过度滚动时的表现)。

  • “共享程序员”(Shared Worker)

Safari 中更新了一种新类型的“工作人员” —— Shared Worker,Shared Worker 在后台运行 JavaScript,只要用户对您的域打开了任何选项卡,您的共享工作线程就可以运行,并且对同一域打开的所有选项卡都可以共享同一个共享工作线程。因此,如果您想要像打开一个 WebSocket 连接到一个代表多个选项卡进行通信的服务器这样的操作,请尝试使用 Shared Worker。

  • 其他

其他新功能还包括对表单控件的修复和改进,以及对<表单>的支持。HTML 输入元素的 requestSubmit()和 showPicker()方法,以及对 Shadow Realms 的支持和对 Worker src Content Security Policy 指令的支持。

WebKit 新功能引发开发者热议

作为本次 WWDC2022 活动上的一大技术亮点,Safari 16 Beta 版中的 WebKit 新功能确实让广大开发者兴奋不已。但是,与此同时在开发者社区 Reddit上,WebKit 的新功能却引发了不少开发者的“吐槽”和热议。



image.png

这里,我们看到其中一篇题为“Web push notifications are coming to iOS in 2023”的帖子里,(链接:https://www.reddit.com/r/prog...)就有不少开发者对这一点表达了自己的看法,大家感受下:

“Oh please, not so fast Apple. With this break neck speed we might even get the PWA install prompt before the end of the century.”(哦,拜托,别那么快,苹果。以这种惊人的速度,我们甚至可能在本世纪末之前得到PWA安装提示。)

“we might even get the PWA install prompt before the end of the century.Hopefully never.”(我们甚至可能在本世纪末之前得到PWA安装提示。

希望永远不会。)

“How about stop forcing all browsers to be Safari on iOS first, yeah?”(不如先停止强制所有浏览器在 iOS 上使用 Safari,好吗?)

“Do you mean forcing them to use the WebKit engine? There are other browsers for iOS but they currently all have to use WebKit.”(你的意思是强迫他们使用 WebKit 引擎吗?还有其他 iOS 浏览器,但它们目前都必须使用 WebKit。)

“Oh yay, another pop up I have to say no to on literally every website from 2023 onwards.”(哦,耶,从 2023 年起,我必须对每个网站上的另一个弹出窗口说不。)

“So it just said ‘look for Web Push on iOS in 2023’

Honestly I am not too hopeful about this as I would imagine it would probably be locked behind layers of settings because Apple being Apple. I can't really see they would make it easy for people to escape the App Store ecosystem.

Too difficult for me to imagine Apple would actually allow IM apps that bypass their app store.”

......

image.png

据了解,近一年来 WebKit 浏览器共推出了 162 多项新功能和改进,包括 Safari 15.2、Safari 15.4 和 Safari 15.5。今年早些时候推出的功能包括 dialog 元素、lazy loading、Inactive、:has()伪类、新视口单元、层叠层、焦点可见、强调色、外观、彩色字体的字体调色板、BroadcastChannel、Web Locks API、File System Access API、WebAssembly 的增强功能、对画布中 Display-P3 的支持、对 COOP 和 COEP 的添加,以及在 Web Inspector 中改进了 CSS 自动完成和新的 CSS 变量工具等等。

此次更新的 Web 技术,主要是可以让用户在 Safari 16 上更方便的工作。然而,备受开发者吐槽的“Web push”功能以及疑似“强迫让所有 iOS 上的浏览器都用 Safari”的操作,确实成为了不少用户的烦恼。

参考链接:https://webkit.org/blog/12824...

相关文章
|
4月前
|
Android开发 Swift iOS开发
iOS和安卓作为主流操作系统,开发者需了解两者差异以提高效率并确保优质用户体验。
【10月更文挑战第1天】随着移动互联网的发展,智能手机成为生活必需品,iOS和安卓作为主流操作系统,各有庞大的用户群。开发者需了解两者差异以提高效率并确保优质用户体验。iOS使用Swift或Objective-C开发,强调简洁直观的设计;安卓则采用Java或Kotlin,注重层次与动画。Swift和Kotlin均有现代编程特性。此外,iOS设备更易优化,而安卓需考虑更多兼容性问题。iOS应用仅能通过App Store发布,审核严格;安卓除Google Play外还可通过第三方市场发布,审核较宽松。开发者应根据需求选择合适平台,提供最佳应用体验。
103 3
|
2月前
|
安全 Android开发 iOS开发
深入探索iOS与Android系统架构差异及其对开发者的影响
本文旨在通过对比分析iOS和Android两大移动操作系统的系统架构,探讨它们在设计理念、技术实现及开发者生态方面的差异。不同于常规摘要仅概述内容要点,本摘要将简要触及核心议题,为读者提供对两大平台架构特点的宏观理解,铺垫
|
4月前
|
Web App开发 XML JavaScript
Python 操作浏览器:让 Python 和 Web 世界合二为一
Python 操作浏览器:让 Python 和 Web 世界合二为一
109 3
|
4月前
|
IDE Android开发 iOS开发
探索安卓与iOS系统的技术差异:开发者的视角
本文深入分析了安卓(Android)与苹果iOS两大移动操作系统在技术架构、开发环境、用户体验和市场策略方面的主要差异。通过对比这两种系统的不同特点,旨在为移动应用开发者提供有价值的见解,帮助他们在不同平台上做出更明智的开发决策。
|
5月前
|
IDE Java Android开发
安卓与iOS开发环境的差异及其对开发者的影响
在数字时代的浪潮中,移动应用成为人们生活的延伸。两大操作系统——安卓与iOS,如同两座技术高峰,各自占据着半壁江山。本文将探索这两个平台的开发环境差异,并讨论这些差异如何塑造开发者的编程习惯与职业选择。我们将从工具和语言、用户界面设计、系统架构、市场定位以及开发社区和资源五个方面进行比较,旨在为开发者提供一份实用的指南,帮助他们在不断变化的技术世界中,找到适合自己的发展路径。
64 3
|
5月前
|
移动开发 开发工具 Android开发
安卓与iOS开发:平台差异及其对开发者的影响
在移动开发的大潮中,安卓和iOS两大阵营各领风骚。本文将探讨这两个平台的关键差异,包括开发环境、编程语言、用户界面设计、应用分发以及商业模式等方面。通过比较分析,我们旨在为开发者提供一个清晰的指导,帮助他们根据项目需求和个人偏好做出明智的平台选择。同时,文章也将分享一些跨平台开发工具的使用经验,以期最大化开发效率和市场覆盖。
99 1
|
6月前
|
开发工具 Android开发 iOS开发
安卓与iOS开发环境的差异及其对开发者的影响
【8月更文挑战第22天】在移动开发的广阔舞台上,安卓与iOS两大操作系统各自占据着半壁江山。它们不仅是用户手中的智能设备,更是开发者展示创意和技术的战场。本文将深入探讨这两个平台的开发环境差异,以及这些差异如何塑造开发者的技术路线和职业生涯。从编程语言到开发工具,从市场定位到用户需求,我们将一探究竟,这两种不同的生态系统是如何影响开发者的决策和成长的。
|
6月前
|
Java 开发工具 Android开发
安卓与iOS开发环境的差异及其对开发者的影响
【8月更文挑战第21天】在移动应用开发的广阔天地中,安卓和iOS两大平台各据一方,它们不仅在用户体验上有所区别,更在开发环境上展现出独特的风貌。本文将深入探讨这两大平台的开发环境差异,以及这些差异如何塑造开发者的技术路径和职业生涯。从工具和语言的选择到市场份额的争夺,我们将一一剖析,以期为即将踏入这一领域的新手开发者提供一盏明灯。
|
6月前
|
iOS开发 Android开发 MacOS
从零到全能开发者:解锁Uno Platform,一键跨越多平台应用开发的神奇之旅,让你的代码飞遍Windows、iOS、Android、macOS及Web,技术小白也能秒变跨平台大神!
【8月更文挑战第31天】从零开始,踏上使用Uno Platform开发跨平台应用的旅程。只需编写一次代码,即可轻松部署到Windows、iOS、macOS、Android及Web(通过WASM)等多个平台。Uno Platform为.NET生态带来前所未有的灵活性和效率,简化跨平台开发。首先确保安装了Visual Studio或VS Code及.NET SDK,然后选择合适的项目模板创建新项目。项目结构类似传统.NET MAUI或WPF项目,包含核心NuGet包。通过简单的按钮示例,你可以快速上手并构建应用。Uno Platform让你的技术探索之旅充满无限可能。
153 0
|
6月前
|
移动开发 安全 Android开发
安卓与iOS开发环境的差异及其对开发者的影响
【8月更文挑战第23天】移动应用开发领域,安卓和iOS两大平台各占半壁江山。它们在开发环境上的差异不仅影响了开发流程,还深刻地塑造了开发者的工作方式。本文将探讨这些差异,并分析它们如何影响开发者的决策和产品的质量。

热门文章

最新文章