Uplofile
UplofileはReact用のコンポーザブル且つアクセシブルなファイルアップローダーコンポーネントです。
アップロードは、イコールUIではなく、その複雑さは別問題なのでUIはUIとして、インフラはインフラとして分けよう、という考えの元に開発されたアップローダーとなります。要は、従来のようにオールインワンにせず、処理はアプリ側の責任として切り分けて設計しよう、というもののようです。
例えば、ネットワークの信頼性、再試行、再開可能な転送、ストレージの選択、セキュリティルールなど、問題となりえる要素の多くはインフラ設計にあるため、UplofileはReactが得意なことに集中してデザインされています。
UI状態の管理、ライフサイクルの制御、再利用可能なプリミティブの提供などに限定し、ファイルをどう送るか、どのバックエンドを使うか、どのプロトコルを採用するか、リトライや再開処理をどう実装するか、といったアップロード処理部分を切り離す事で依存性を減らし、コンポーザブルな特性を生かせるようになります。
一見、中途半端なもののようにも見えるかもしれませんが、インフラは自分達でちゃんと設計したい、という開発者もいらっしゃるでしょう。Uplofileはその選択肢を提供するために開発、公開されたものとなっています。詳細などはリポジトリやドキュメントをご参照下さい。
