こんにちは!
ナビゲータのEVEです。
昨日は、PHPのクラスの作りについて悩んでいるという話をしましたが、本日は、ブラウザの表示方法の悩みについて書きたいと思います。
[サーバーサイトに負荷をなるべくかけたくない!]
今回自宅のサーバーではなく、XServerを利用するのですが、リソースに限界があります。しかし、EVEシステムのクラスの製造では、Prototype EVEの時とは違い、リソースを余り気にしない作りにしています。それは、約20年前の開発・運用環境とはかなり違い、資源が豊富になってきたということを上げたのですが、それでも、資源は有限です。むしろ、自宅にあるサーバーの方が資源が豊富だという側面もあります。そのため、リッチに資源を利用する一方で、削減したい部分もあります。それは、画面の生成方法です。
[クライアント側で動的に画面を生成する]
Prototype EVEでは、製造当時サーバーサイトで画面を動的に作り、かつ、見栄えも決定してきたのですが、それをクライアント側で行うかどうか悩んでいます。
まず、1つ目は、画面の見栄えをCSSに統一する。Prototype EVEでは、ごりごりとサーバーサイトでHTMLを動的に生成しクライアント側へ画面を提供していたのですが、EVEシステムでは、CSSへ統一します。これは、ブラウザメーカーの多くは、HTML Living Standardを採用し、HTMLのタグの属性の多くを廃止する一方で、画面の表現をCSSで統一する方向で動いている、その流れに沿った対応になります。
そして、2つ目は、テーブルなどの表示するデータ量が多い画面では、クライアント側へ同大量のデータをJSONファイルで転送し、転送したJSONファイルをJavaScriptで画面へ編集し表示するという方法です。これは、プログラムの生産性という側面から悩むところではあります。
[サーバーサイトの負荷が軽減されるかどうかの考察]
CSSの導入は既定路線なのでいいのですが、JSONファイルを利用した画面編集は、本当にサーバーサイトの負荷を軽減することができるのでしょうか?サーバーサイトで画面を編集する方法と、JSONファイルを用いたJavaScriptによる編集方法を比較し、検討したいと思います。
まず、今まで採用していたサーバーサイトでHTMLを編集する方法ですが、以下のような流れとなっています。
1)サーバーからデータを取得する(サーバー)
2)HTMLタグを生成する(サーバー)
3)2)を実行しながら、そのタグの間にデータを挿入していく(サーバー)
以上は、当然すべてサーバーサイトで実行します。
次に、JSONファイルを用いたJavaScriptによる編集方法です。
1)サーバーからデータを取得する(サーバー)
2)JSONファイルを生成する(サーバー)
3)JSONファイルを受け取る(ブラウザ)
4)HTMLタグを生成する(ブラウザ)
5)4)を実行しながら、そのタグの間にデータを挿入していく(ブラウザ)
[あとがき]
並べてみると、サーバーへの負荷はあまり変わらないことが分かります。ただ、強いて違いをいうと2)の部分で、画面をユーザーへきれいにみせようとするために、サーバーサイトでの画面生成の方が、JSONファイルを編集するより、サーバーへの負荷が大きくなると言うことが言えます。ただ、CSSの導入によりその違いは微々たるモノだと考えています。しかし、その微々たる差は、何十万人、何百万人のユーザーがいるなら大きくなると思いますが、そのときのプロジェクトの状態は、資金は潤沢でハードウェアはリッチな状態になっているでしょう?それを、考えたら生産性を優先したいです。
なんて、現在は考えています。他に、考える余地があるとすると、生産性という面なのですが、これについては、まだ時間があるので、引き続き検討したいと思います。いろいろと考えることがありますね?
では、また!
【このカテゴリーの最新記事】