Skip to content

Commit

Permalink
Update Roadmap (#12373)
Browse files Browse the repository at this point in the history
  • Loading branch information
paulb777 authored Feb 7, 2024
1 parent 0bb0dcf commit 3ff2b27
Show file tree
Hide file tree
Showing 2 changed files with 1 addition and 173 deletions.
104 changes: 1 addition & 103 deletions ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
70 changes: 0 additions & 70 deletions SwiftDashboard.md

This file was deleted.

0 comments on commit 3ff2b27

Please sign in to comment.