惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

I
Intezer
月光博客
月光博客
The GitHub Blog
The GitHub Blog
C
Check Point Blog
Stack Overflow Blog
Stack Overflow Blog
博客园 - 司徒正美
Microsoft Azure Blog
Microsoft Azure Blog
G
Google Developers Blog
B
Blog
Recorded Future
Recorded Future
Martin Fowler
Martin Fowler
The Register - Security
The Register - Security
A
About on SuperTechFans
云风的 BLOG
云风的 BLOG
L
LangChain Blog
T
The Blog of Author Tim Ferriss
M
MIT News - Artificial intelligence
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
aimingoo的专栏
aimingoo的专栏
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
U
Unit 42
Y
Y Combinator Blog
P
Proofpoint News Feed
MyScale Blog
MyScale Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
博客园 - 三生石上(FineUI控件)
宝玉的分享
宝玉的分享
博客园 - Franky
D
DataBreaches.Net
爱范儿
爱范儿
博客园 - 【当耐特】
F
Full Disclosure
博客园 - 叶小钗
MongoDB | Blog
MongoDB | Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
H
Heimdal Security Blog
D
Docker
有赞技术团队
有赞技术团队
The Cloudflare Blog
S
Security Affairs
V
Visual Studio Blog
N
News and Events Feed by Topic
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Google DeepMind News
Google DeepMind News
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
AI
AI
V
V2EX
Hacker News: Ask HN
Hacker News: Ask HN
Hacker News - Newest:
Hacker News - Newest: "LLM"

少数派

