Weekly Comment
Boosting Engagement: Forum Updates Alone Fall Short
Apple recently made a significant design update to the Developer Forum. The new version not only offers a more elegant visual design but also has rationalized the categorization of the forum. Each category and tag now includes an RSS link, enabling developers to receive information in their areas of interest more promptly.
Historically, as an official platform of Apple, this forum has not achieved the desired levels of activity. Despite recent efforts by Apple to boost engagement through the introduction of a points system, the impact has been limited. For many developers, this forum is not the preferred choice for technical exchanges. Insufficient popularity, overly detailed categorization, a lack of a unique community atmosphere, and unappealing incentive mechanisms have all hindered the development of the forum. More importantly, the expected advantage of active participation by Apple engineers, a hallmark of an official forum, has not been fully realized.
In the new version of the forum, Apple engineers are now identified by a uniform symbol (an Apple logo on their avatar), replacing the previous method of signing their posts. However, this approach of answering under departmental identities has inadvertently increased the distance between engineers and developers, making the interactions less personal and lacking in emotional engagement, which is not conducive to fostering a welcoming forum atmosphere.
Although Apple has made efforts in recent years to strengthen its connections with the developer community, the results have still not met expectations. This may be related to the company's long-established culture and ethos, as significant changes truly require time.
Unexpectedly, in November 2022, Apple hosted an "Ask Apple" event, providing developers with a rare opportunity to interact directly with Apple engineers outside of WWDC. I hope that this event becomes an annual fixture. In the future, I wish for it to evolve from a mere Q&A format to a true two-way communication bridge, transitioning from "Ask Apple" to "Talk Apple." This would not only resolve developers' queries but also serve as a crucial platform for the officials to gain insights into developers' thoughts and suggestions.
In today's environment, where hardware capabilities and software platforms are increasingly homogenized, maintaining a developer community with a unique character and active engagement is especially crucial. Overall, the updates Apple has made to the developer forum are commendable. However, to truly create a more interactive environment, both Apple and the developer community need to increase their efforts and investment.
Previous Issue|Newsletter Archive
If you appreciate my work and want to promote your product to the Swift and iOS developer community, sponsoring my platform could be an excellent opportunity for you.
Your support through Patreon, or Buy Me a Coffee helps keep this newsletter and blog running. Thank you for finding this content helpful!
Originals
Before WWDC 2024: Reviewing Key SwiftUI Upgrades from 2019 to 2023 and Their Impact
When people reunite after a long absence, they are often surprised by the changes in each other; however, the transformations in those who are with us day after day are often overlooked. In this article, I will sift through the key updates to SwiftUI that have made a significant impression on me since its first version. This is not only a reflection on the evolution of SwiftUI from its inception to its maturity but also a fresh appreciation of the vitality it embodies.
Each update to SwiftUI has brought numerous new features and capabilities. In this text, I will focus primarily on those changes that have had a profound impact on me personally and discuss other frameworks and features closely related to SwiftUI and the Apple ecosystem, demonstrating how they collectively shape the platform we use today.
Recent Selections
The Result Builders feature in Swift significantly enhances its ability to construct domain-specific languages (DSLs). In the following two articles, the authors demonstrate how to utilize Result Builders to develop DSLs for various fields, sharing practical experiences and in-depth insights gained during the construction of these features.
Declarative Text Kit: Inserting Strings and Lines With a Result Builder
In this article, Christian Tietze thoroughly explains how to build a declarative text insertion API using Swift's Result Builders, supported by a series of practical examples and code snippets. Additionally, the author shares lessons learned and personal advice from using Result Builders, particularly strategies on how to simplify and concretize complex concepts to solve problems.
Build your next website in Swift
Two months ago, Paul Hudson created the open-source project Ignite, a tool that allows developers to build static websites using declarative code similar to SwiftUI. In this article, Paul discusses how to use Swift's Result Builders to write smarter, safer HTML code, which is an important component of this project. Additionally, Ignite offers a rich array of components, and developers can see these components in action by visiting the Ignite Demo website.
MVVM: An architectural coding pattern to structure SwiftUI Views
Due to SwiftUI's declarative programming paradigm and data flow management differing from traditional MVVM implementations, many developers are uncertain about the applicability of MVVM to SwiftUI. In this article, Antoine van der Lee explores how to implement the MVVM architectural pattern in a way that suits SwiftUI for building views. Additionally, he discusses the issue of over-engineering, exploring when it is appropriate to use MVVM and how to adjust it based on the scale and complexity of the project. Antoine advises developers to start with small-scale projects and adjust the architecture as needed to ensure code maintainability and consistency.
Discovering app features with TipKit
TipKit is a new framework introduced by Apple at WWDC 2023, designed to help developers easily display tips within their applications. The framework is suited for various scenarios, such as introducing new features, revealing hidden options, or guiding users to complete tasks more quickly. It supports a range of devices in the Apple ecosystem, including iPhone, iPad, Mac, Apple Watch, and Apple TV. Majid Jabrayilov is delving into the various uses of TipKit through a series of articles, with published installments including "Basics," "Rules," and "Customization."
Avoid These Common Errors When Switching from UIKit to SwiftUI
In this article, Jeremy Gale discusses the unique challenges that UIKit developers face when learning SwiftUI. He points out that for those experienced with UIKit, breaking away from long-established programming habits and mindsets to fully adapt to SwiftUI's declarative and reactive programming models might be more difficult than for beginners. The article thoroughly analyzes common pitfalls when transitioning from UIKit to SwiftUI and demonstrates how to improve the readability and maintainability of SwiftUI code through specific code refactoring examples.
Hate to say I told you so
Currently, many AI-based search engines typically provide direct answers rather than guiding users to the sources of those answers. Recently, Google announced at its I/O conference that it would add AI Overviews to its search pages. Ian Betteridge points out that in many cases, conversational interfaces are usually superior to simple text searches. However, in the long run, this is highly disadvantageous for content providers. In this article, he suggests that content providers should build a direct audience and focus on the direct relationship with readers, rather than relying on large platforms as intermediaries. This might mean adopting a subscription model, focusing on specific segments of the B2B market, or building communities, rather than just providing answers.
肘子的话
改善社区活跃度,仅更新论坛还不够
苹果公司最近对 开发者论坛 进行了一次显著的设计更新。新版本不仅提供了更为优雅的视觉设计,还对论坛分类进行了合理化调整,每个分类和标签都增加了RSS链接,使开发者能更及时地获取到自己关注领域的信息。
长期以来,作为苹果官方的平台,这一论坛的活跃度并未达到预期。尽管苹果在近年尝试通过引入积分系统等方式提升活跃度,但效果有限。对许多开发者而言,该论坛并非进行技术交流的首选。人气不足、分类过于细致、缺乏独特的社区氛围、激励机制不够吸引人——这些因素都限制了论坛的发展。更为重要的是,作为官方论坛,苹果工程师的参与度这一本应是其最大优势的特点,并未得到充分展现。
在论坛的新版本中,苹果工程师的身份通过统一的标识( 头像上的苹果标志 ) ,替代了之前通过签名来表明身份的方式。然而,这种以部门身份进行回答的做法,无形中增加了工程师与开发者之间的距离,使得交流缺乏个人化和情感交流,这并非塑造友好论坛氛围的良策。
尽管苹果近年来努力加强与开发者社区的联系,成效仍未达到预期。这可能与公司长期形成的文化和气质有关,要想实现根本性的变革确实需要时间。
2022年11月,苹果公司出人意料地举办了一次“Ask Apple”活动,这为开发者提供了一个在 WWDC 之外直接与苹果工程师交流的难得机会。我期待这种活动能够成为每年的固定项目。未来,希望它不仅仅局限于问答形式,而能真正成为双向交流的桥梁,从“Ask Apple”进化到“Talk Apple”。这将不只是为开发者解答疑问,更是一个让官方洞察开发者思维和建议的重要平台。
在当今硬件能力和软件平台日趋同质化的背景下,保持一个具有独特气质且活跃的开发者社区显得尤为关键。总的来说,苹果对开发者论坛所做的更新是值得肯定的。然而,要真正创建一个更具互动性的环境,苹果公司与开发者社区都需要加大投入和努力。
如果您发现这份周报或我的博客对您有所帮助,可以考虑通过 爱发电,Buy Me a Coffee 支持我的创作。
原创
写在 WWDC 2024 之前:回顾 2019 至 2023 年间 SwiftUI 的关键升级及其影响
当人们久别重逢时,常会对朋友的变化感到惊讶;而那些日复一日陪伴在我们身边的人,他们的变化往往容易被我们忽视。在这篇文章中,我将梳理从首个版本起那些给我留下深刻印象的 SwiftUI 关键更新及其影响。这不仅是对 SwiftUI 从诞生到逐渐成熟过程的回顾,也是一次对它所蕴含活力的新的认识。
每个 SwiftUI 的更新版本都带来了众多新功能和新特性。在本文中,我将主要讨论那些对我个人影响深远的变化,并探讨与 SwiftUI 以及苹果生态系统密切相关的其他框架和功能的演变,展示它们如何共同塑造了我们今天所使用的平台。
近期推荐
Swift 语言中的 Result Builders 功能,极大地增强了其构建领域特定语言(DSL)的能力。在接下来的两篇文章中,作者们展示了如何利用 Result Builders 来开发适用于不同领域的 DSL,同时分享了构建这些功能时的实用经验和深入见解。
Declarative Text Kit: Inserting Strings and Lines With a Result Builder ( 声明式 Text Kit:使用结果构建器插入字符串和行 )
在本文中,Christian Tietze 通过一系列实际示例和代码片段,详细介绍了如何利用 Swift 的 Result Builders 构建一个声明式文本插入 API。此外,作者还分享了在使用 Result Builders 过程中的经验教训和个人建议,尤其是关于如何简化并具体化复杂概念以解决问题的策略。
Build your next website in Swift ( 用 Swift 构建你的下一个网站 )
两个月前,Paul Hudson 创建了 Ignite 开源项目,这是一个允许开发者使用类似于 SwiftUI 的声明式代码构建静态网站的工具。在本文中,Paul 探讨了如何使用 Swift 的结果构建器(Result Builders)来编写更智能、更安全的 HTML 代码,这也是该项目中一个很重要的组成部分。此外,Ignite 还提供了一系列丰富的组件,开发者可以通过访问 Ignite Demo 网站,直观查看这些组件的实际效果。
MVVM: An architectural coding pattern to structure SwiftUI Views ( MVVM:用于构建 SwiftUI 视图的架构编码模式 )
由于 SwiftUI 的声明式编程范式和数据流管理方式与传统的 MVVM 实现有所不同,使得许多开发者对于 MVVM 是否适用于 SwiftUI 感到疑惑。在这篇文章中,Antoine van der Lee 探讨了如何以适合 SwiftUI 的方式实施 MVVM 架构模式来构建视图。此外,他还讨论了过度工程的问题,探究何时适宜采用 MVVM,以及如何根据项目的规模和复杂度进行适当调整。Antoine 建议开发者从小规模项目开始,并根据实际需求调整架构,以确保代码的可维护性和一致性。
Discovering app features with TipKit ( 使用 TipKit 发现应用功能 )
TipKit 是苹果公司在 2023 年 WWDC 上推出的新框架,旨在帮助开发者在应用程序中轻松展示提示信息。该框架适用于介绍新功能、揭示隐藏选项或指导用户更快完成任务等多种场景。它支持苹果生态系统中的各种设备,包括 iPhone、iPad、Mac、Apple Watch 和 Apple TV。Majid Jabrayilov 正在通过一系列文章深入讲解 TipKit 的各种使用方法,目前已发布的包括《基础篇》、《规则篇》和《自定义篇》。
Avoid These Common Errors When Switching from UIKit to SwiftUI ( 从 UIKit 切换到 SwiftUI 时应避免的常见错误 )
Jeremy Gale 在这篇文章中探讨了 UIKit 开发者在学习 SwiftUI 时面临的独特挑战。他指出,对于那些熟练的 UIKit 开发者来说,摒弃长期形成的编程习惯和思维方式以完全适应 SwiftUI 的声明式和响应式编程模型,可能比新手更为困难。文章详细分析了从 UIKit 转向 SwiftUI 时常见的误区,并通过具体的代码重构示例展示了如何提升 SwiftUI 代码的可读性和维护性。
Hate to say I told you so ( 不想说我早就告诉过你 )
当前,许多基于 AI 的搜索引擎通常会直接提供答案,而不是引导用户访问答案的来源。最近,Google 在其 I/O 大会上宣布,将在搜索页面上增加 AI 概览。Ian Betteridge 指出,在许多情况下,对话式界面通常优于简单的文本搜索。但从长远来看,这对内容提供者极为不利。他在本文中建议,内容提供者应构建直接的观众群,并专注于与读者之间的直接关系,而非通过大型平台作为中介。这可能意味着采用订阅模式,或者专注于特定细分的 B2B 市场或建立社区,而不仅仅是提供答案。