-
Notifications
You must be signed in to change notification settings - Fork 0
File System API Backend
Narazaka edited this page Nov 5, 2015
·
2 revisions
HTML5 File APIは実ファイルにアクセスできるわかりやすいAPIである。
しかしイカガカ、NanikaStrageでは下記の理由でこれの利用は現状していない。
毎回zip解凍するのでなくインストールをするというベースウェアの動作のため、ディレクトリ中のファイル一覧が利用できるものが必要だった。 FileAPIはこれに対応していない。
ChromeではFileSystemAPIというのがあるが、Chromeだけであり、広い環境で動くものでは無いので採用を見送った。
自動テストにイカガカの一部を使うなどのユースケースのためコンソール起動も想定して、結果ブラウザでしか使えない技術を避けた。
その代替としてnode.jsのFileSystem APIをベースとしている。
ブラウザではBrowserFSを利用している。
イカガカはブラウザばかりではなく、デスクトップ版としてelectronやnw.jsでの動作を想定している。 これらは背景透過で不定形ウインドウを作ることが可能なため、既存のmateriaなどと同じような表示を実現できる。
これらではnode.js APIを使用してファイルシステムへのフルアクセスが可能なので、自然とこれに対応するためnode.js FS APIを検討した。
BrowserFSのIndexedDBバックエンドを使うことによって、非同期APIのみだがnode.js FS APIとほぼ互換のAPIでファイルシステムをエミュレートすることが出来た。
これによってnode.js FS APIをつかうことが可能であることがわかり、採用した。