派早报:Google 发布 Fitbit Air 等 - 少数派 「新人报到」確認需求,再開始 - 少数派 从 SOLO 独立开发者社区,我看到了越来越多开发者开始做自己的产品 - 少数派 我怎么管理那些"不常做,但总会忘"的生活事项 - 少数派 人形机器人量产元年,数据才是具身智能的“生死线” - 少数派 BuhoLaunchpad 高度还原 Mac 启动台:开发历程与思考 - 少数派 五年陪伴依然不舍,DIY 换壳后让罗技 MX Master 3 继续服役 - 少数派 新玩意 240|少数派的编辑们最近买了啥? - 少数派 一日一技|为什么你应该关闭 iOS 的键盘声音 - 少数派 我做了个插件和 Skills,一键提取任何网站的设计规范 Design.md - 少数派 住在三四线城市的你,该开始录播客了 - 少数派 甘南秘境,大白高国 - 少数派 AI的审美:谁让把我变成川内倫子 - 少数派 返工怎能不烦恼,打工人片单总有一部是你的「嘴替」 - 少数派 为了让「上厕所」更健康,我做了一个小工具 - 少数派 AI + Skill,能够让生成的文章去除 AI 味吗? - 少数派 新玩意|韶音OpenDots ONE 耳夹式耳机 - 少数派 《美满》| 在每一个春天的晚上相爱(362) - 少数派 新玩意|优篮子 PS01 MagSnap 磁吸支架 - 少数派 自我整合手记 | 我开始早睡了:用稳定规则,为自由托底 - 少数派 用龙虾(OpenClaw)两个多月,我最深的12个体会 - 少数派 听歌时间到,12 张你可能错过的 2025 华语乐坛好专辑 - 少数派 承诺能追吗 - 少数派 macOS 26启动台没了? 我做了个不一样的App启动器 - Keboard - 少数派 《四海为家的人》| INTJ对话INTJ(361) - 少数派 你发过的那些黑历史,是时候一次清干净了 - 少数派 新玩意:安安静静玩,越玩越专注:计客密码机 - 少数派 iPad 用户首次体验 Android 平板:vivo Pad6 Pro - 少数派 数据逻辑强 - 少数派 极北行+ | 一路向北,探访日本至北之地 | 001 - 少数派 万字剖析:千问App深度体验报告(2026) - 少数派 在2026年,如何真正防止别人抄袭你的作品 - 少数派 怎么用 50 块搭个 AI 语音助手?我踩了 3 天坑 - 少数派 YeeroAI:让 AI 对话真正成为知识管理的一部分 - 少数派 爬泰山 - 少数派 「旅图显影」 App 更新:这次,我们补上了一点「手感」 - 少数派 假期出门太折磨?我的 23 条经验帮你规划惬意旅行 - 少数派 工作流会变吗 - 少数派 Claude Opus 4.6 怎么用最省钱?我测了 5 种方案 - 少数派 GPT Image 2 让图文并茂不再稀罕 - 少数派 用户侧出发——什么是AI,我要不要学习? - 少数派 找片、转存、整理、播放一条龙!让你的付费网盘值回票价 - 少数派 欢迎试用!日课一问2.0插件 - 少数派 自己做的MDeditor,原本想购买 Typora 试了两次支付不成功,干脆自己做一个 - 少数派 vibe coding了一个 3MB 的小工具,让 ~/Downloads 彻底告别混乱 - 少数派 因为受不了 Mac 的风扇策略,我做了一个风扇控制工具 - 少数派 别只怪模型 - 少数派 Warp 终端的 AI 功能怎么用?我测了一周的体验 - 少数派 AI 写代码老是出 bug?这 5 个配置我后悔没早知道 - 少数派 「新玩意」苹果出相机可能就这样:Sigma BF + 45mm F2.8 DG Contemporary - 少数派 一个面向2030年的AI操作系统是什么样子的:浅谈cola这款有灵魂的Agent - 少数派 别只看写代码 - 少数派 每天解决10个问题,还是一口气攻坚解决400个? - 少数派 AI 交易机器人怎么搭?我用 Claude 跑了一周实盘 - 少数派 Maptoposter Online:把你爱的城市画成艺术海报 - 少数派 Function Calling 怎么用?我测了 3 个模型发现差距真大 - 少数派 Legend Talk:我做了个 AI 圆桌,让 160 位思想家围着你的问题转 - 少数派 如何找到自己的蓝方?在小县城寻找压力测试 - 少数派 语音输入与软件接口|2026年聊AI时,我们都聊些什么(上) - 少数派 混动已经卖爆,纯电又来补刀——钛7闪充版简直“不讲武德” - 少数派 本月玩什么|朋友收藏、识质存在、沙罗周期 - 少数派 为什么要每天坚持输出? - 少数派 Claude API 挂了好几个小时,你的项目有备用方案吗? - 少数派 Function Calling 没你想的复杂——我用它做了个有点用的工具 - 少数派 登录系统立即播放视频或者图片音乐的软件 - 少数派 我为什么创建 FlipHTML5 下载工具 - 少数派 残局没电?多品牌外设电量统一管理软件EasyBluetooth已支持RTSS游戏内显示以及AIDA64 - 少数派 前往通义路的路 - 少数派 太好看了,媲美Sun的个人导航页,NAS部署星云门户 - 少数派 乌黑嘴唇“一键检测”上线了 - 少数派 派早报:Claude AI 接入多个创意软件生态、FILCO 生产方接手品牌等 - 少数派 【更新】BearCLI、Claude 连接器与 MCP 服务器 - 少数派 记了上千条流水,还是看不懂财务?我做了一个让 AI 读懂账本的工作台 - 少数派 MINI R56 升级原厂 Sport 模式 - 少数派 新玩意 | 一棵柠檬树(仿真版) - 少数派 Momenta的“物理AI”野望,需迈过“含摩量”这道关 - 少数派 网页直接投屏控制手机!NAS一键部署PandaScrcpy,流畅丝滑可远程。 - 少数派 众测|邀你一同探索随身 AI 硬件入口 YoooClaw C·ONE - 少数派 2050大会:分享时间是真诚 参会记 - 少数派 iPad 赋能电影创作:国内首部宣纸手绘长片《燃比娃》的幕后故事 - 少数派 AI的审美:我用 8 个大模型给 100 张旅行照片打分 - 少数派 普通人如何破圈?去参加一个本地协会 - 少数派 把极空间的图标全换了,主题DIY全攻略打造你的专属NAS桌面 - 少数派 电子便签墙,帮你实现便签自由 - 少数派 我如何用三个 CLI 工具取代文档创建需求 - 少数派 原来真的有人可以玩一辈子 - 少数派 社区速递 139 | 派友热议三月买了啥、复古单反尼康 Df 体验 - 少数派 06 作品的赏析与评价 - 少数派 TDS REVIEW|索尼 WF-1000XM6 降噪真无线耳机体验 - 少数派 35.98万起售的第二代腾势D9,我看重的不是堆料,而是不凑合 - 少数派 鼠须管 Squirrel 皮肤配置指北 - 少数派 从watch ultra2换到redmi watch6 - 少数派 派早报:阿里巴巴发布视频生成模型 HappyHorse 1.0 等 - 少数派 别迷信1M - 少数派 家人们天塌了!网盘“大封杀”,多个渠道多条路,NAS部署PanHub - 少数派 AI与人勾心斗角!NAS一键部署AI狼人杀,假日休闲必备。 - 少数派 电商必备!Comfyui工作流批量生图插件,一次生成12张!支持Nano banana pro模型 - 少数派 Comfyui工作流配置Gpt-image-2模型教程,0.03/张 - 少数派 OpenClaw第三方APi怎么配置?可使用Gpt-image-2模型 - 少数派 会员社区话题精选 Ep. 103 - 少数派
从开发者的角度看 iOS 14 小组件 - 少数派
2020-07-10 · via 少数派

前言

