@@ -11,109 +11,7 @@ contributing to the Firebase iOS SDK.
11
11
12
12
## Modernization - More Swifty
13
13
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
- See the [ Project Dashboard] ( SwiftDashboard.md ) .
19
-
20
- Please upvote existing feature requests, add new feature requests, and send PRs.
21
- * [ Example Feature Request] ( https://github.com/firebase/firebase-ios-sdk/issues/8827 )
22
- * [ Example Pull Request] ( https://github.com/firebase/firebase-ios-sdk/pull/6568 )
23
-
24
- See [ Contributing.md] ( Contributing.md ) for full details about contributing
25
- code to the Firebase repo.
26
-
27
- Thanks in large part to community contributions, we already have several Swift
28
- improvements:
29
- * Analytics
30
- * Enabling [ SwiftUI Screen tracking] ( https://github.com/firebase/firebase-ios-sdk/blob/main/FirebaseAnalyticsSwift/CHANGELOG.md )
31
- automated view logging for SwiftUI apps
32
- * Firestore and RTDB
33
- * Codable Support ([ Firestore] ( https://github.com/firebase/firebase-ios-sdk/pull/3198 ) ,
34
- [ Database] ( https://github.com/firebase/firebase-ios-sdk/tree/main/FirebaseDatabaseSwift/Sources/Codable ) )
35
- eliminated manual data processing
36
- * [ Property wrappers] ( https://github.com/firebase/firebase-ios-sdk/pull/8408 ) for Firestore collections dramatically simplified client coding
37
- * Storage
38
- * Eliminated impossible states, provided new and improved async API usage via
39
- [ Result type] ( https://github.com/firebase/firebase-ios-sdk/blob/main/FirebaseStorage/CHANGELOG.md )
40
- and [ async/await] ( https://github.com/firebase/firebase-ios-sdk/blob/main/FirebaseStorage/CHANGELOG.md )
41
- additions
42
- * ML Model Downloader
43
- * Full [ SDK implementation in Swift] ( https://github.com/firebase/firebase-ios-sdk/tree/main/FirebaseMLModelDownloader/Sources )
44
- * In App Messaging
45
- * Vastly simplified usage from SwiftUI with
46
- [ SwiftUI modifiers] ( https://github.com/firebase/firebase-ios-sdk/pull/7496 ) to show messages and
47
- [ preview helpers] ( https://github.com/firebase/firebase-ios-sdk/pull/8351 )
48
-
49
- ### Phase 1 - Address Low Hanging Fruit for all Firebase Products
50
- * Swift API tests
51
- * async/await API evaluation, tests, and augmentation
52
- * Fix non-Swifty APIs
53
- * Fill API gaps
54
- * Better Swift Error Handling
55
- * Property Wrappers (Not necessarily low hanging, but can be high value)
56
- * Identify larger projects for future phases
57
-
58
- ### APIs
59
-
60
- Continue to evolve the Firebase API surface to be more
61
- Swift-friendly. This is generally done with Swift specific extension libraries.
62
-
63
- [ FirebaseFirestoreSwift] ( Firestore/Swift ) is a larger library that adds
64
- Codable support for Firestore.
65
-
66
- Add more such APIs to improve the Firebase Swift API.
67
-
68
- More examples in the
69
- [ feature requests] ( https://github.com/firebase/firebase-ios-sdk/issues?q=is%3Aopen+is%3Aissue+label%3A%22Swift+API%22 ) .
70
-
71
- ### SwiftUI
72
-
73
- Firebase should be better integrated with SwiftUI apps. See SwiftUI related
74
- [ issues] ( https://github.com/firebase/firebase-ios-sdk/issues?q=is%3Aissue+is%3Aopen++label%3ASwiftUI ) .
75
-
76
- ### Swift Async/Await
77
-
78
- Evaluate impact on Firebase APIs of the
79
- [ Swift Async/await proposal] ( https://github.com/apple/swift-evolution/blob/main/proposals/0296-async-await.md ) .
80
- For example, Objective-C callback APIs that return a value do not get an
81
- async/await API automatically generated and an explicit function may need to be
82
- added. See these
83
- [ Firebase Storage examples] ( https://github.com/firebase/firebase-ios-sdk/blob/main/FirebaseStorage/Sources/AsyncAwait.swift ) .
84
-
85
- ### Combine
86
-
87
- Firebase has community support for Combine (Thanks!). See
88
- [ Combine Readme] ( FirebaseCombineSwift/README.md ) for usage and project details.
89
-
90
- ## More complete Apple platform support
91
-
92
- Continue to expand the range and quality of Firebase support across
93
- all Apple platforms.
94
-
95
- Expand the
96
- [ current non-iOS platform support] ( README.md#community-supported-efforts )
97
- from community supported to officially supported.
98
-
99
- Fill in the missing pieces of the support matrix, which is
100
- primarily * watchOS* for several libraries.
101
-
102
- ## Getting Started
103
-
104
- ### Quickstarts
105
-
106
- Modernize the [ Swift Quickstarts] ( https://github.com/firebase/quickstart-ios ) .
107
- Continue the work done in 2020 and 2021 that used better Swift style, SwiftUI,
108
- Swift Package Manager, async/await APIs, and multi-platform support for
109
- [ Analytics] ( https://github.com/firebase/quickstart-ios/tree/master/analytics ) ,
110
- [ ABTesting] ( https://github.com/firebase/quickstart-ios/tree/master/abtesting ) ,
111
- [ Auth] ( https://github.com/firebase/quickstart-ios/tree/master/authentication ) ,
112
- [ Database] ( https://github.com/firebase/quickstart-ios/tree/master/database ) ,
113
- [ Functions] ( https://github.com/firebase/quickstart-ios/tree/master/functions ) ,
114
- [ Performance] ( https://github.com/firebase/quickstart-ios/tree/master/performance ) ,
115
- and
116
- [ RemoteConfig] ( https://github.com/firebase/quickstart-ios/tree/master/config ) .
14
+ We're continuing a long term journey to migrate from Objective-C to Swift.
117
15
118
16
## Product Improvements
119
17
0 commit comments