中文位于文章的下半部分
Weekly Comment

Recently, I have been busy with refactoring my blog website. This is not only an update project, but also an opportunity to learn new programming languages and modern web development frameworks. As a bilingual blog, I plan to add a simple logic on the homepage to automatically redirect visitors to the corresponding language page based on their browser language settings. During the testing process, I found that different browsers handle the system language list differently, which is a common challenge in frontend development. Although in most cases, HTML, CSS, and JavaScript standards behave consistently across different browsers, there are still slight differences.
At the same time, in the field of native mobile app development, in addition to iOS and Android, we may also need to consider the adaptation of HarmonyOS NEXT, which Huawei is about to launch. Huawei plans to abandon support for Android APIs in the next version of its operating system and instead adopt native development based on HarmonyOS. Although this change is currently only targeting the Chinese market, considering Huawei's influence in this market, many large companies will not easily give up this user base. This also means that Chinese internet companies are actively adapting to HarmonyOS, bringing new opportunities to the field of native mobile development.
Overall, whether it is frontend or mobile app development, the evolution of technology and changes in the market are constantly driving developers to learn new skills and adapt to new environments. Despite facing challenges, this also provides developers with opportunities for growth and innovation.
Previous Issue|Newsletter Archive
If you find this weekly newsletter or my blog helpful, I would greatly appreciate your consideration of making a donation through Patreon, or Buy Me a Coffee.
Originals
SwiftUI geometryGroup() Guide: From Theory to Practice
At WWDC 2023, Apple introduced a new modifier for SwiftUI called geometryGroup(). It addresses some animation anomalies that were previously difficult to handle or couldn’t be handled at all. This article will introduce the concept and usage of geometryGroup(), as well as how to handle anomalies in older versions of SwiftUI without using geometryGroup().
Recent Selections
Create an AsyncStream from withObservationTracking() function
Although the main purpose of creating the Observation framework is to improve the issue of repetitive evaluations in SwiftUI, it doesn't mean that the Observation framework can only be used with SwiftUI. Building upon Natalia's article "Using Observation framework outside of SwiftUI," Matthaus Woolard further explores the possibility of encapsulating observation into AsyncStream to integrate Observation into the asynchronous programming model and iterate changes through an asynchronous loop.
Know your tools
In the field of programming and software development, "tools" typically refer to programming languages, libraries, frameworks, algorithms, etc., which are resources used by developers to build and optimize solutions. In this article, Kyryl Horbushko demonstrates the importance of being familiar with and correctly applying tools through a specific case: solving a real problem using the Dijkstra algorithm.
Exploring SwiftUI Link
Link is a component in SwiftUI that allows navigation to a specified URL. Kyle Ye starts by investigating the issue of Link not being able to directly open links on watchOS. He delves into the internal implementation of the Link component and ultimately discovers a new solution that doesn't require ASWebAuthenticationSession. This article provides valuable information for SwiftUI developers to gain a deeper understanding and effectively utilize the Link component.
Mastering MapKit in SwiftUI. Basics
In iOS 17, Apple has significantly enhanced the capabilities of MapKit in SwiftUI, allowing developers to create professional and efficient map applications. This article is the first in Majid Jabrayilov's series on MapKit, and it primarily introduces the basics of integrating MapKit. The author will cover more advanced topics in the future, such as camera manipulation and map controls.
Apple’s use of AppKit, Catalyst, Swift and SwiftUI in macOS Sonoma
In this article, Alexandre Colucci analyzes and collects data on the programming languages and UI frameworks used by Apple in the latest macOS Sonoma 14. The aim is to answer the following questions:
What is the total number of binary files in macOS Sonoma?
What programming languages are used to develop these applications?
How many applications are written in Swift?
How many applications use Mac Catalyst and SwiftUI, and how many use AppKit in comparison?
Create Your Own Step Counter SwiftUI App in 5 Minutes
In the Apple ecosystem, health-related applications have always been popular. Most health apps require support from the HealthKit framework. Leonardo Pugliese will provide a comprehensive code tutorial on how to create a simple step counter app using SwiftUI and HealthKit.
肘子的话
最近,我一直在忙于重构自己的博客网站,这不仅是一个更新项目,更是一个学习新编程语言和现代 Web 开发工具框架的机会。作为一个双语博客,我计划在首页添加一个简单的逻辑,根据访客的浏览器语言设置自动跳转到相应语言的页面。在测试过程中,我发现不同浏览器对系统语言列表的处理方式各不相同,这在前端开发中是一个常见的挑战。尽管大多数情况下,HTML、CSS 和 JavaScript 的标准在不同浏览器上表现一致,但仍有些微差异。
同时,对于原生移动应用开发领域来说,除了 iOS 和安卓,未来或许还需要考虑华为即将推出的 HarmonyOS NEXT 的适配。华为计划在下一个操作系统版本中放弃对安卓 API 的支持,转而采用基于 HarmonyOS 的原生开发方式。虽然这一变化暂时只针对中国市场,但鉴于华为在该市场的影响力,许多大公司不会轻易放弃这部分用户。这也意味着,国内的互联网公司开始积极适配 HarmonyOS,为原生移动开发就业领域带来新的机遇。
其实,无论是前端还是移动应用开发,技术的演进和市场的变化都在不断推动开发者去学习新技能和适应新环境。尽管面临挑战,但这也为开发者提供了成长和创新的机会。
如果您发现这份周报或我的博客对您有所帮助,可以考虑通过 Patreon, Buy Me a Coffee, 微信 支持我的创作。
原创
SwiftUI geometryGroup() 指南:从原理到实践
在 WWDC 2023 中,苹果为 SwiftUI 添加了一个新的修饰器:geometryGroup()。它可以解决一些之前无法处理或处理起来比较困难的动画异常。本文将介绍 geometryGroup() 的概念、用法,以及在低版本 SwiftUI 中,在不使用 geometryGroup() 的情况下如何处理异常。
近期推荐
Create an AsyncStream from withObservationTracking() function
尽管创建 Observation 框架的主要目的是为了改善 SwiftUI 的重复计算问题,但这并不意味着 Observation 框架只能与 SwiftUI 一起使用。在 Natalia 的 Using Observation framework outside of SwiftUI 这篇文章的基础上,Matthaus Woolard 进一步探讨了将观察封装进 AsyncStream 的可能性,以将 Observation 整合到异步编程模型中,并通过异步循环来迭代变化。
Know your tools
在编程和软件开发领域,"工具"通常指的是编程语言、库、框架、算法等,这些都是开发者用来构建和优化解决方案的资源。在本文中,Kyryl Horbushko 通过一个具体的案例来展示熟悉并正确应用工具的重要性:使用 Dijkstra 算法解决一个实际问题。
初探 SwiftUI Link
Link 是 SwiftUI 的一个组件,通过它可以导航到一个指定的 URL。Kyle Ye 从发现 Link 在 watchOS 上无法直接打开链接的问题入手,深入研究了 Link 组件的内部实现,最终找到了一种无需通过 ASWebAuthenticationSession 的新解决方案。本文为 SwiftUI 开发者提供了深入理解和有效使用 Link 组件的宝贵信息。
Mastering MapKit in SwiftUI. Basics
在 iOS 17 中,苹果大幅强化了 MapKit 在 SwiftUI 中的能力,现在开发者也能够通过 MapKit 创建出专业、高效的地图应用了。本文是 Majid Jabrayilov 关于 MapKit 系列文章的第一篇,主要介绍了集成 MapKit 的基础知识。后续作者还将覆盖更高级的主题,如相机操作、地图控件等内容。
Apple’s use of AppKit, Catalyst, Swift and SwiftUI in macOS Sonoma
在本文中,Alexandre Colucci 分析并统计了在最新的 macOS Sonoma 14 中,苹果使用的编程语言和 UI 框架的数据。旨在回答以下几个问题:
macOS Sonoma 中的二进制文件总数是多少?
开发这些应用程序使用了哪些编程语言?
有多少应用是用 Swift 编写的?
有多少应用使用了 Mac Catalyst 和 SwiftUI,相比之下又有多少是使用 AppKit 的?
Create Your Own Step Counter SwiftUI App in 5 Minutes
在苹果的生态系统中,健康类应用一直备受欢迎。大多数健康应用都需要 HealthKit 框架的支持。Leonardo Pugliese 将通过详尽的代码介绍如何使用 SwiftUI 和 HealthKit 创建一个简单的步数计数器应用。
播客
107: 好,买了,破费
在这期播客中,13 在前半部分介绍了创建 iOS 开发配饭吃 系列视频的初衷并分享了一些体会。后半部分则主要是 Pofat 介绍了他最近玩过的一些游戏,并分享了游戏带来的快乐和沉浸感。