Apple 在今年的 WWDC 发布了 iOS 14 上新的小组件方案,可以说是一次对 iOS 桌面的大手术,也是用户能感知的大变化之一。

作为一名从 iOS 8 开始就在给 iOS 写各种小组件的开发者,我想通过这篇文章来给大家介绍一下 iOS 14 的小组件有什么不同,以及自己的一些想法。

注:本文写作时 iOS 14 的最新测试版为 Beta 2,之后的版本可能会有变化。

iOS 14 小组件

心理落差

今年的 WWDC 我全程观看了 Keynote,并且在第一时间尝试了新的小组件,包括用户层面和技术层面的尝试。以我个人角度来评价这件事的话,我觉得 Apple 给我造成了极大的心理落差。

在观看 WWDC 的时候,我的心情是这样的:以后小组件可以直接拖到桌面上了,这很方便哦。

可是在升级 iOS 14 之后却发现,已有的第三方小组件并不能直接拖到桌面上。在阅读相关的技术文档之后,我发现今年这个小组件和之前放在通知中心那个小组件完全是两种东西,这意味着开发者必须单独为 iOS 14 开发小组件才行。

再然后,我发现新小组件只能使用 SwiftUI 制作。这是一件有好有坏的事情,而且也是 Apple 第一次这么干。

经过几天的研究和体验之后,我确定了一件事情:iOS 14 的小组件本质上就是 watchOS 的 complications,这样理解能解释很多问题。

好的方面

先聊点高兴的,新的小组件相较之前有很多有趣的地方。

在桌面显示

相比于之前的在下拉通知中心或者滑到桌面最左边,新的小组件可以直接放到桌面上。

拖放至桌面

放到桌面上的小组件可以很好地和应用图标结合在一起,大大地增加了小组件被使用的概率。

可多次添加

虽然 iOS 14 之前,一个应用也可以创建多个小组件,也可以多个小组件之间只是有细微的差异,但 iOS 14 的方式显然更方便。

在 iOS 14 里面,同一个小组件可以被添加到桌面多次:

同个小组件添加多次

并且,你可以直接在桌面完成对每个小组件实例的配置,这可以做到多个小组件使用同一个样式,但数据不同。并且,在桌面完成配置也大大简化了配置的流程。

在桌面完成配置

作为 JSBox 应用的开发者,我收到过很多增加小组件个数的请求,这件事在 iOS 14 就不复存在了,因为小组件可以无限添加。

多种尺寸

iOS 13 的小组件宽度是固定的,高度可以由开发者掌控,可以在「展开」和「折叠两种状态切换」:

iOS 13 样式小组件

而在 iOS 14 里面,同一个应用可以提供几个不同尺寸的小组件,分别是 2 * 22 * 4 和 4 * 4 图标大小的规格。

多种规格

根据应用的需求,不同尺寸的小组件可以用来展示不同复杂程度的信息,应用也不一定提供所有尺寸的小组件。

叠放

系统提供了「智能叠放」小组件,他可以将多个小组件叠放在一起,用户可以上下滑动来切换当前展示的内容。另外,iOS 会尽可能地为用户展示合适的当前内容。

智能叠放

除此之外,你也可以手动将两个组件叠放在一起,只要他们的尺寸相同即可:

手动叠放小组件

SwiftUI

新的小组件框架是 SwiftUI only 的,这意味着你不能使用 SwiftUI 以外的界面技术进行构建,这是历史性的第一次。

从好的方面看,除了让构建界面的成本降低以外,SwiftUI 有个额外的好处:跨平台,当然这里指的是 Apple 的平台。

使用 SwiftUI 构建的小组件可以原生支持 iOS 和 macOS,并且 iOS 14 和 macOS Big Sur 上有同样的设计语言,这是构建 iOS 和 macOS 融合的应用里面很重要的一环。

关于推动 iOS 应用运行在 macOS 上,可以看出 Apple 花了巨大的精力,不过这个是另一个很大的话题,在这里就不展开了。

不好的方面

俗话说天下没有免费的午餐,Apple 提供了这么多有趣的特性,想必新的小组件一定有什么坑吧?你猜对了。

更弱的交互能力

在 iOS 14 之前,Apple 也不建议在小组件做复杂的交互,很多操作是被禁止的,例如列表滚动和文字输入。而在 iOS 14 的小组件里面,Apple 将这个限制推到了极限:几乎做不了交互。

为了避免陷入过于难懂的技术讨论,我将这件事尽可能简单化地描述:

  • 在以前,小组件可以「就地」处理一些工作,例如使用 AutoSleep 的「熄灯」功能告诉应用开始睡觉了。
  • 在之后,点击小组件一定会打开相应的主应用,可以传递信息给主应用进行处理,例如导航到应用内的某个页面。

