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...

相关文章
|
10月前
|
Web App开发 编解码 前端开发
面试题22:如何测试Web浏览器的兼容性?
面试题22:如何测试Web浏览器的兼容性?
222 3
|
10月前
|
IDE Linux 开发工具
如何在Linux运行RStudio Server并实现Web浏览器远程访问
如何在Linux运行RStudio Server并实现Web浏览器远程访问
291 0
|
5月前
|
Web App开发 XML JavaScript
Python 操作浏览器:让 Python 和 Web 世界合二为一
Python 操作浏览器:让 Python 和 Web 世界合二为一
136 3
|
10月前
|
存储 搜索推荐 安全
Cookie 探秘:了解 Web 浏览器中的小甜饼
Cookie 探秘:了解 Web 浏览器中的小甜饼
|
7月前
|
开发者 iOS开发 C#
Uno Platform 入门超详细指南:从零开始教你打造兼容 Web、Windows、iOS 和 Android 的跨平台应用,轻松掌握 XAML 与 C# 开发技巧,快速上手示例代码助你迈出第一步
【8月更文挑战第31天】Uno Platform 是一个基于 Microsoft .NET 的开源框架,支持使用 C# 和 XAML 构建跨平台应用,适用于 Web(WebAssembly)、Windows、Linux、macOS、iOS 和 Android。它允许开发者共享几乎全部的业务逻辑和 UI 代码,同时保持原生性能。选择 Uno Platform 可以统一开发体验,减少代码重复,降低开发成本。安装时需先配置好 Visual Studio 或 Visual Studio for Mac,并通过 NuGet 或官网下载工具包。
721 0
|
8月前
|
Web App开发 前端开发 JavaScript
认识WebKit浏览器引擎
WebKit是一款开源的浏览器引擎,用于渲染网页内容。它负责将HTML、CSS和JavaScript等网络资源转换为用户在屏幕上看到的图形界面。WebKit是一个跨平台的引擎,可以在多种操作系统上运行,如Windows、macOS、Linux等。
105 2
|
7月前
|
网络安全 数据安全/隐私保护 iOS开发
【Mac os】如何在服务器上启动Jupyter notebook并在本地浏览器Web端环境编辑程序
本文介绍了如何在服务器上启动Jupyter Notebook并通过SSH隧道在本地浏览器中访问和编辑程序的详细步骤,包括服务器端Jupyter的启动命令、本地终端的SSH隧道建立方法以及在浏览器中访问Jupyter Notebook的流程。
323 0
|
9月前
|
数据采集 Web App开发 前端开发
Selenium:自动化Web浏览器操作的强大工具
**Selenium** 是一款用于自动化Web应用测试和模拟用户行为的工具,支持多种浏览器和编程语言。安装包括安装Selenium库和对应浏览器的WebDriver。基本用法包括导入库、启动浏览器、查找与操作页面元素、等待元素加载及关闭浏览器。在实际项目中,Selenium常用于Web测试、爬虫、自动化表单填写等,优点是跨平台、模拟真实用户行为,但性能较低且依赖浏览器。
438 9
|
9月前
|
机器学习/深度学习 人工智能 前端开发
WebAssembly:浏览器中的新语言,引领Web性能革命
【6月更文挑战第12天】WebAssembly,简称Wasm,是浏览器中的新语言,旨在带来近乎原生的性能,引领Web性能革命。它具有高效、可移植、安全和多语言支持的特点,适用于游戏开发、图形处理、计算机视觉等领域。随着浏览器支持增强,Wasm将在跨平台应用、AI、机器学习、云计算和边缘计算中发挥更大作用,推动Web应用的发展。
|
8月前
|
安全 API 开发者

热门文章

最新文章

  • 1
    uniapp云打包ios应用证书的获取方法,生成指南
    31
  • 2
    iOS|解决 setBrightness 调节屏幕亮度不生效的问题
    119
  • 3
    iOS|记一名 iOS 开发新手的前两次 App 审核经历
    21
  • 4
    iOS各个证书生成细节
    36
  • 5
    【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
    175
  • 6
    Cellebrite UFED 4PC 7.71 (Windows) - Android 和 iOS 移动设备取证软件
    57
  • 7
    【03】仿站技术之python技术,看完学会再也不用去购买收费工具了-修改整体页面做好安卓下载发给客户-并且开始提交网站公安备案-作为APP下载落地页文娱产品一定要备案-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
    76
  • 8
    【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
    57
  • 9
    【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
    68
  • 10
    uniapp开发ios打包Error code = -5000 Error message: Error: certificate file(p12) import failed!报错问题如何解决
    183