Swift-Evolution-Browser
Swift-Evolution-Browser copied to clipboard
Swift Evolution Browser
Swift Evolution Browser
The Swift Proposal Browser that build with SwiftUI.
iOS | iPad |
---|---|
![]() |
![]() |
macOS |
---|
![]() |
Feature
- Pure SwiftUI (not use The Composable Architecture)
- Multi-platform (iOS / iPad / macOS)
- SPM multi-module
- async/await
- Combine
- SwiftUI 3.0 (searchable / refreshable)
- Firebase (Auth / Firestore / Crashlytics / Analytics)
Requirements
- Xcode 13.3
- Swift 5.6
- iOS 15+
- macOS 12+
Setup
brew install mint
mint bootstrap
FAQ
Q. とりあえず触ってみたい。
A. macOS版は AppStore でリリース済みです。
Q. 不具合を見つけた。
A. あなたには PR を投げる権利が与えられています!私はそれを歓迎します!(日本語が嬉しい)
Q. 機能○○が欲しい。ここを改善して欲しい。
A. Discussions で気軽に書き込んでいただければ幸いです :pray: 原因不明な不具合もこちらでお気軽に。
Q. このデータってどこから取ってきてるの?
A. Swift Evolution が参照している JSON から取得しています。(なので内容は一致します)
Q. なぜ SPM multi-module?
A. いいぞという噂を聞いていたので試してみようと思い。ただ、Xcode 13.3 ではとにかく落ちます。
Q. なぜ TCA を利用しない?
A. まずは自分なりに書き方を模索したいと思ったため。(現状では TCA の知識はほぼ0)
Q. Firestore のスキーマ設計間違ってない?
A. Async/Await と Combine の共存の学習のため。(データ量を無視すれば)全データをユーザごとに持たせるのがセオリーかとは。
Q. @StateObject を利用していないのはなぜ?
A. 最新の iOS/macOS プラットフォームで期待どおりの動作をしないことがあったため。(詳細)
Q. SFSafeSymbols を利用していないのはなぜ?
A. Effective SwiftUI 候補(仮説): SFSafeSymbols が本当に必要かよく検討する
Q. この視認性の高いコードは何?
A. SFReadableSymbols という OSS があるらしいですよ。(露骨な宣伝だ...
Q. このクールなテストコードは何?
assert(to: search) {
args("Swift 3.0", expect: ["SE-001"])
args("3.0", expect: ["SE-001"])
args("Swift 4.0", expect: ["SE-002", "SE-003"])
A. SwiftParamTest という OSS があるらしいですよ。(露骨な宣伝だ…
Q. ところでコンセプトは?
A. メインテーマは『学習』(とリハビリ)
Links
Author
Yusuke Hosonuma / @tobi462