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

推荐订阅源

V
V2EX
博客园 - 【当耐特】
Cyberwarzone
Cyberwarzone
B
Blog
U
Unit 42
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
WordPress大学
WordPress大学
美团技术团队
Hugging Face - Blog
Hugging Face - Blog
大猫的无限游戏
大猫的无限游戏
博客园 - 聂微东
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
博客园 - 叶小钗
F
Full Disclosure
Microsoft Azure Blog
Microsoft Azure Blog
Recorded Future
Recorded Future
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
小众软件
小众软件
云风的 BLOG
云风的 BLOG
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Cisco Talos Blog
Cisco Talos Blog
阮一峰的网络日志
阮一峰的网络日志
C
CERT Recently Published Vulnerability Notes
F
Fortinet All Blogs
C
Cyber Attacks, Cyber Crime and Cyber Security
C
Cisco Blogs
The Hacker News
The Hacker News
Know Your Adversary
Know Your Adversary
S
Securelist
S
Schneier on Security
P
Privacy International News Feed
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
AWS News Blog
AWS News Blog
J
Java Code Geeks
T
The Exploit Database - CXSecurity.com
The Last Watchdog
The Last Watchdog
S
Secure Thoughts
C
Cybersecurity and Infrastructure Security Agency CISA
H
Heimdal Security Blog
博客园 - Franky
P
Palo Alto Networks Blog
PCI Perspectives
PCI Perspectives
T
Tailwind CSS Blog
IT之家
IT之家
Engineering at Meta
Engineering at Meta
Latest news
Latest news
P
Proofpoint News Feed
量子位
Apple Machine Learning Research
Apple Machine Learning Research
K
Kaspersky official blog

少数派

派早报: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 的 Widget 和背后的 SwiftUI - 少数派
2020-09-22 · via 少数派

Matrix 首页推荐

Matrix 是少数派的写作社区,我们主张分享真实的产品体验,有实用价值的经验与思考。我们会不定期挑选 Matrix 最优质的文章,展示来自用户的最真实的体验和观点。

文章代表作者个人观点,少数派仅对标题和排版略作修改。


编者按:文中提及的产品已面向读者开放测试,点击这里 即可加入 Testflight。

虽然一直以来看了不少的新闻和网上的体验,但我个人实际上手 iOS 14 还是在几天前正式版推送之后。由于之前有使用 Beta 版时发生不愉快的体验,所以现在使用新系统会非常谨慎。

升级后最显著的感知莫过于全新的 widget 和 App 资源库。升级之前看过一些讨论,有部分开发者认为苹果对小部件的限制导致了实用性的缺乏,对比之前是一种倒退。不过在我个人使用和开发之后却有些相反的体验,全新的桌面系统具有完全不同的使用逻辑,随之改变自己的使用习惯,会比之前的更加简洁和实用。这需要稍稍适应一下,改变从来如此。

总结来说限制集中体现在两点:

  1. 弱交互。与之前仅可放置在负一屏的小部件相比,新版 widget 只能借由点击固定的区域,打开主 app 内的特定页面或跳转链接。无法在不开启 app 的情况下,完成各种交互。
  2. 展示框架限定。新的 widget 仅允许使用苹果在去年(2019 年)才推出的 SwiftUI 进行布局,而不是开发者更熟悉的 UIView 框架。SwiftUI 作为一种申明式的页面布局方式,会默认的符合 苹果标准的留白和间隙,从某种角度而言自由度没有 UIView 那么高。好处是视觉统一性会更好,苹果味儿更足,坏处是会有些雷同。关于这些底层的内容,在文章下半部分会继续深入。

这些限制显然是苹果刻意为之,目的是为了对用户体验的每个环节都有深层的控制。其实在原来的小部件刚推出时,苹果就表达过类似的愿景。但由于原有框架的一些技术原因,开发者们总有办法用一些黑科技绕过苹果的限制,在自由度更高的同时也造成了体验上的割裂,同时还有用户学习成本的提升。

在今年 WWDC 上对新版 widget 的介绍中,好几次我都有种错觉,以为是在看对 Apple Watch 上复杂部件和 app 的介绍。

新 widget 的设计目标 - WWDC2020
手表 app 的设计目标 - WWDC2016

这其实有点类似 Windows 10 中的磁贴设计,使用更大的区域展现更多的动态内容,以代替原本一成不变的应用图标。那么当我们了解了使用限制后,其实更应该将目光放在全新的使用场景和体验上面。在给予更多限制后才被允许登录主屏的新 widget,和旧的又有哪些不同呢?

与众不同的使用体验

