Skip to content

Commit 80e0394

Browse files
authored
Update roadmap (#8829)
1 parent 4a6d84d commit 80e0394

File tree

1 file changed

+60
-12
lines changed

1 file changed

+60
-12
lines changed

ROADMAP.md

Lines changed: 60 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,47 @@ contributing to the Firebase iOS SDK.
1111

1212
## Modernization - More Swifty
1313

14+
As we go into 2022, it's a top priority for the Firebase team to improve
15+
usability and functionality for Swift developers. We welcome the community's
16+
input and contribution as we work through this.
17+
18+
Please upvote existing feature requests, add new feature requests, and send PRs.
19+
* [Example Feature Request](https://github.com/firebase/firebase-ios-sdk/issues/8827)
20+
* [Example Pull Request](https://github.com/firebase/firebase-ios-sdk/pull/6568)
21+
22+
See [Contributing.md](Contributing.md) for full details about contributing
23+
code to the Firebase repo.
24+
25+
Thanks in large part to community contributions, we already have several Swift
26+
improvements:
27+
* Analytics
28+
* Enabling [SwiftUI Screen tracking](https://github.com/firebase/firebase-ios-sdk/blob/master/FirebaseAnalyticsSwift/CHANGELOG.md)
29+
automated view logging for SwiftUI apps
30+
* Firestore and RTDB
31+
* Codable Support ([Firestore](https://github.com/firebase/firebase-ios-sdk/pull/3198),
32+
[Database](https://github.com/firebase/firebase-ios-sdk/tree/master/FirebaseDatabaseSwift/Sources/Codable))
33+
eliminated manual data processing
34+
* [Property wrappers](https://github.com/firebase/firebase-ios-sdk/pull/8408) for Firestore collections dramatically simplified client coding
35+
* Storage
36+
* Eliminated impossible states, provided new and improved async API usage via
37+
[Result type](https://github.com/firebase/firebase-ios-sdk/blob/master/FirebaseStorageSwift/CHANGELOG.md)
38+
and [async/await](https://github.com/firebase/firebase-ios-sdk/blob/master/FirebaseStorageSwift/CHANGELOG.md)
39+
additions
40+
* ML Model Downloader
41+
* Full [SDK implementation in Swift](https://github.com/firebase/firebase-ios-sdk/tree/master/FirebaseMLModelDownloader/Sources)
42+
* In App Messaging
43+
* Vastly simplified usage from SwiftUI with
44+
[SwiftUI modifiers](https://github.com/firebase/firebase-ios-sdk/pull/7496) to show messages and
45+
[preview helpers](https://github.com/firebase/firebase-ios-sdk/pull/8351)
46+
47+
### Phase 1 - Address Low Hanging Fruit for all Firebase Products
48+
* Swift API tests
49+
* async/await API evaluation, tests, and augmentation
50+
* Fix non-Swifty APIs
51+
* Fill API gaps
52+
* Property Wrappers (Not necessarily low hanging, but can be high value)
53+
* Identify larger projects for future phases
54+
1455
### APIs
1556

1657
Continue to evolve the Firebase API surface to be more
@@ -23,14 +64,8 @@ Codable support for Firestore.
2364

2465
Add more such APIs to improve the Firebase Swift API.
2566

26-
More details in the
27-
[project](https://github.com/firebase/firebase-ios-sdk/projects/2).
28-
29-
### Combine
30-
31-
Add combine support for Firebase. See the
32-
[Tracking Issue](https://github.com/firebase/firebase-ios-sdk/issues/7295) and
33-
[Project](https://github.com/firebase/firebase-ios-sdk/projects/3).
67+
More examples in the
68+
[feature requests](https://github.com/firebase/firebase-ios-sdk/issues?q=is%3Aopen+is%3Aissue+label%3A%22Swift+API%22).
3469

3570
### SwiftUI
3671

@@ -40,7 +75,16 @@ Firebase should be better integrated with SwiftUI apps. See SwiftUI related
4075
### Swift Async/Await
4176

4277
Evaluate impact on Firebase APIs of the
43-
[Swift Async/await proposal](https://github.com/apple/swift-evolution/blob/main/proposals/0296-async-await.md)
78+
[Swift Async/await proposal](https://github.com/apple/swift-evolution/blob/main/proposals/0296-async-await.md).
79+
For example, Objective C callback APIs that return a value do not get an
80+
async/await API automatically generated and an explicit function may need to be
81+
added. See these
82+
[Firebase Storage examples](https://github.com/firebase/firebase-ios-sdk/blob/master/FirebaseStorageSwift/Sources/AsyncAwait.swift).
83+
84+
### Combine
85+
86+
Firebase has community support for Combine (Thanks!). See
87+
[Combine Readme](FirebaseCombineSwift/README.md) for usage and project details.
4488

4589
## More complete Apple platform support
4690

@@ -59,12 +103,16 @@ primarily *watchOS* for several libraries.
59103
### Quickstarts
60104

61105
Modernize the [Swift Quickstarts](https://github.com/firebase/quickstart-ios).
62-
Continue the work done in 2020 for
106+
Continue the work done in 2020 and 2021 that used better Swift style, SwiftUI,
107+
Swift Package Manager, async/await APIs, and multi-platform support for
63108
[Analytics](https://github.com/firebase/quickstart-ios/tree/master/analytics),
109+
[ABTesting](https://github.com/firebase/quickstart-ios/tree/master/abtesting),
64110
[Auth](https://github.com/firebase/quickstart-ios/tree/master/authentication),
111+
[Database](https://github.com/firebase/quickstart-ios/tree/master/database),
112+
[Functions](https://github.com/firebase/quickstart-ios/tree/master/functions),
113+
[Performance](https://github.com/firebase/quickstart-ios/tree/master/performance),
65114
and
66-
[RemoteConfig](https://github.com/firebase/quickstart-ios/tree/master/config) to
67-
use modern Swift and support multiple Apple platforms.
115+
[RemoteConfig](https://github.com/firebase/quickstart-ios/tree/master/config).
68116

69117
## Product Improvements
70118

0 commit comments

Comments
 (0)