肘子的 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 订阅本周报的中英文电子邮件版本。

相关推荐
00后程序员张21 小时前
Swift 应用加密工具的全面方案,从源码混淆到 IPA 成品加固的多层安全实践
安全·ios·小程序·uni-app·ssh·iphone·swift
iOS阿玮1 天前
苹果悄悄上线网页版 App Store!官方出品调研竞品更方便~
uni-app·app·apple
非专业程序员1 天前
Swift 多线程读变量安全吗?
swiftui·swift
Sirius Wu1 天前
开源训练框架:MS-SWIFT详解
开发语言·人工智能·语言模型·开源·aigc·swift
从零开始学习人工智能1 天前
USDT区块链转账 vs SWIFT跨境转账:技术逻辑与场景博弈的深度拆解
开发语言·ssh·swift
RickeyBoy2 天前
Swift6 @retroactive:Swift 的重复协议遵循陷阱
swiftui·swift
iOS阿玮2 天前
最近苹果审核效率提高了,周末竟然都在审核。
uni-app·app·apple
东坡肘子4 天前
Homebrew 5.0:并行加速、MCP 加持,与 Intel 的最后倒计时 -- 肘子的 Swift 周报 #0111
rust·swiftui·swift
RickeyBoy5 天前
Swift 6 迁移常见 crash: _dispatch_assert_queue_fail
swiftui·swift
3***49965 天前
Swift Experience
开发语言·ios·swift