|
|
@@ -11,109 +11,7 @@ contributing to the Firebase iOS SDK.
|
|
|
|
|
|
## Modernization - More Swifty
|
|
|
|
|
|
-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.
|
|
|
-
|
|
|
-See the [Project Dashboard](SwiftDashboard.md).
|
|
|
-
|
|
|
-Please upvote existing feature requests, add new feature requests, and send PRs.
|
|
|
-* [Example Feature Request](https://github.com/firebase/firebase-ios-sdk/issues/8827)
|
|
|
-* [Example Pull Request](https://github.com/firebase/firebase-ios-sdk/pull/6568)
|
|
|
-
|
|
|
-See [Contributing.md](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](https://github.com/firebase/firebase-ios-sdk/blob/main/FirebaseAnalyticsSwift/CHANGELOG.md)
|
|
|
- automated view logging for SwiftUI apps
|
|
|
-* Firestore and RTDB
|
|
|
- * Codable Support ([Firestore](https://github.com/firebase/firebase-ios-sdk/pull/3198),
|
|
|
- [Database](https://github.com/firebase/firebase-ios-sdk/tree/main/FirebaseDatabaseSwift/Sources/Codable))
|
|
|
- eliminated manual data processing
|
|
|
- * [Property wrappers](https://github.com/firebase/firebase-ios-sdk/pull/8408) for Firestore collections dramatically simplified client coding
|
|
|
-* Storage
|
|
|
- * Eliminated impossible states, provided new and improved async API usage via
|
|
|
- [Result type](https://github.com/firebase/firebase-ios-sdk/blob/main/FirebaseStorage/CHANGELOG.md)
|
|
|
- and [async/await](https://github.com/firebase/firebase-ios-sdk/blob/main/FirebaseStorage/CHANGELOG.md)
|
|
|
- additions
|
|
|
-* ML Model Downloader
|
|
|
- * Full [SDK implementation in Swift](https://github.com/firebase/firebase-ios-sdk/tree/main/FirebaseMLModelDownloader/Sources)
|
|
|
-* In App Messaging
|
|
|
- * Vastly simplified usage from SwiftUI with
|
|
|
- [SwiftUI modifiers](https://github.com/firebase/firebase-ios-sdk/pull/7496) to show messages and
|
|
|
- [preview helpers](https://github.com/firebase/firebase-ios-sdk/pull/8351)
|
|
|
-
|
|
|
-### Phase 1 - Address Low Hanging Fruit for all Firebase Products
|
|
|
-* Swift API tests
|
|
|
-* async/await API evaluation, tests, and augmentation
|
|
|
-* Fix non-Swifty APIs
|
|
|
-* Fill API gaps
|
|
|
-* Better Swift Error Handling
|
|
|
-* Property Wrappers (Not necessarily low hanging, but can be high value)
|
|
|
-* Identify larger projects for future phases
|
|
|
-
|
|
|
-### APIs
|
|
|
-
|
|
|
-Continue to evolve the Firebase API surface to be more
|
|
|
-Swift-friendly. This is generally done with Swift specific extension libraries.
|
|
|
-
|
|
|
-[FirebaseFirestoreSwift](Firestore/Swift) 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](https://github.com/firebase/firebase-ios-sdk/issues?q=is%3Aopen+is%3Aissue+label%3A%22Swift+API%22).
|
|
|
-
|
|
|
-### SwiftUI
|
|
|
-
|
|
|
-Firebase should be better integrated with SwiftUI apps. See SwiftUI related
|
|
|
-[issues](https://github.com/firebase/firebase-ios-sdk/issues?q=is%3Aissue+is%3Aopen++label%3ASwiftUI).
|
|
|
-
|
|
|
-### Swift Async/Await
|
|
|
-
|
|
|
-Evaluate impact on Firebase APIs of the
|
|
|
-[Swift Async/await proposal](https://github.com/apple/swift-evolution/blob/main/proposals/0296-async-await.md).
|
|
|
-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](https://github.com/firebase/firebase-ios-sdk/blob/main/FirebaseStorage/Sources/AsyncAwait.swift).
|
|
|
-
|
|
|
-### Combine
|
|
|
-
|
|
|
-Firebase has community support for Combine (Thanks!). See
|
|
|
-[Combine Readme](FirebaseCombineSwift/README.md) for usage and project details.
|
|
|
-
|
|
|
-## More complete Apple platform support
|
|
|
-
|
|
|
-Continue to expand the range and quality of Firebase support across
|
|
|
-all Apple platforms.
|
|
|
-
|
|
|
-Expand the
|
|
|
-[current non-iOS platform support](README.md#community-supported-efforts)
|
|
|
-from community supported to officially supported.
|
|
|
-
|
|
|
-Fill in the missing pieces of the support matrix, which is
|
|
|
-primarily *watchOS* for several libraries.
|
|
|
-
|
|
|
-## Getting Started
|
|
|
-
|
|
|
-### Quickstarts
|
|
|
-
|
|
|
-Modernize the [Swift Quickstarts](https://github.com/firebase/quickstart-ios).
|
|
|
-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](https://github.com/firebase/quickstart-ios/tree/master/analytics),
|
|
|
-[ABTesting](https://github.com/firebase/quickstart-ios/tree/master/abtesting),
|
|
|
-[Auth](https://github.com/firebase/quickstart-ios/tree/master/authentication),
|
|
|
-[Database](https://github.com/firebase/quickstart-ios/tree/master/database),
|
|
|
-[Functions](https://github.com/firebase/quickstart-ios/tree/master/functions),
|
|
|
-[Performance](https://github.com/firebase/quickstart-ios/tree/master/performance),
|
|
|
-and
|
|
|
-[RemoteConfig](https://github.com/firebase/quickstart-ios/tree/master/config).
|
|
|
+We're continuing a long term journey to migrate from Objective-C to Swift.
|
|
|
|
|
|
## Product Improvements
|
|
|
|