[Salesforce.com] 画面を開発する際の性能について その1

SFDCのForce.comというプラットフォームで物を作るのは、何かよくわかんねーけど「面白くない」。
今まで普通に出来ていたことができなくなるからかもしれない。
でも、クラウド上で物を作る場合には、こういったことは普通になるのかもしれません。

まず、画面を作る際には下記の2つの選択肢がある。

  • SControl・・・HTMLとJavaScriptでゴリゴリ作る感じ。
  • VisualForce・・・ASP.NETモドキ

まぁ、どっちでも作れますが、現状ならVisualFroceをお勧めする。

何故か?

SControlもVisualForceもSFDC上のServletを介してページが生成されている。ま、どっちも呼び出されるたびに生成処理が走るので速くはないのは同じだが、SControlだと共通の処理記述したJavaScriptを外だしすることが出来ない(静的リソースを使うことができない)分、コード量が多くなってしまう。そのため、サーバサイドでのページの生成処理に負荷がかかる分、VisualForceに比べてもどうしても遅くなってしまうからです。

しかし、VisualForceもまだまだ出来たてホヤホヤなんで、、、。例えば、Winter ’09がリリースされて、VisualForceのページはデフォルトだと標準画面とは別のドメインで動くようになった。おかげで、標準の画面との間でクロスドメインの制限を気にする必要が出るようになった。
セキュリティ上の問題(セッションハイジャックとか)があってこうなっているらしいのですが、SSLで通信してても問題になるのかどうか?私がバカなんで理解できていません。誰か教えてください。

また、VisualForceやSControlで作成した画面を標準画面レイアウトに埋め込むことができるが、出来る限り最小限に抑えたほうがいい。これらの画面を埋め込むと、実際には標準画面に「IFRAME」で呼び出されるようになる。当然ながら、埋め込んだ数が増えれば増えるほど、どんどん遅くなる。しかも、CPUの処理に依存して性能差が出てくる。

なので、標準画面はカスタマイズで出来る範囲でおさめて、どうしても画面を作る必要がある場合は、その画面をポップアップのようなかたちで別画面として単体で表示するような仕様に落とし込むことを考えたほうがいい。

あくまでこれは現状での話しであって、今後改善されるかもしれないです。

つーかさぁ、これから先クラウド上での開発が主流になるのかねぇ。。。

[Salesforce.com] 画面を開発する際の性能について その1

コメントを残す