View in English

  • Apple 开发者
    • 入门汇总

    探索“入门汇总”

    • 概览
    • 学习
    • Apple Developer Program

    及时了解最新动态

    • 最新动态
    • 开发者你好
    • 平台

    探索“平台”

    • Apple 平台
    • iOS
    • iPadOS
    • macOS
    • Apple tvOS
    • visionOS
    • watchOS
    • App Store

    精选

    • 设计
    • 分发
    • 游戏
    • 配件
    • 网页
    • Home
    • CarPlay 车载
    • 技术

    探索“技术”

    • 概览
    • Xcode
    • Swift
    • SwiftUI

    精选

    • 辅助功能
    • AI 与机器学习
    • App Intents
    • Apple 智能
    • 游戏
    • 安全性
    • Xcode Cloud
    • 社区

    探索“社区”

    • 概览
    • “与 Apple 会面交流”活动
    • 社区主导的活动
    • 开发者论坛
    • 开源

    精选

    • WWDC
    • Swift Student Challenge
    • 开发者故事
    • App Store 大奖
    • Apple 设计大奖
    • Apple Developer Centers
    • 文档

    探索“文档”

    • 文档库
    • 技术概述
    • 示例代码
    • 《人机界面指南》
    • 视频

    发布说明

    • 精选更新
    • iOS
    • iPadOS
    • macOS
    • watchOS
    • visionOS
    • Apple tvOS
    • Xcode
    • 下载

    探索“下载”

    • 所有下载
    • 操作系统
    • 应用程序
    • 设计资源

    精选

    • Xcode
    • TestFlight
    • 字体
    • SF Symbols
    • Icon Composer
    • 支持

    探索“支持”

    • 概览
    • 帮助指南
    • 开发者论坛
    • “反馈助理”
    • 联系我们

    精选

    • 《开发者账户帮助》
    • 《App 审核指南》
    • 《App Store Connect 帮助》
    • 即将实行的要求
    • 协议和准则
    • 系统状态
  • 快速链接

    • 活动
    • 新闻
    • 论坛
    • 示例代码
    • 视频
 

视频

打开菜单 关闭菜单
  • 专题
  • 所有视频
  • 关于

