work/s3tow/
s3tow
Нативный файловый менеджер macOS для S3 и SFTP.
Задача
Любой клиент S3 — это либо веб-консоль, которая с вами борется, либо десктопное приложение, везущее целый браузер, чтобы нарисовать список файлов. Мы хотели приложение для Mac: мгновенно открывается, ведёт себя как Finder и остаётся в песочнице.
Что мы сделали
- SwiftUI целиком: приложение для Mac, которое выглядит и ведёт себя как положено
- Подпись AWS SigV4 и REST-протокол S3 реализованы напрямую на URLSession
- SFTP рядом с S3, потому что реальная работа охватывает оба
- Без встроенного CLI, встроенного браузера и фонового демона
Что получилось
0сторонних SDK для хранилищ
2протокола, один интерфейс
1процесс, в песочнице
Написать протокол самим стоило двух недель. Взамен получилось приложение, которое открывается меньше чем за секунду.