桌面小组件

JSBox 近期发布了 2.12.0 版本,除了修复了一些在 iOS 14 上的 bug 以外,也带来了对于桌面小组件的支持。我们为这个版本准备了很长的时间,其中一个很重要的原因,是希望可以用脚本实现任意想要的小组件,而不是有限的一些效果。

其实 JSBox 从很早期版本就支持用脚本来实现通知中心小组件,用户可以用脚本实现任何界面,支持丰富的交互。大家都知道,iOS 14 的桌面小组件和之前的通知中心小组件有很大的不同,包括用户体验以及底层的技术实现。

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

所以我们从开发一开始就定下了一个目标:如果一个小组件可以用原生 iOS 技术实现,它就可以用 JSBox 脚本实现。

工作方式

JSBox 同时支持三种尺寸的小组件,在添加过程中会对每一步进行引导。设置方法是像 Apple 官方教程 提到的那样,进入编辑模式然后选择一个支持小组件的脚本。

此外,桌面小组件支持添加多个,你也可以为每一个小组件设置不同的参数,方便脚本在运行的时候提供不同的数据。

设置小组件

应用内预览

与其它 JSBox 脚本一样,你可以使用 VS Code 进行开发,代码可以推送到设备上运行。

为了更方便开发和测试,我们在应用内提供了与小组件展示效果一致的预览效果,同时提供三种尺寸,你可以在应用内测试完毕之后,再将其应用在桌面。

应用内预览

完备的实现

JSBox 对小组件的支持是完备的,包含了两个方面:

  • 更新方式可以和原生小组件完全一样
  • 可以灵活地实现各种界面

例如,你可以用脚本实现特定的刷新方式,也可以一次性提供多个界面,系统会按指定的时间去展示。

完善的加载和更新机制

在界面方面,JSBox 支持了绝大部分可以在通知中心使用的组件,例如:文本图片链接渐变。也可以实现绝大部分效果,比如:颜色透明度模糊旋转等等。

用 JSBox 实现的小组件

在布局方面也没有任何限制,对界面布局策略的完备支持,可以让你把控件灵活地放到想要的位置。

此外,JSBox 的绝大部分开发接口都可以直接在小组件上使用,例如:网络请求缓存和数据库日历和提醒事项等等。区别仅仅在于,小组件上实现界面的方式不一样。

具体的使用细节,请移步到我们准备的 开发文档

一些例子

为了降低上手难度,我们准备了一些例子。这些例子包括了复杂界面的实现,以及网络请求的最佳实践。

WidgetDoodles

将您的涂鸦作品放置到桌面:

Apple Dev News

在桌面显示 Apple 开发者新闻:

Apple Dev News

QR Code

在桌面显示任意二维码:

QR Code

XKCD

在桌面随机显示一张 xkcd.com 的漫画:

XKCD

Clock

在桌面显示一个实时更新的简单时钟:

Clock

以上的例子都可以在 GitHub 上面找到,欢迎参考。

此外,你也可以加入我们的 Telegram 群组获取更多社区小伙伴开发的小组件。

总结

恭喜 ndlg、小强是个坏蛋、Aixtuz、女口田木、Ryoma_Kal 获得 JSBox 兑换码,请留意站内私信。

对于 JSBox 的小组件功能介绍就到这里了,欢迎大家提出意见和建议。我们之后会以开发者的角度,分享更多「动态实现小组件」的技术细节,敬请期待。

感谢阅读。

欢迎在评论区留下你对于 JSBox 此次更新的建议和看法,我们会抽取其中 5 条建设性的评论,送出 JSBox 高级版一年的兑换码。

你可以在 App Store 购买 JSBox。

 

> 下载少数派 客户端 、关注 少数派公众号 ,发现更多实用 App 📱

> 实用、好用的 正版软件,尽在 少数派「双十一」活动 🚀