Weekly Comment
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.
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.