クライアントサイド処理とは、実際には何なのか?
ファイル形式を変換したり、写真を編集したり、テキストを翻訳したりと、オンラインサービスを使うたびに、その処理が実際に行われる場所には2つの可能性があります。1つ目は従来の方法で、あなたのファイルやデータがサービス提供者のサーバーに送信され、そこで処理された後、結果があなたに送り返されます。これをサーバーサイド処理と呼びます。
2つ目はクライアントサイドです。すべての処理があなたの端末内——ブラウザの中——で、現代のブラウザがすでに備えている機能を使って直接行われます。あなたのファイルはどこにも送信されません。「送信される」のはサービス提供者からあなたのブラウザへのプログラムコード(JavaScript)だけで、そのコードがあなたの端末上でローカルにファイルを処理します。
なぜこの流れが広がっているのか?
より多くのサービスがクライアントサイドのアプローチへ移行する背景には、いくつかの要因があります。
- プライバシー意識の高まり。 他者のサーバーにアップロードされたファイルは、どれくらいの期間保存されるのか、誰がアクセスできるのか、何に使われるのかが正確には分からないまま、そのデータに対するコントロールを手放すことになる——この事実に気づく人が増えています。
- 現代のブラウザの進化。 ブラウザの計算能力は数年前と比べて格段に向上しており、以前は「サーバーでなければ無理」だった処理の多くが、今ではユーザーの端末上で問題なくこなせるようになっています。
- サービス提供者にとってのサーバーコストの低減。 すべての処理がユーザーの端末上で行われるなら、サービス提供者は何百万人分ものファイルを同時に受け取り処理するための大規模なサーバーを用意する必要がなくなります。
- 各国でのデータ保護規制の強化 も、不要であればユーザーデータを一切保存しないことでリスクを減らす方法を企業が模索する動きを後押ししています。
本当にクライアントサイドなツールをどう見分けるか?
「安全」「プライバシーが守られている」といった表記は、どのページにも簡単に書けてしまいます。重要なのは、自分自身で確認する方法を知っておくことです。プログラマーでなくても試せる、いくつかのシンプルな方法を紹介します。
- ページが読み込まれた後にインターネット接続を切り、それでも機能が使えるか試してみる。 そのツールが本当にクライアントサイドであれば、通常は処理が続行できます(追加ファイルのダウンロードなど、どうしてもインターネットが必要な機能を除く)。もし急にエラーが出たり固まったりする場合、実際にはデータをサーバーへ送信している可能性が高いです。
- 大きなファイルに対する処理の速さに注目する。 サーバー経由でのアップロード・処理・ダウンロードでは、処理が始まる前に「アップロード中」という待ち時間が発生することがほとんどです。クライアントサイド処理は、どこにも送信するものがないため、ファイルを選択した瞬間にすぐ処理が始まります。
- 技術に詳しい場合は、ブラウザの開発者ツール(Networkタブ)で確認する。 処理中に実際にファイルがサーバーへ送信されているかどうかが、そこではっきりと分かります。
MEA Toolsのすべてのツールはクライアントサイドで動作
PDFから画像への変換、PDFの結合、PDFの分割、画像の圧縮まで——MEA Toolsのすべてのツールは同じ原則で作られています。あなたのファイルはブラウザ内で直接処理され、私たちのサーバーにアップロードされることは一切ありません。
すべてのツールを見る →クライアントサイドは常に優れているのか?
必ずしもそうとは限りません——これは一方が絶対的に優れているという話ではなく、トレードオフの問題です。クライアントサイドは、ファイル変換や画像編集、何かの計算など、個人的でリアルタイムの共同作業を必要としない作業にとても適しています。しかし、データを保存して別の端末からアクセスする必要がある場合——例えば複数人が同時に編集する共同作業ドキュメントなど——には、サーバーが依然として必要です。そのデータは、みんなでアクセスできる場所に実際に存在する必要があるからです。
要するに、どんなオンラインツールを使う前にも問いかける価値のある質問はこうです。「この作業は本当に誰かのサーバーが必要なのか、それとも自分の端末だけで完結できるのか?」もし答えが後者であれば、クライアントサイドのアプローチで作られた代替ツールを探してみる価値があります。