iOS 13 的桌面逻辑,说实话确实让人有些审美疲劳,即使苹果允许 app 动态改变 icon 也是治标不治本。我本人在手机里有超过 100 款应用,而且都放在首页的一个个文件夹中。其中的大部分事实上仅需要在偶尔使用,或者看一下最新的内容就会退出。

升级了 iOS 14 后,我将大部分的应用都移到了资源库,有些原本觉得可能使用频率会比较高而不舍得扔进去的,在两天后也大部分从桌面移除了。事实上 App 资源库寻找应用的效率比想象中要高不少,而桌面的空间我更愿意留给 widget。虽然分类方式是一个槽点,但习惯了 Alfred 之后,我一般都是直接搜索。

与前几次系统升级后,大批 app 会迅速支持新特性并集中升级不同,这次率先支持新版 widget 的应用明显数量非常有限。大多集中在了花式展示时间、日期、待办事项,以及部分从服务器拉下来的新内容上。原因在于这些功能是在开发时可以很方便接入的,苹果主动开放的组件。大量的其他应用还在观望,应该以什么形式,展示哪一部分内容。

适合展示的内容

天气是基本每人都会放置的 widget,因为几乎所有人都有了解天气信息的需求,但却没有必要与这个信息有更深入的交互。类似的还有日程、待办事项、设备电量等,这些信息共同点就是关键信息量少、变动的频率高、轻量却重要。

类似的还有一些特定领域的需求,例如金融人士关心的证券、期货、货币价格实时变动,球迷关心的主队赛况和下一场球赛的时间,游戏爱好者某款游戏挂机的进度,运维需要的远程服务器或者智能汽车、家电等联网设备的当前状态,钓鱼或水上运动爱好者对特定水域水文情况等的及时掌握等。宽泛一些或许可以算上网购达人的快递进程,尤其是外卖的送货进度等。

相对的当然就是一些涉及深度信息和复杂交互等需要更多注意力的内容,苹果认为这些内容最好的呈现方式就是一个精美的完整应用。比如说一个查汇率的插件,可能选项+输入+展示需要很大一个区域,但日常使用频率却非常低,平时也没有什么有价值的数据呈现。像这样的功能就可以收到应用或小程序中,而不适合做成主页 widget 始终展示。

我对 Widget 的使用

由于 widge t对桌面位置的占用范围太广,这次 iOS 14 提供了让 widget 堆叠的功能。这个功能虽然节省了屏幕空间,但却对下拉进入搜索,或是在负一页上下滚动会造成大概率误操作。这让我无法大量使用堆叠功能,所以选择会更加谨慎,但最终还是维持了仅保留一页主界面的习惯。

天气和屏幕时间堆叠在一起;中间是我练手做的 NBA 计分板,可以显示当前正在进行的比赛和未来的赛程等,后面堆叠了待办事项;最下面是播客和音乐的堆叠,只可惜没有图书的 widget,我的有声书都放在里面;边上是唯二有原生动态图标的时间和日期,以及一些最常用的应用等。

负一层是日历事件、活动目标、电量显示、快捷指令,其中最让人无语的是快捷指令,小模块(2×2)的 widget 只有一个指令,看来还得自己做一个扫码和导航的 URL Scheme 集合。(后续补充:刚刚自己做了一个,发现 2×2 的就是只能整个按,能放按键的起码得 4×2,希望能在系统升级后支持吧)

在适应了 iOS 14 新桌面的使用逻辑后,无论是从设计还是功能层面上而言,这一次的更新让系统在日常使用上的智能和效率都比之前高了不少。尤其是当发现作为开发者,使用新的 SwiftUI 框架做一个 widget 是如此便捷之后。

SwiftUI —— 全平台统一的软基石

苹果生态的统一在近年来逐渐有了加速的趋势,不仅桌面端的系统开始向手机端靠拢,连手表端和其他平台的相似之处也越来越多,现成的例子就是新 widget 不论是设计目标、内容选择,还是数据更新逻辑等都与手表端的复杂部件如出一辙。

平台统一事实上指的是在硬件和软件两个层面。

  • 在硬件上,每一条产品线都逐渐区分出了极致的 Pro、走量的数字型号、入门的 SE 款三类产品,逐渐抛弃了用旧型号进行划分的市场策略。硬件技术例如线性马达的通用和压感屏的弃用,也基本做到了隔代同步。何况现在又抛出了苹果芯片这个杀招,从底层保证了全平台的代码通用和升级节奏的把握。
  • 在软件上,则是我们普通用户感知更强的系统升级趋同、AirDrop、随航、接力、iCloud 同步、账户统一、隐私保护,以及海量水准以上应用的选择和建立了利益共同体的开发者社区。

