肘子的 Swift 周报 #009

肘子的话

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

最近,我一直在忙于重构自己的博客网站,这不仅是一个更新项目,更是一个学习新编程语言和现代 Web 开发工具框架的机会。作为一个双语博客,我计划在首页添加一个简单的逻辑,根据访客的浏览器语言设置自动跳转到相应语言的页面。在测试过程中,我发现不同浏览器对系统语言列表的处理方式各不相同,这在前端开发中是一个常见的挑战。尽管大多数情况下,HTML、CSS 和 JavaScript 的标准在不同浏览器上表现一致,但仍有些微差异。

同时,对于原生移动应用开发领域来说,除了 iOS 和安卓,未来或许还需要考虑华为即将推出的 HarmonyOS NEXT 的适配。华为计划在下一个操作系统版本中放弃对安卓 API 的支持,转而采用基于 HarmonyOS 的原生开发方式。虽然这一变化暂时只针对中国市场,但鉴于华为在该市场的影响力,许多大公司不会轻易放弃这部分用户。这也意味着,国内的互联网公司开始积极适配 HarmonyOS,为原生移动开发就业领域带来新的机遇。

其实,无论是前端还是移动应用开发,技术的演进和市场的变化都在不断推动开发者去学习新技能和适应新环境。尽管面临挑战,但这也为开发者提供了成长和创新的机会。

前一期内容全部周报列表

原创

SwiftUI geometryGroup() 指南:从原理到实践

fatbobman(东坡肘子)

在 WWDC 2023 中,苹果为 SwiftUI 添加了一个新的修饰器:geometryGroup()。它可以解决一些之前无法处理或处理起来比较困难的动画异常。本文将介绍 geometryGroup() 的概念、用法,以及在低版本 SwiftUI 中,在不使用 geometryGroup() 的情况下如何处理异常。

近期推荐

Create an AsyncStream from withObservationTracking() function

Matthaus Woolard

尽管创建 Observation 框架的主要目的是为了改善 SwiftUI 的重复计算问题,但这并不意味着 Observation 框架只能与 SwiftUI 一起使用。在 Natalia 的 Using Observation framework outside of SwiftUI 这篇文章的基础上,Matthaus Woolard 进一步探讨了将观察封装进 AsyncStream 的可能性,以将 Observation 整合到异步编程模型中,并通过异步循环来迭代变化。

Know your tools

kyryl horbushko

在编程和软件开发领域,"工具"通常指的是编程语言、库、框架、算法等,这些都是开发者用来构建和优化解决方案的资源。在本文中,Kyryl Horbushko通过一个具体的案例来展示熟悉并正确应用工具的重要性:使用Dijkstra算法解决一个实际问题。

Kyle-Ye

Link 是 SwiftUI 的一个组件,通过它可以导航到一个指定的 URL。Kyle Ye 从发现 Link 在 watchOS 上无法直接打开链接的问题入手,深入研究了 Link 组件的内部实现,最终找到了一种无需通过 ASWebAuthenticationSession 的新解决方案。本文为 SwiftUI 开发者提供了深入理解和有效使用 Link 组件的宝贵信息。

Mastering MapKit in SwiftUI. Basics

Majid Jabrayilov

在 iOS 17 中,苹果大幅强化了 MapKit 在 SwiftUI 中的能力,现在开发者也能够通过 MapKit 创建出专业、高效的地图应用了。本文是 Majid Jabrayilov 关于 MapKit 系列文章的第一篇,主要介绍了集成 MapKit 的基础知识。后续作者还将覆盖更高级的主题,如相机操作、地图控件等内容。

Apple's use of AppKit, Catalyst, Swift and SwiftUI in macOS Sonoma

Alexandre Colucci

在本文中,Alexandre Colucci 分析并统计了在最新的 macOS Sonoma 14 中,苹果使用的编程语言和 UI 框架的数据。旨在回答以下几个问题:

  1. macOS Sonoma 中的二进制文件总数是多少?
  2. 开发这些应用程序使用了哪些编程语言?
  3. 有多少应用是用 Swift 编写的?
  4. 有多少应用使用了 Mac Catalyst 和 SwiftUI,相比之下又有多少是使用 AppKit 的?

Create Your Own Step Counter SwiftUI App in 5 Minutes

Leonardo Pugliese

在苹果的生态系统中,健康类应用一直备受欢迎。大多数健康应用都需要 HealthKit 框架的支持。Leonardo Pugliese 将通过详尽的代码介绍如何使用 SwiftUI 和 HealthKit 创建一个简单的步数计数器应用。

播客

107: 好,买了,破费

weak self

在这期播客中,13 在前半部分介绍了创建 iOS 开发配饭吃 系列视频的初衷并分享了一些体会。后半部分则主要是 Pofat 介绍了他最近玩过的一些游戏,并分享了游戏带来的快乐和沉浸感。

THANK YOU

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

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

相关推荐
Swift社区1 天前
在 Swift 中实现字符串分割问题:以字典中的单词构造句子
开发语言·ios·swift
#摩斯先生1 天前
Swift从0开始学习 对象和类 day3
ios·xcode·swift
没头脑的ht1 天前
Swift内存访问冲突
开发语言·ios·swift
#摩斯先生1 天前
Swift从0开始学习 并发性 day4
ios·xcode·swift
_黎明1 天前
【Swift】类型标注、类型安全和类型推断
swift
没头脑的ht1 天前
Swift闭包的本质
开发语言·ios·swift
今天啥也没干3 天前
使用 Sparkle 实现 macOS 应用自定义更新弹窗
前端·javascript·swift
yngsqq3 天前
037集——JoinEntities连接多段线polyline和圆弧arc(CAD—C#二次开发入门)
开发语言·c#·swift
_黎明3 天前
【Swift】字符串和字符
开发语言·ios·swift
RickeyBoy4 天前
基于 Swift 从零到一开发贪吃蛇游戏(四)
swift