On April 18th and 20th, Apple hosted two “SwiftUI Tech Salon” events in Shanghai and Beijing, respectively. Due to the scarcity of similar offline events in recent years (due to the pandemic), the events were quickly fully booked with many developers signing up.
I was honored to be a speaker at the event in Beijing. During this exchange, I learned a lot of new knowledge, met many friends who I had only communicated with online before, and made many new friends.
In the last year or two, a significant portion of the online exchanges hosted by the Apple Accelerator in Shanghai has been related to SwiftUI. I believe that both Apple officials and developers hope to have a more active SwiftUI developer community.
For this purpose, the organizers from Apple started discussing and rehearsing the direction, content, form, and pace of the presentations with the participants two months before the event. All participants hoped to inject new vitality into the long-quiet offline exchanges through this tech salon and to revitalise the SwiftUI developer community as soon as possible.
The Beijing event featured four speakers who shared their experiences and insights on SwiftUI from different perspectives with other developers.
DaiMing: Developing an RSS Reader with SwiftUI
DaiMing shared the process of developing an RSS reader using SwiftUI + Core Data, covering framework selection, implementation challenges, technical details, and development experiences. Staying true to his style, hand-drawn anime-style images were used throughout the presentation, adding a youthful and cute atmosphere to the technical exchange. DaiMing’s own summary of the exchange can be read here.
HuSiHua: SwiftUI Custom Layout Technical Practice
HuSiHua, a member of the Douyin basic technology team, shared details about SwiftUI 4.0’s Layout protocol and practical examples. Last year’s D2 conference introduced the DanceUI framework, which ByteDance is developing. This declarative framework, highly compatible with SwiftUI on the iOS platform, aims to address the current issue of SwiftUI’s high minimum platform version requirements. The framework is likely to be open-sourced this year, potentially offering enterprise developers an opportunity for declarative development with Swift, with the eventual goal of full integration into SwiftUI. As a member of the DanceUI framework development team, HuSiHua has an in-depth understanding of some of SwiftUI’s underlying mechanisms, which was very enlightening during the exchange.
Fatbobman: Building Multi-Platform SwiftUI Applications
I discussed the considerations for creating multi-platform applications using SwiftUI through a demo app (Movie Hunter), focusing on two important yet easily overlooked aspects: compatibility and data sources. The full content of my presentation at the tech salon can be read here.
Harry: Techniques for Interoperability between SwiftUI and UIKit
Harry, who traveled all the way from Taichung and is one of the main developers of the globally popular scheduling app Sorted, discussed the integration of SwiftUI with existing UIKit-based solutions. As Sorted plans to build its new version using SwiftUI, they’ve effectively overcome some of SwiftUI’s limitations in text input and complex interactions by incorporating UIKit-based solutions. In his talk, Harry also provided insights and approaches to specific issues. Unfortunately, due to the high engagement of the participants, earlier sessions were extended, leaving limited time for Harry’s presentation.
The event, originally scheduled to end at 17:30, continued until 19:00 with some participants still engaged in discussions. The enthusiasm of the attendees was unexpected, and there was a common hope for more such events in the future, with an expanded scale to allow more developers to participate.
As life returns to normal, several Apple ecosystem developer communities are preparing various offline events this year, such as SwiftGG’s upcoming WWDC watch party and the iPlayground 2023 event by the Taiwan developer community in early November.
The hope is that these events will foster a vibrant developer community, where everyone can enjoy the exchange of ideas and grow together.