欢迎访问 fatbobman.substack.com[1] 订阅本周报的中英文电子邮件版本。
肘子的话
最近,我一直在忙于重构自己的博客网站,这不仅是一个更新项目,更是一个学习新编程语言和现代 Web 开发工具框架的机会。作为一个双语博客,我计划在首页添加一个简单的逻辑,根据访客的浏览器语言设置自动跳转到相应语言的页面。在测试过程中,我发现不同浏览器对系统语言列表的处理方式各不相同,这在前端开发中是一个常见的挑战。尽管大多数情况下,HTML、CSS 和 JavaScript 的标准在不同浏览器上表现一致,但仍有些微差异。
同时,对于原生移动应用开发领域来说,除了 iOS 和安卓,未来或许还需要考虑华为即将推出的 HarmonyOS NEXT 的适配。华为计划在下一个操作系统版本中放弃对安卓 API 的支持,转而采用基于 HarmonyOS 的原生开发方式。虽然这一变化暂时只针对中国市场,但鉴于华为在该市场的影响力,许多大公司不会轻易放弃这部分用户。这也意味着,国内的互联网公司开始积极适配 HarmonyOS,为原生移动开发就业领域带来新的机遇。
其实,无论是前端还是移动应用开发,技术的演进和市场的变化都在不断推动开发者去学习新技能和适应新环境。尽管面临挑战,但这也为开发者提供了成长和创新的机会。
前一期内容|全部周报列表
如果你觉得这份周报或者我的文章对你有所帮助,欢迎 点赞、赞赏,并将其 转发 给更多的朋友。
原创
SwiftUI geometryGroup() 指南:从原理到实践[2]
fatbobman(东坡肘子)[3]
在 WWDC 2023 中,苹果为 SwiftUI 添加了一个新的修饰器:geometryGroup()。它可以解决一些之前无法处理或处理起来比较困难的动画异常。本文将介绍 geometryGroup() 的概念、用法,以及在低版本 SwiftUI 中,在不使用 geometryGroup() 的情况下如何处理异常。
近期推荐
Create an AsyncStream from withObservationTracking() function[4]
Matthaus Woolard[5]
尽管创建 Observation 框架的主要目的是为了改善 SwiftUI 的重复计算问题,但这并不意味着 Observation 框架只能与 SwiftUI 一起使用。在 Natalia 的 Using Observation framework outside of SwiftUI[6] 这篇文章的基础上,Matthaus Woolard 进一步探讨了将观察封装进 AsyncStream 的可能性,以将 Observation 整合到异步编程模型中,并通过异步循环来迭代变化。
Know your tools[7]
kyryl horbushko[8]
在编程和软件开发领域,"工具"通常指的是编程语言、库、框架、算法等,这些都是开发者用来构建和优化解决方案的资源。在本文中,Kyryl Horbushko通过一个具体的案例来展示熟悉并正确应用工具的重要性:使用Dijkstra算法解决一个实际问题。
初探 SwiftUI Link[9]
Kyle-Ye[10]
Link 是 SwiftUI 的一个组件,通过它可以导航到一个指定的 URL。Kyle Ye 从发现 Link 在 watchOS 上无法直接打开链接的问题入手,深入研究了 Link 组件的内部实现,最终找到了一种无需通过 ASWebAuthenticationSession 的新解决方案。本文为 SwiftUI 开发者提供了深入理解和有效使用 Link 组件的宝贵信息。
Mastering MapKit in SwiftUI. Basics[11]
Majid Jabrayilov[12]
在 iOS 17 中,苹果大幅强化了 MapKit 在 SwiftUI 中的能力,现在开发者也能够通过 MapKit 创建出专业、高效的地图应用了。本文是 Majid Jabrayilov 关于 MapKit 系列文章的第一篇,主要介绍了集成 MapKit 的基础知识。后续作者还将覆盖更高级的主题,如相机操作、地图控件等内容。
Apple’s use of AppKit, Catalyst, Swift and SwiftUI in macOS Sonoma[13]
Alexandre Colucci[14]
在本文中,Alexandre Colucci 分析并统计了在最新的 macOS Sonoma 14 中,苹果使用的编程语言和 UI 框架的数据。旨在回答以下几个问题:
- macOS Sonoma 中的二进制文件总数是多少?
- 开发这些应用程序使用了哪些编程语言?
- 有多少应用是用 Swift 编写的?
- 有多少应用使用了 Mac Catalyst 和 SwiftUI,相比之下又有多少是使用 AppKit 的?
Create Your Own Step Counter SwiftUI App in 5 Minutes[15]
Leonardo Pugliese[16]
在苹果的生态系统中,健康类应用一直备受欢迎。大多数健康应用都需要 HealthKit 框架的支持。Leonardo Pugliese 将通过详尽的代码介绍如何使用 SwiftUI 和 HealthKit 创建一个简单的步数计数器应用。
播客
107: 好,买了,破费[17]
weak self[18]
在这期播客中,13[19] 在前半部分介绍了创建 iOS 开发配饭吃[20] 系列视频的初衷并分享了一些体会。后半部分则主要是 Pofat[21] 介绍了他最近玩过的一些游戏,并分享了游戏带来的快乐和沉浸感。
THANK YOU
如果你觉得这份周报或者我的文章对你有所帮助,欢迎 点赞、赞赏,并将其 转发 给更多的朋友。
参考资料
[1]
fatbobman.substack.com: https://fatbobman.substack.com
[2]
SwiftUI geometryGroup() 指南:从原理到实践: https://fatbobman.com/posts/mastring-geometryGroup/
[3]
fatbobman(东坡肘子): https://twitter.com/fatbobman
[4]
Create an AsyncStream from withObservationTracking() function: https://nilcoalescing.com/blog/AsyncStreamFromWithObservationTrackingFunc/
[5]
Matthaus Woolard: https://twitter.com/hishnash
[6]
Using Observation framework outside of SwiftUI: https://nilcoalescing.com/blog/ObservationFrameworkOutsideOfSwiftUI/
[7]
Know your tools: https://khorbushko.github.io/article/2023/11/26/Know-your-tools.html
[8]
kyryl horbushko: https://www.linkedin.com/in/kyryl-horbushko-67936bb5/
[9]
初探 SwiftUI Link: https://kyleye.top/posts/explore-swiftui-link/
[10]
Kyle-Ye: https://twitter.com/KyleSwifter
[11]
Mastering MapKit in SwiftUI. Basics: https://swiftwithmajid.com/2023/11/28/mastering-mapkit-in-swiftui-basics/
[12]
Majid Jabrayilov: https://twitter.com/mecid
[13]
Apple’s use of AppKit, Catalyst, Swift and SwiftUI in macOS Sonoma: https://blog.timac.org/2023/1128-state-of-appkit-catalyst-swift-swiftui-mac/
[14]
Alexandre Colucci: https://mastodon.social/@timac
[15]
Create Your Own Step Counter SwiftUI App in 5 Minutes: https://holyswift.app/create-your-own-step-counter-swiftui-app-in-5-minutes/
[16]
Leonardo Pugliese: https://twitter.com/Leo_Pugliese
[17]
107: 好,买了,破费: https://weakself.dev/episodes/107
[18]
weak self: https://twitter.com/weak_self
[19]
13: https://twitter.com/ethanhuang13
[20]
iOS 开发配饭吃: https://www.youtube.com/playlist?list=PL_ISTqHGWkNyN2qbc5wVDRyE6baEQ-BqU
[21]
Pofat: https://twitter.com/PofatTseng