This is a longer roadmap than we can implement internally and we very much welcome community contributions.
See the information about Development setup here and Contributing for more information on the mechanics of contributing to the Firebase iOS SDK.
As we go into 2022, it's a top priority for the Firebase team to improve usability and functionality for Swift developers. We welcome the community's input and contribution as we work through this.
Please upvote existing feature requests, add new feature requests, and send PRs.
See Contributing.md for full details about contributing code to the Firebase repo.
Thanks in large part to community contributions, we already have several Swift improvements:
- Analytics
- Enabling SwiftUI Screen tracking automated view logging for SwiftUI apps
- Firestore and RTDB
- Codable Support (Firestore, Database) eliminated manual data processing
- Property wrappers for Firestore collections dramatically simplified client coding
- Storage
- Eliminated impossible states, provided new and improved async API usage via Result type and async/await additions
- ML Model Downloader
- In App Messaging
- Vastly simplified usage from SwiftUI with SwiftUI modifiers to show messages and preview helpers
- Swift API tests
- async/await API evaluation, tests, and augmentation
- Fix non-Swifty APIs
- Fill API gaps
- Property Wrappers (Not necessarily low hanging, but can be high value)
- Identify larger projects for future phases
Continue to evolve the Firebase API surface to be more Swift-friendly. This is generally done with Swift specific extension libraries.
FirebaseStorageSwift is an example that extends FirebaseStorage with APIs that take advantage of Swift's Result type. FirebaseFirestoreSwift is a larger library that adds Codable support for Firestore.
Add more such APIs to improve the Firebase Swift API.
More examples in the feature requests.
Firebase should be better integrated with SwiftUI apps. See SwiftUI related issues.
Evaluate impact on Firebase APIs of the Swift Async/await proposal. For example, Objective C callback APIs that return a value do not get an async/await API automatically generated and an explicit function may need to be added. See these Firebase Storage examples.
Firebase has community support for Combine (Thanks!). See Combine Readme for usage and project details.
Continue to expand the range and quality of Firebase support across all Apple platforms.
Expand the current non-iOS platform support from community supported to officially supported.
Fill in the missing pieces of the support matrix, which is primarily watchOS for several libraries.
Modernize the Swift Quickstarts. Continue the work done in 2020 and 2021 that used better Swift style, SwiftUI, Swift Package Manager, async/await APIs, and multi-platform support for Analytics, ABTesting, Auth, Database, Functions, Performance, and RemoteConfig.
- Issues marked with help-wanted tag
- Pitches Propose and discuss ideas for Firebase improvements.
- Feature requests
- All open issues
Indicate your interest in contributing to a bug fix or feature request with a comment. If you would like someone else to solve it, add a thumbs-up.
If you don't see the feature you're looking for, please add a Feature Request.
Please help others to be contributors by filing issues and adding PRs to ease the learning curve to develop, test, and contribute to this repo.