一些针对开发者的举措可能不为普通用户所知。在用户感知层以外,苹果接连公布了全新的编程语言 Swift 和布局方式 SwiftUI,正在统一从手表到电视上软件的开发平台。之所以这么说,是因为在此之前,每个平台都有独有的页面布局方式和接口,很多公司内部 iOS 开发者和 macOS 开发者还得分别招聘。

我的开发体验

NBA 正在打季后赛,战况激烈,为了不错过比赛,我就打算制作一个相关的 app。同时用来熟悉最近看的 Swift 和 SwiftUI 的相关资料。视频有版权放不了我理解,但一直没有一个简单看比分,设置赛前提醒的清爽应用却让我很不理解。

于是简单规划了一下,就打开 Xcode 开始写代码。

三个平台的开发界面

页面布局非常顺利,因为如图所示可以看到,基本上做完了一套,将页面拆成不同的组件,可以在简单调整的前提下直接用在另一个平台。这让人有种第一次使用 AirDrop 和接力时的感觉,特别畅快。开发主要的时间花在了数据获取和传输的逻辑上,毕竟这对我来说也是一个学习和掌握的过程。期间不断的要试错、反复查资料、验证新的想法等。

苹果有很多细节在用户层面可能感知不强,我看论坛上有人觉得新 widget 花花绿绿的丑(主要指捷径),但是基于审美恰恰是苹果细节最丰富的地方。例如在我们开发页面确定后,不需要再做相应的占位图,系统就会自动生成。在 WWDC 中就强调了决不能出现空白一片或是载入错误等界面在主页。其他阴影、圆角、黑白转换等也都是系统自动调节。为了省电,所有 widget 的刷新频率也是由系统统一调度,会根据用户的使用频率来调节。

Widget 黑白和自动生成的占位图

虽然在代码上页面的布局可能类似,不过系统会根据平台区别最终呈现不同的显示效果。好处是开发者可以不用关心这背后的细节,坏处是这方面的自由度少了很多。

所幸熟悉了系统之后,最终呈现的效果还不错。工作之余没事看看赛况,感觉完美契合了新桌面的使用场景。

watchOS 7.0 支持了类似新 widget 的自定义布局组件,不过也是仅支持 SwiftUI,不用再使用原先规定的几个模板布局,所以这次才能将比分和球队 logo 做成组件,方便查看赛况。

一些主观想法

在使用 SwiftUI 进行开发和学习的过程中,让我印象最深刻的一个反复提到的设计理念就是「开发者不用知道背后的细节,系统会接管处理」。不论是 UI 的布局、渲染,数据的储存、回调、呈现,甚至连异步处理框架 Combine 和数据库框架 Core Data 都是一样,SwiftUI 试图将不优雅的部分藏在背后,让开发者像搭乐高积木一样进行拼接即可。

当然在最初苹果就清晰表达了设计新语言的初心,那就是希望让开发者能更快的实现想法,更少的需要关注实现细节。然而这必然是一个驳论,虽然苹果甚至给了一个「傻瓜式」的 SwiftUI 教程,学习者可以根据图文一步步进行操作,实现教学效果,并产生一种非常容易的错觉。(感兴趣的可以体验

但回到自己开发的项目,你会发现完全不知道怎么实现想要的功能,或是运行时与设想并不一致,甚至是遭遇莫名其妙的 bug 让人找不到根源。乐高毕竟不是精密车床,以上这些问题的解决也都需要先搞清楚底层的原理,才可能举一反三的进行实践。不然就成了背题库考数学,换个参数就懵逼,无法真正的提升解题能力。

所以这套新的框架虽然有可能降低初学者的门槛,或是做一个 Demo 的时间,但真正实用却还是需要掌握语言发展的过程和底层的抽象。与所有事物的发展一样,那些并不优雅的东西,才是真正重要的水面下的冰山。

总结

在苹果从 iPhone 上去掉 Home 键之后,交互逻辑一直在改变,这让一些用户会感到无所适从。但抛开这一点不论,花一些时间去熟悉一下新的系统,无疑会带来更大的收获。在消费电子领域,苹果的体量是非常惊人的,然而不论是台前幕后,它还是那个对电路设计和机箱内部美学一丝不苟的细节控。

大家说安卓开放,但是国内厂商却在这套开放的基础上搞自己的封闭。大家说马斯克像乔布斯,但一个是科技狂人一直试图踏足无人之地,另一个却是在用科技去平衡美学和人文。大家说系统越改越差,但我在易中天出第一本中华史时曾经说过,没有一个包容的环境,永远不会有世界级的作品。

最后希望米家和特斯拉尽快适配,就等你们两了。

Text(" 湖人总冠军 ") + Text(" Gigigi ")

> 下载少数派 客户端 、关注 少数派公众号 ,了解更妙的数字生活 🍃
> 想申请成为少数派作者?冲!