这样的改动对于依赖小组件交互的应用是一个毁灭性的打击,例如著名的 PCalc,则无法在 iOS 14 实现一个小组件计算器,因为你点了按钮之后就打开应用了。还有启动器一类的应用,处理 URL 跳转的时候需要跳两次,这是你期待的体验么?

PCalc 小组件计算器
点击后打开应用

所以其实 iOS 14 小组件就是信息展示加上链接导航的一些方块,这样理解就不会期待过高。

另外,实际上在 iOS 13 的几个版本里面,桌面小组件已经出现了不能响应点击事件的问题,当时开发者们普遍认为是 Bug,现在回过头来看可能是故意的。

无法主动更新数据

当你看到一个 iOS 13 的小组件时,小组件可以主动获取最新的数据,但 iOS 14 的小组件却不是这样工作的。

在 iOS 14 上,系统会向小组件询问一系列的数据,并根据当前的时间将获取到的数据展示出来。

由于代码并不是主动运行的,小组件更偏向于「静态的」信息展示(连动画和视频也都是被禁止的),尽管信息可以通过某种方式更新。举个简单的例子,你甚至无法通过小组件记录剪贴板,剪贴板工具必须提供一个按钮,点了之后跳到应用内去完成记录。

iOS 13 中 Pin 的剪贴板小组件

更弱的页面动态性

这是 SwiftUI 双刃剑的反面,由于无法使用常规的界面构建方式,iOS 14 小组件的界面必须预先定义好,然后通过数据来填充其内容。

这对很多应用来说不是什么大问题,但对能够动态构建小组件的 JSBox 而言是一次削弱。

使用脚本构建的 JSBox 小组件

我可以想象在 JSBox 之后的版本里面,构建小组件会是一件更容易的事情,像是搭积木一样。但是构建出来的页面,可能不会具有 iOS 13 那样的灵活性,而是一些模板化的样式。

一点想法

"Widgets are not mini-apps"(小组件不是应用的迷你版本),这是 Apple 在相关课程反复提到的概念,这也是 Apple 对开发者做出的设计指引:不要把小组件做成一个小应用,他有自己的应用场景。

Widgets are not mini-apps

Apple 做这些限制有他的考虑,某种程度上也是克制的体现。但直接剥夺用户的现有习惯这件事,作为开发者我很难表示认同。

另外令人唏嘘的是,快捷指令是一个例外,它不受上述任何一条所限制,也没有遵循 Apple 自己给出的设计指引。当然了,这从来都不是什么新鲜事,甚至 iOS 14 自带的小组件也不是用 SwiftUI 写的。作为开发者,可以参考自带的小组件来获得一些灵感,但是不要奇怪为什么你不能做到第一方小组件那样的效果。

老的小组件何去何从

通过上文我们已经了解到,一个应用可以同时拥有 iOS 13 和 iOS 14 的两种小组件。那么在推行新的小组件之余,老的小组件何去何从?

答案应该是会被废弃,理由有三点。

使用体验被降级

在 iOS 14 添加一个老的组件到通知中心极为困难(而长按桌面图标使用小组件的方式则被去除),需要进入桌面编辑模式之后滑到最左侧,再点最下方的编辑按钮。在展示方面,老组件会被新组件挤到最底下,可以说是完全没人权了。另外在 Beta 2 里面,老的组件宽度被调整成和新的组件一样宽,看上去极为别扭。

小组件宽度过窄

开发接口被标注为过时

在 iOS 14 的开发套件里面,老的小组件开发方式已经被标注为过时,也即不推荐、随时会被废弃的内容。

按以往的经验,标注为过时的方法是作为过渡时期的方案,并终将会被移除的。

Deprecated

Apple 透露的信息

有开发者朋友从 Apple 的 WWDC 实验室了解到,在 iOS 14 之后的版本里面,应用如果提供了新的组件,用户则看不到老的组件了。

如果这个证据还不够充分的话,macOS Big Sur 里面已经没有老的小组件了,这是最直接的证据。

后记

作为在 iOS 8 引入,又在 iOS 14 彻底改版的功能,小组件伴随了 iOS 发展路线中很重要的一段路程。但我作为开发者来看小组件的话,总感觉脑子里浮现两个字:鸡肋

正所谓食之无味弃之可惜,看小组件的时候也总是觉得缺少灵魂,没有做到真正的实用。在 iOS 14 上面的变化也一样,对于一部分简单的小组件来说可能是个好事,但却直接杀死了另外一批开发者现有的成果,同时也剥夺了用户现有的体验。

当然了,希望这番话可以被 iOS 14 上出彩的第三方小组件打脸,很期待看到开发者们的创造。

> 下载少数派 客户端、关注 少数派公众号,WWDC 资讯不错过 📰

> 实用、好用的效率工具,尽在 少数派正版软件商城 💻

> 买 iPad、Mac 送 AirPods,苹果新学期优惠活动开始了 💻