ShelfHub開発秘話:静的構成と多機能の両立

Technology

当社が提供する電子図書館「ShelfHub」。その開発プロジェクトにおいて、私たちは複雑なバックエンドの構築ではなく、フロントエンドでのJavaScriptの静的構成を採用しました。なぜ多機能をすべてJSで実装するという選択をしたのでしょうか?

1. パフォーマンスとスケーラビリティ

ShelfHubは、かなり大人数の利用を想定しています。数万人が同時にアクセスし、リアルタイムでデータ受け取る環境において、サーバーサイドの処理は明確なボトルネックとなります。例えば、夏目漱石の「こころ」といった長編作品を読み込むと、テキストデータだけでかなりの通信量です。UXは少し低下してしまうかもしれませんが、パフォーマンスとスケーラビリティを確保するため、フロントエンドでのJavaScriptの静的構成を採用しました。

2. 使用体験の統一

ShelfHubではアカウント登録なしで、読書進捗の自動保存や、マイページに本棚を作成する機能が使えるようにしています。これはだれでも使えるいい読書環境を提供するときに必須と思われた機能です。ブックマークで管理すればいいという声もありましたが、せっかくGUIが発展しているのですから全部わかりやすいGUIで完結させてしまうのが最良でしょう。

ダークモードなどは最近重視されるようになったアクセシビリティです。文字サイズの変更にも対応するのは当たり前です。アクセスするだけで綺麗なUI/UXでいい読書環境がある。ShelfHubはまだまだユーザーアクセスが少ない状態です。もちろん知名度もです。月間一万人では到底社会貢献しているとは胸を張って言えないので、もっと伸びてもらいたいと思います。

テクノロジーとデザインで
社会をアップデートする。