Weekly Comment
Although there are already many excellent Apple development ecosystem weeklies and newsletters online, I still founded this one. The initial intention was simple: to filter out content that interests me from daily readings and share it with readers from my own perspective. From the first issue published in early October last year until now, it’s been a year in the blink of an eye, totaling 51 issues.
As social beings, we inevitably crave some external positive feedback. The continuous growth in readership and page views of the blog and weekly did satisfy this need for a while, making me feel that my creations were recognized. I originally thought this would be a long-term encouragement, but as time went on, I found that these ever-increasing numbers began to affect the purity of my creation. Unconsciously, I started to have concerns about topic selection and timeliness when writing, caring more about readers’ feelings rather than the intrinsic value of the content. Of course, the problem doesn’t lie in the numbers themselves but in the subtle change of my mindset. This needs timely adjustment.
Not long ago, I gave myself a month off (paused updating the blog). During this time, besides completely relaxing, I also deeply analyzed and sorted out my state. Looking back, the Chinese name of my blog, “Fatbobman’s Swift Notebook,” precisely reflects the original vision: focusing on myself and recording bits and pieces of learning and development. Writing is essentially a process of refining and organizing content, aimed at helping myself grow better. Sharing is a natural extension on this basis. Only when I learn happily, understand thoroughly, and remember clearly does an article truly have the value of being read and loved by others.
Although I haven’t made programming and writing my means of livelihood yet, even if I turn to professional creation in the future, I still hope to maintain this state: not deliberately catering to readers, only learning what interests me, and only writing what I find interesting. I firmly believe that only when I enjoy myself can I create truly valuable content.
Maintaining the original aspiration isn’t easy, but I will try to continue. Let’s return to simplicity together and continue this fun-filled journey of learning and sharing.
Recent Selections
Dev Conversations #2: Dave Verwer & Sven A. Schmidt
Dave Verwer and Sven A. Schmidt, the creators of the Swift Package Index, recently joined an interview with Natan Rolnik. Dave Verwer is also the editor of iOS Dev Weekly, one of the most popular newsletters among Apple ecosystem developers. In the conversation, they shared the development journey, technical architecture, and design philosophy behind the Swift Package Index project. The interview delves into the technical details and evolution of SPI, highlighting the significance of open-source community support and practical experience with server-side Swift.
Growing a blog about Swift to 140k visitors per month
Antoine van der Lee is the creator of SwiftLee, a widely followed blog among Apple developers, and also the author of the Xcode Simulators utility tool RocketSim. In this article, Jakob Jelling details how Antoine grew SwiftLee into a prominent blog with 140k monthly visitors since its inception in 2015 through continuous content creation and development. In March 2024, Antoine decided to fully focus on independent development, making SwiftLee and RocketSim the core of his business. Currently, he is developing his first course, From Side Project to Going Indie aimed at helping creators who aspire to become independent developers.
Optimizing for VoiceOver and Voice Control
VoiceOver is a screen reader that reads aloud the content on the screen, enabling visually impaired users to “hear” and interact with the content independently. Voice Control is designed for users with mobility impairments or those who prefer hands-free operation, offering voice-based control over devices. In this article, Bas Thomas Broek explores how to optimize an app’s accessibility for both VoiceOver and Voice Control, analyzing optimization techniques and trade-offs between the two features.
Implementing Shared With You in SwiftUI
Shared with You is a feature introduced by Apple in iOS 16, allowing users to quickly find content shared with them in Messages within relevant apps. For example, users can see all links shared with them directly in Safari without leaving the browser. In this article, Aryaman Sharda provides an in-depth guide on how to implement Shared with You in SwiftUI, including a complete code example and practical tips for testing the feature.
Translation’s Concurrency Pattern Spells Out the Plank for UIKit
Although SwiftUI has been around for several years, its adoption still lags behind UIKit within the Apple development ecosystem. In this article, Danny Bolella analyzes the Translation framework, which is only accessible via SwiftUI, to discuss Apple’s shifting priorities between UIKit and SwiftUI. The author points out that the growing number of frameworks favoring SwiftUI (such as Charts, SwiftData, and Observation) clearly signals that while UIKit and AppKit won’t be immediately deprecated, Apple is actively promoting SwiftUI as the future mainstream development framework.
SwiftUI Environment
The environment in SwiftUI is a mechanism for sharing data and configuration across multiple views in the view hierarchy, aiming to decouple the data source from its consumers and streamline data passing. In this article, Natalia Panferova thoroughly explores the fundamentals, usage, and advanced applications of the SwiftUI environment, providing developers with a comprehensive guide to understanding and utilizing this powerful tool effectively.