WWDC25 wishes
The World Wide Developers Conference, the largest event in the Apple development world, is just around the corner. Today, I’m excited to share my wishes for the upcoming WWDC 25, which is expected to be unveiled in two months.
Transform your app's global reach with context-aware AI translations. From String Catalogs to worldwide success in minutes! Try Now!
AI Tooling
The rapid pace of AI advancements in products like ChatGPT, Cursor, and Github Copilot is undeniable. Web developers and Android developers can enjoy the AI tooling and build features with very high pace. Unfortunately, this is not the case for us. We already spent a year without proper AI tooling while waiting for Swift Assist.
But, it looks like we already reached the critical point where developers considering switching to React Native + Expo, or even Flutter which have the great support of AI tooling. WWDC 25 is a good chance for Apple to release Swift Assist and provide the modern environment for app development.
Another exciting release they could consider is the MCP server for Xcode, which would be a significant surprise.
Xcode Project File
Xcode project file was the main pain point of Xcode users for many years. Merge conflicts, unstructured text format, which is almost impossible to maintain outside of Xcode, it is all about Xcode project file.
During the last years, developers have been moving towards Swift Package Manager to keep a significant amount of code there to avoid merge conflicts and other issues with Xcode project files.
Swift Package Manager uses folder structure and provides the whole configuration logic in the Package.swift file, which is a plain Swift file. I think it is time to introduce the Project.swift file, allowing us to configure Xcode projects. Using the same language in the configuration provides a ton of benefits to the developers who are already familiar with Swift.
Introducing the maintainable project file format will allow using third-party editors like VS Code and Zed. Not sure if it is the goal of Apple, but at least it will be really useful for the community.
SwiftUI Recycling views
Over the years, SwiftUI became the mature framework for building apps on Apple platforms, but it is still missing small things. One of them is the recycling view. Whenever you have a huge collection of items, there is no way to display them using SwiftUI built-in views while providing a smooth user experience. The only way is to wrap UIKit’s collection or table views.
To learn more about using UIKit views in SwiftUI, take a look at my “SwiftUI Performance - How to use UIKit” post.
I hope to see some new APIs allowing us to recycle SwiftUI views like we can do in UIKit using UITableView or UICollectionView.
struct AppStoreView: View {
let featured: [App]
let appsWeLove: [App]
var body: some View {
CompositionaView {
Section(.groupPagingCentered) {
Group(.horizontal, width: .fractionalWidth(0.5), height: .fractionalHeight(0.5)) {
ForEach(featured) { app in
FeatureAppView(app: app)
}
}
}
Section {
Group(.vertical, width: .fractionalWidth(0.9), height: .estimated(200)) {
ForEach(appsWeLove) { app in
SmallAppView(app: app)
}
}
}
}
}
}
Conclusion
I believe that this year Apple should provide us with more modern tooling abilities rather than just new UI designs on their major platforms. I hope you find the post enjoyable. Feel free to follow me on Twitter and ask your questions related to this post. Thanks for reading, and see you next week!