work/s3tow/
s3tow
S3とSFTPのためのネイティブmacOSファイルマネージャー。
課題
S3クライアントはどれも、こちらと格闘するウェブコンソールか、ファイルの一覧を描くだけのためにブラウザ丸ごとを持ち込むデスクトップアプリのどちらかです。私たちが欲しかったのはMacアプリでした。すぐに開き、Finderのように振る舞い、サンドボックスの中に収まるもの。
やったこと
- すべてSwiftUI。見た目も振る舞いもMacアプリらしいMacアプリ
- AWS SigV4署名とS3 RESTプロトコルをURLSession上に直接実装
- 実際の仕事は両方にまたがるから、S3と並ぶSFTP
- 同梱CLIなし、埋め込みブラウザなし、バックグラウンドデーモンなし
結果
0サードパーティのストレージSDK
2プロトコル、一つのインターフェース
1プロセス、サンドボックス内
プロトコルを自分たちで書くのに二週間かかりました。その代わり、一秒未満で開くアプリが手に入りました。