肘子的 Swift 周报 #025 | Let's VisionOS, Let's rock and roll!

肘子的话

在 2024 年 3 月 30 日至 31 日,我有幸在北京出席了 Let's VisionOS 2024 大会。这场盛会作为全球首个专注于 VisionOS 开发的大型论坛,吸引了来自四面八方的杰出嘉宾和开发者。会议期间,各位嘉宾不吝分享他们在 VisionOS 开发领域的专业技巧、宝贵经验、设计哲学以及对将来发展趋势的深入洞察。

受疫情影响,社区主导的苹果开发领域的交流活动曾一度中断。感谢 SwiftGGXR 基地 主办方的坚持和努力,这次活动不仅圆满成功,还为中国苹果开发者社区未来的线下聚会树立了优秀的典范。

在此次大会上,与来自不同地域和领域的开发者进行的深入探讨,激发了新的思维火花、创意灵感和合作机会。我深信,这正体现了线下活动的真正价值。

期待未来,中国的开发者社区能够承办更多此类精彩活动。同时,我也鼓励每位开发者珍惜参加全球各类活动的机遇,全心投入其中,享受这些活动带来的乐趣与成长。

活动的照片

秀出你的愿望单

推文 地址

前一期内容全部周报列表

原创

SwiftUI 视图与 @MainActor

Fatbobman( 东坡肘子 )

越来越多的开发者开始尝试开启并发严格检查选项,为 Swift 6 的到来做准备。在收到的警告和错误中,有一部分是与 SwiftUI 的视图有关,其中很多都是由于开发者没有正确的理解和使用 @MainActor 造成的。本文将聊聊 @MainActor 的含义,以及在 SwiftUI 的视图中应用 @MainActor 的技巧和注意事项。

近期推荐

Writing GNOME Apps with Swift

david-swift

近年来,Swift 社区积极推进该语言在各个平台上的应用,但由于缺少适合的 UI 框架,其较少被用于在非苹果平台中构建桌面应用。Adwaita for Swift 使开发者能够以一种类似于 SwiftUI 的方式,为 GNOME 环境构建用户界面。在本篇文章中,David Swift 向我们展示了使用 Adwaita for Swift 开发 Linux 桌面应用的潜力,并分享了一个实际的代码示例。作者还热情地邀请读者参与到 Adwaita for Swift 项目的各个方面,包括开发应用、提交问题、撰写文档以及加入讨论,共同推动项目前进。

Dependency Injection for Modern Swift Applications Part II

Lucas van Dongen

在本篇文章中,Lucas van Dongen 深入探索了四种主要的依赖注入(DI)策略在现代 Swift 应用开发中的应用,这四种策略包括手动树形依赖管理、EnvironmentObject、工厂模式以及 Uber 推出的 Needle 框架。通过考量编译时安全、代际安全、扩展性、易用性及可测试性等关键维度,作者详细比较了各种方法的优劣。文中提出,对于规模较小的项目,工厂模式是一个不错的选择,而对于规模较大的项目,则可能需倾向于采用 Needle 这样的框架来确保高度的可扩展性与安全性。对于正处于初期阶段的项目,采用 Environment 或单例可能是一种灵活的暂时方案,随着项目的发展,再逐步迁移到更加结构化的 DI 方案。

尽管本文是系列文章的后续,但其内容设计为可以独立阅读,为读者提供了完整的见解。

10 ½ Advanced App Store Optimization Secrets ASO Experts Will Never Share!

Ariel Michaeli

在这篇文章中,Ariel Michaeli 分享了一系列 App Store 优化(ASO)的先进策略,包括推广应用内购买、实施应用内事件、注意特殊字符的使用、优化关键词布局、精确处理多词关键词组合、以及深入了解竞争对手等。这些策略旨在显著提升应用在 App Store 和 Google Play 上的曝光率。Michaeli 指出,尽管许多开发者已经掌握了 ASO 的基本技巧,但这些进阶技巧提供了超越基础层次的优化机会,可能会令你的应用显著区别于其他竞争产品。

Iterating Over Web Socket Messages with Async / Await in Swift

Donny Wals

使用 for try await line in url.lines 开发者可以逐行从 url 中获取数据,尽管这为开发者提供了极大的便利,但这种方法并不适合于建立 WebSocket 连接及监听传入的消息。在本文中,Donny Wals 探讨了如何构建一个专门的机制,允许开发者异步地遍历 WebSocket 消息。Wals 不仅提供了一个高效处理 WebSocket 消息的方法,也为那些寻求在 Swift 应用中实现更复杂通信模式的开发者们开辟了新的路径。

Our Apple Sports design critique

Sam Gold

在这篇文章中,Sam Gold 分析了 Apple 最近推出的、专为体育爱好者设计的新应用------Apple Sports。文章从设计维度出发,探讨了该应用如何巧妙地融合并重塑了标准 UI 组件,深入解析了渐变色的广泛应用、精细的文字设计以及引人注目的动态背景效果。通过这些设计细节的讨论,Gold 试图揭示出 iOS 18 可能倾向的设计趋势。

Develop in Swift Tutorials

苹果公司最近推出了新的交互式教程------《Develop in Swift》。这个教程涵盖了 SwiftUI、SwiftData 以及 VisionOS 的基础知识,为初学者提供了一个全面的入门体验。即便是经验丰富的开发者也能在这些教程中找到新的学习机会和灵感。无论你是编程新手还是希望扩展技能的资深开发者,《Develop in Swift》教程都值得一探。

往期内容

THANK YOU

如果你觉得这份周报或者我的文章对你有所帮助,欢迎 点赞 并将其 转发 给更多的朋友。

欢迎访问 weekly.fatbobman.com 订阅本周报的中英文电子邮件版本。

相关推荐
今天啥也没干11 小时前
使用 Sparkle 实现 macOS 应用自定义更新弹窗
前端·javascript·swift
yngsqq15 小时前
037集——JoinEntities连接多段线polyline和圆弧arc(CAD—C#二次开发入门)
开发语言·c#·swift
_黎明17 小时前
【Swift】字符串和字符
开发语言·ios·swift
RickeyBoy2 天前
基于 Swift 从零到一开发贪吃蛇游戏(四)
swift
Swift社区3 天前
LeetCode - #138 随机链表的复制
leetcode·ios·swift
iOS阿玮5 天前
Appstore的产品突然被下架,还是4.3(a)?
swift·apple
yujunlong39195 天前
flutter pigeon gomobile 插件中使用go工具类
flutter·golang·kotlin·swift
多彩电脑5 天前
Swift的可选绑定(Optional binding)
开发语言·ios·swift
hxx2215 天前
ios swift开发--ios远程推送通知配置
ios·swift
#摩斯先生5 天前
Swift从0开始学习 函数和闭包 day2
ios·xcode·swift