更多视频

  • 简介
  • 概要
  • Safari 浏览器和网页技术小组实验室

    参加我们的线上活动,与 Apple 工程师一起深入探索 WWDC26。在这个以 Safari 浏览器和网页技术为主题的活动中,你可以提出问题、获取建议,并实时关注围绕大会一周的相关重磅发布展开的精彩讨论。活动语言为英语。

    章节

    • 0:00:00 - Introduction
    • 0:04:44 - What web technologies or APIs should every new web developer learn today to prepare for the future of the web?
    • 0:10:05 - What upcoming web standards is the team most excited about?
    • 0:16:07 - I'm a native app developer and noticed Safari can sometimes be more performant than native in UI/UX for JavaScript-driven apps. How is this possible?
    • 0:19:19 - How should web developers advocate for the web features they want WebKit to support (and what shouldn't they do)? Do WebKit standards positions factor in our reports?
    • 0:27:05 - Is there any improvement to cookie synchronization in WKWebView, similar to what UIWebView used to provide?
    • 0:27:36 - Excited that we can create extensions from a prompt. Are there plans to close the API gap with what Chrome and Firefox offer (e.g. Tab Group APIs)?
    • 0:29:36 - With spatial CSS, will I see things in 3D on Apple Vision Pro coming from the web?
    • 0:30:53 - Have we reached the 'end-game' for web optimization and performance, or is there more to squeeze out of the browser?
    • 0:35:11 - I want a Safari extension for SEO that takes page content and shows reports in a SwiftUI window across platforms. What path do you recommend?
    • 0:36:15 - Progressively enhancing an existing select with appearance-base
    • 0:41:22 - How the model element handles loading states and errors
    • 0:43:52 - How large 3D models should be on the web
    • 0:47:26 - How extension permissions work in Safari vs. other browsers
    • 0:49:13 - How the immersive API interacts with existing web content
    • 0:50:05 - The model element as a first step into the spatial web
    • 0:51:43 - How much appearance-base select styling works out of the box
    • 0:56:39 - Porting an existing Chrome or Firefox extension to Safari
    • 0:58:46 - Closing thoughts: what the panel wants web developers to know

    资源

      • 高清视频
      • 标清视频
  • 搜索此视频…
    • 0:00:00 - Introduction
    • Engineers and evangelists from the Safari and WebKit teams introduce themselves and set up a session covering the fundamentals of web development, upcoming web standards, WebKit's standards process, Safari extensions, spatial web features, and web performance.

    • 0:04:44 - What web technologies or APIs should every new web developer learn today to prepare for the future of the web?
    • The fundamentals still matter most: understand why the web has HTML, CSS, and JavaScript and what each is for. Invest in semantic HTML — which keeps expanding, so things that once required JavaScript can now be done declaratively — and learn CSS layout deeply. A strong grasp of the core three languages is the best preparation for whatever comes next.

    • 0:10:05 - What upcoming web standards is the team most excited about?
    • A highlight is the newly founded Web Extensions Working Group. After five years in a community group meeting biweekly, the work is moving to a formal specification for the WebExtensions API, pushing toward real interoperability across browsers — a meaningful step for extension developers.

    • 0:16:07 - I'm a native app developer and noticed Safari can sometimes be more performant than native in UI/UX for JavaScript-driven apps. How is this possible?
    • The web platform is genuinely capable — early iOS even considered shipping only web apps, and some first-party apps were originally built that way. Modern WebKit is highly optimized, so a well-built web app can feel excellent. The trade-off is that reaching that quality on the web is harder to sustain, which is why native remains valuable, but strong web performance is very achievable.

    • 0:19:19 - How should web developers advocate for the web features they want WebKit to support (and what shouldn't they do)? Do WebKit standards positions factor in our reports?
    • The team genuinely wants to hear from developers. File issues at bugs.webkit.org and engage with the evangelists on social media. What helps most is clear signal about which features matter and why — there are more good ideas than people to build them, so concrete, well-explained demand and real use cases help prioritize the work.

    • 0:27:05 - Is there any improvement to cookie synchronization in WKWebView, similar to what UIWebView used to provide?
    • The recommended approach is to use HTTPCookieStore to observe and manipulate cookies for WKWebView, keeping them in sync between your app and the web view. The panel didn't have a cookies specialist present, so for deeper cases they suggested following up through the forums.

    • 0:27:36 - Excited that we can create extensions from a prompt. Are there plans to close the API gap with what Chrome and Firefox offer (e.g. Tab Group APIs)?
    • The team is enthusiastic about users generating extensions from a prompt to tailor their browsing. On closing the API gap, the direction is toward greater interoperability — the new WebExtensions Working Group is the vehicle for standardizing and expanding API coverage. Specific additions like Tab Group APIs are best raised and tracked through the developer forums and WebKit.

    • 0:29:36 - With spatial CSS, will I see things in 3D on Apple Vision Pro coming from the web?
    • Spatial CSS is currently a proposal with no shipping news, though it's something the team feels positively about. What exists today is the inline HTML element for placing USD and other 3D formats into a page — you can drag models out and, with immersive environments, view them at full scale and create scenes procedurally.

    • 0:30:53 - Have we reached the 'end-game' for web optimization and performance, or is there more to squeeze out of the browser?
    • There's still plenty of headroom — teams work on engine performance continuously. Developers often focus on their own JavaScript speed and image loading to get a usable page in front of users fast, while WebKit engineers keep improving how quickly a browsing experience becomes responsive. Performance work on both sides is ongoing, not finished.

    • 0:35:11 - I want a Safari extension for SEO that takes page content and shows reports in a SwiftUI window across platforms. What path do you recommend?
    • Combine extension UI with your app. Use an extension popup for lightweight display, and the web navigation APIs to monitor page changes. To pass data between the extension and your native app for richer SwiftUI reporting, use native messaging. Those pieces let you surface page insights in your own UI across iOS, macOS, and visionOS.

    • 0:36:15 - Progressively enhancing an existing select with appearance-base
    • Build the select the traditional way first — always include real text content for every option — then layer images, extra content, and CSS on top. Supporting browsers get all the styling; unsupporting ones fall back to the text list automatically, with no extra developer work. Text content is also essential for accessibility (screen readers announce it) and UX (icon- or color-only options are hard to recognize). This works because select was designed for progressive enhancement on purpose — the original selectmenu proposal was dropped in favor of reusing select so older browsers get a good fallback.

    • 0:41:22 - How the model element handles loading states and errors
    • The model element exposes a ready promise signaling when the model has loaded, so you can show a spinner while loading and hide it when ready. As with images, there is a distinction between downloading an asset's bytes and having the resource actually loaded and usable — the same applies to models, including ones generated procedurally in JavaScript, and you can observe and present UI for each phase. There isn't a dedicated CSS pseudo-class for the loading state yet; the panel noted that as good feedback.

    • 0:43:52 - How large 3D models should be on the web
    • Keep models small and optimize them before publishing, just as with images — larger models mean longer download and processing time, and memory is finite. There are no hard guidelines, but a model that is content on a page generally shouldn't be larger than the page, so textures and geometry only need enough detail for how it is displayed. Maximum visual quality is often reachable around ten megabytes — larger than an equivalent image, but reasonable given the motion and interactivity. Full-screen immersive environments can legitimately be larger. Tooling is improving too: USDCrush now compresses textures to AVIF rather than JPEG, and mesh-compression formats are under discussion.

    • 0:47:26 - How extension permissions work in Safari vs. other browsers
    • Safari's extension permission model is designed with user privacy first. Manifest-requested permissions aren't automatically granted — the user decides which sites an extension runs on, and Safari is clear about what a granted extension can do. Because developers often can't predict which sites a user will visit, they may over-request host permissions; the active-tab permission is a good workaround, granting access only to the current tab and dropping host permissions once the user navigates away.

    • 0:49:13 - How the immersive API interacts with existing web content
    • In an immersive environment the web page is still present, so anything you need to do on that page remains available. It is a single-app experience: other apps alongside (like Messages) may dim, and a crown press restores the shared view. If you want the page to alter the immersive environment — moving your position, or playing or pausing an animation — you can put whatever UI you need onto the web page for the user to control it.

    • 0:50:05 - The model element as a first step into the spatial web
    • The model element is the first and easiest step for web developers to experience 3D and the spatial web — least friction, quick compelling results. You don't need an existing model: find one online, or use modern generation tools to create 3D models (creatively, or reconstructed from a set of images). From there it is a natural progression into learning more about 3D and tools like Blender. For everyday developers curious about spatial, starting with the model element is the recommendation.

    • 0:51:43 - How much appearance-base select styling works out of the box
    • With appearance-base select, the layout works correctly out of the box and the control inherits your page's styling — font, background color, font color — rather than a custom UA font, a big improvement over appearance:none. The standout is pseudo-element access: you can target and style individual parts (the picker icon, the drop-down menu, the checkmark) without affecting the rest. It is 100% interoperable across engines with a consistent underlying DOM — the foundation that makes reliable custom styling possible. Appearance-base for all form controls (not just select) is still in progress. The one open discussion is what the default should look like — the intent is for the UA stylesheet to carry as little opinion as possible and inherit as much as possible from the existing site.

    • 0:56:39 - Porting an existing Chrome or Firefox extension to Safari
    • How much work it takes depends on the extension — some convert and work out of the box; others rely on browser-specific APIs Safari may not support. To test, open the Develop menu and load a temporary extension using your existing Chrome or Firefox extension resources, then see what works. If an API behaves differently across browsers, raise it in the WebExtensions community and working group, or file a bug on bugs.webkit.org or via Feedback Assistant. There are no grave manifest differences across browsers, and Safari deliberately doesn't fail on unsupported manifest keys — a specific choice to ease migration.

    • 0:58:46 - Closing thoughts: what the panel wants web developers to know
    • Each panelist shared a closing thought: the Safari 27 beta release notes are exceptionally long this year — roughly twice normal — reflecting a major effort to fix long-standing paper cuts (including rewriting the JavaScript module loader to fix the top-level-await bug), and WebKit genuinely wants developers' bug reports. Extension support now lives in WebKit, so you can contribute code and file bugs directly. Recurring themes: play with the model element and enjoy 3D on the web, and lean on how much modern web standards do for you — you may be able to build with far fewer frameworks than expected. A closing wish: show off Safari-first standards like the random() and filter() functions and hanging punctuation.

开发者页脚

  • 视频
  • WWDC26
  • Safari 浏览器和网页技术小组实验室
  • 打开菜单 关闭菜单
    • iOS
    • iPadOS
    • macOS
    • Apple tvOS
    • visionOS
    • watchOS
    • App Store
    打开菜单 关闭菜单
    • Swift
    • SwiftUI
    • Swift Playground
    • TestFlight
    • Xcode
    • Xcode Cloud
    • Icon Composer
    • SF Symbols
    打开菜单 关闭菜单
    • 辅助功能
    • 配件
    • AI 与机器学习
    • Apple 智能
    • 音频与视频
    • 增强现实
    • 商务
    • 设计
    • 分发
    • 教育
    • 游戏
    • 健康与健身
    • App 内购买项目
    • 本地化
    • 地图与位置
    • 安全性
    • Safari 浏览器与网页
    打开菜单 关闭菜单
    • 文档
    • 下载
    • 示例代码
    • 视频
    • 文档归档
    打开菜单 关闭菜单
    • 帮助指南与文章
    • 联系我们
    • 论坛
    • 反馈与错误报告
    • 系统状态
    打开菜单 关闭菜单
    • Apple 开发者
    • App Store Connect
    • 证书、标识符和描述文件
    • “反馈助理”
    打开菜单 关闭菜单
    • Apple Developer Program
    • Apple Developer Enterprise Program
    • App Store Small Business Program
    • MFi Program
    • Mini Apps Partner Program
    • News Partner Program
    • Video Partner Program
    • 安全赏金计划
    • Security Research Device Program
    打开菜单 关闭菜单
    • 与 Apple 会面交流
    • Apple Developer Center
    • App Store 大奖
    • Apple 设计大奖
    • Apple Developer Academy
    • WWDC
    阅读最近新闻。
    获取 Apple Developer App。
    版权所有 © 2026 Apple Inc. 保留所有权利。
    使用条款 隐私政策 协议和准则