送码 | 支持高度自定义的 iOS 14 小组件制作工具:OneWidget

送码 | 支持高度自定义的 iOS 14 小组件制作工具:OneWidget
2020年09月23日 17:00 少数派sspai

Matrix 精选

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

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

OneWidget 是一款支持在 iOS 14 上自定义小组件显示内容的工具,支持设置的内容有时间、习惯、待办事项、生命倒计时等等。本文除了 OneWidget 的产品介绍外,还包括了我在开发 OneWidget 的过程中对相关 iOS 14 小组件的技术讨论,如有错误欢迎指出。

iOS14 小组件该怎么用

OneWidget 在内测期间有超过 1 万人参与 TestFlight 测试,由于 Apple 对小组件的引导和教育做得并不明显,导致很多用户并不知道如何添加小组件,更不知道如何配置小组件。所以,本文先对 iOS 14 小组件做一个知识普及。

关联阅读:一次对 iOS 桌面的大手术,开发者怎么看 iOS 14 的 Widgets 变化

一个应用可以拥有多个不同尺寸的小组件

小组件允许三种尺寸:小、中、大,分别对应 4、8、16 个图标所占据的范围。在 Apple 内置的应用中,我们已经看到这些案例。需要注意的是,支持什么尺寸、提供多少个小组件目前是可以由开发者决定的。

动态小组件可以在不打开应用的情况下配置数据

小组件以是否可以配置,分为「静态小组件」和「动态小组件」。区分它们的方法很简单,长按小组件如果出现「编辑小组件」就表明该组件可以配置数据,是「动态小组件」。

动态小组件在配置数据时,无须打开主应用就能完成数据的选择和结果呈现。比如备忘录可以选择显示哪一个备忘文本、股票小组件可以选择哪一个公司等。如果小组件可以根据数据显示不同的样式,那么就能做到数据选择后,改变小组件的样式,OneWidget 就是这样完成了组件样式的改变。

同一个小组件可以被添加多次展示不同的数据

再者,我们可以对同一个小组件添加多次,系统没有对于同一款小组件有添加次数方面的限制。你可以把一个组件添加很多次,而每一次选择不一样的数据。比如,OneWidget 的小尺寸组件,每一次添加可以选择不同的类型展示。有了这些特点,iOS 14 小组件在使用上有很多个性化的方法,OneWidget 的灵感即来源于此。

iOS 14 小组件的一些使用问题

Apple 对 Widgets 开发的 API 限制非常多,这导致很多用户在原有 Today Widget 可以拥有的体验大量消失。为了避免用户对「开发者」的误解,下面罗列一些供大家参考的信息。

时钟类型的延迟问题

小组件只能通过一个叫做 Timeline 的接口进行刷新,但是它并不能做到完美的以秒刷新,而且对刷新的次数有要求。这就导致开发者只能通过较高的频率和有限的时间范围刷新小组件,时钟类型的小组件很容易遇到延迟和停止的情况。

无法及时刷新数据

同样,如果某些数据是基于系统,比如健康、日历,开发者无法在数据被更新后及时同步到小组件,用户在日历里添加了数据,第三方组件是无法立刻刷新获取这些数据的,需要打开该第三方应用进行刷新。OneWidget 的日历、日程和未来的健康数据小组件也是如此,大家在使用时候注意及时打开主应用进行一次刷新。

无法展示动画效果

小组件所呈现的界面,在接口里叫做「Snapshot」,也就是快照截图,所以它无法实现动画效果。有很多用户建议制作翻页时钟,在新的 iOS 14 小组件里是无法实现的。

无法设置透明效果

系统内置的电池、捷径组件,可以做到部分区域半透明模糊效果,这些目前是仅系统应用可以使用的接口。任何第三方应用无法做到,这是 Apple 自留的「私货」。所以,小组件背景没有办法做到透明和模糊效果。

OneWidget 是什么

支持高度自定义的小组件生产工具

OneWidget 利用应用和组件的配合,希望成为可以高度自定义的组件生产工具。你可以在主应用内选择、编辑、预览,甚至在未来可以直接设计小组件。我希望用户能像在 PS、Sketch 上一样在手机上自由创作小组件。

常用工具集合

有了 OneWidget,你可以解决大部分组件的需求。OneWidget 目前支持的工具类型:

日期类型日程类型时钟类型系统类型趣味类型

未来 OneWidget 还将增加健康类型、通讯录类型的选项。其中对于数据类型的小组件组件,OneWidget 内置了多项常用工具:倒计日、生命倒计时、个人寄语、站立记录、习惯打卡、体重记录、极简记账、待办清单等。趣味类型的数据有「周五日历」,未来将有「节日日历」。

桌面美化工具

大多数小组件工具并不提供主题设置功能,OneWidget 目前提供了 17 种内置的主题颜色,帮助用户在多种风格下进行选择。应用在默认情况下是随机主题,用户可以进入组件配置状态设置固定的主题。有了主题设置后,OneWidget 能够帮助用户更好地个性化配置桌面。

为什么OneWidget 大有可为

数据、设置、类型、主题 4 要素分离

构成小组件内容的四个要素有:数据、设置、类型、主题。OneWidget 将高频、繁琐的数据管理、设置管理放在了主应用内,把低频、通用的类型选择、主题选择放在了小组件里。数据和设置决定了组件的内容,类型和主题决定了组件的展示样式。OneWidget 以这样的结构和设计,有助于未来进行更多组件的扩展,同时又不影响其它组件和主题。

各种尺寸下组合方式的穷尽

小组件的中尺寸和大尺寸其实有足够的空间展示更多的内容,OneWidget 的中尺寸可以展示双内容,大尺寸可以展示双内容、三内容、四内容。用户可以在添加组件后,分别选择每个区域显示什么内容。组合方式的穷尽能够带来更多自定义的空间。

可以说,足够的扩展性与组件的灵活性,带来了 OneWidget 的「大有可为」。

最后的话

作为拥有三年经验的独立开发者,非常感谢少数派 Tron 计划和少数派用户的支持。OneWidget 目前以买断制出售,同时产品还在不断迭代,如果你有关于 OneWidget 的产品和设计方面的建议,可以在评论区告诉我,我将于 10 月 1 日在评论区选出 10 位读者,送出 OneWidget 兑换码。

你可以在 App Store 购买 OneWidget,应用售价 6 元。

财经自媒体联盟

新浪首页 语音播报 相关新闻 返回顶部