2009-09-11 6 views
1

これはやや一般的な問題のように思えるし、私は一般的な落とし穴、ベストプラクティス、最善のアプローチ、セキュリティ上の懸念などが、後でクライアント側をロードするために、サーバー上でJavaScriptを作成している時に何を思ったんだけど。クライアント側のJavaScriptをサーバーから生成する際の主な問題は何ですか?

FWIW、私はRubyでこれをやっていると私は、同様のjQueryを使用しています。基本的にフォームビルダーです。

私は静的フォームの入力(選択、ラジオ、チェックボックス、さらに複雑な入力など)を動的に作成する管理フォームビルダを持っています。対応するJavaScriptイベントハンドラを作成する必要があります(jqueryを使用して)。私は基本的にHTMLビルダーラムダとそれぞれ事前に定義された入力タイプにマッピングされているイベントハンドラのラムダを持っている:すなわち選択すると、自分の好みに合わせて、「私はhtmlのタイプを検索し、管理者がフォームを作成できるように必要なコードを生成することができます{'select'=>[select_builder_lamb, select_js_handler_lamb]}のようなものを持っています"これは素晴らしい作品です。

これをシリアル化して登録ページがリクエストされたときにリロードするか、邪魔にならないファイルにジャバスクリプトを書き出すか、生のhtmlとjavascriptをデータベースなどに保存するかどうかを判断する必要があります。高レベルの場合:1)HTML & javascript 2)を後で使用するために3)httpリクエストに使用する - 質問は手順2と3です。

経験があればこの種のことをして、それはいくつかのforwarningと知恵を提供することができ、それは深く感謝される!心に春

+0

私は謝罪しなければならない、私はそれが大きな質問だと思うので、これ以上の答えを得ていないことを驚いている。私は他の意見を読むことに興味があったでしょう –

答えて

2

いくつかのこと:

コード分離

HTMLページ内に埋め込まれたJavaScriptが広まっているがが、多くは良いことに、コード分離の練習を考えます。この点で私は別のファイルにJavaScriptの配置を言及しています。これは、Web開発者としてUnobtrusive JavaScript

として知られている上位概念の一部であり、我々は、例えば、多くの異なる技術を知ることが要求されます

  • サーバースクリプト(PHP、ASP、ルビー、など)
  • のJavaScript(フレームワーク)
  • XML
  • HTML
  • XSLT、XPATH
  • CSS
  • SQL:いくつかの含まれているコードファイルをイメージング

これらのすべて!それは混沌としています!サーバーからJavaScriptを出力する

は別のファイルにはJavaScriptの分離を妨げます。私たちはこれらを分離した場合、次に我々のコードは、より多くの、モジュラー再利用可能な、読みやすく、テスト可能になり、私はにつながる...

ユニットテスト

あなたは個人的にしかし、ユニットテストフレームワークを使用することはできません独立したテスト可能な(および再利用可能なテスト可能な)モジュールを作成するには、JavaScriptのモジュール化が不可欠です。

サーバ上で出力されるスクリプトはモジュール化されていませんが、もっと重要なのは静的ではないため、単体テストフレームワークに収めるのが難しいことです。

Tag Soup

それはこの反対コーディングすることは可能ですが、クライアントとサーバースクリプトの混合は、それはハード読んで維持すること、tag soupを生成する傾向があります。

デバッグが

私はあなたが使用しているIDEわからないんだけど、鉱山は私が書かれているのJavaScriptをステップ実行することができます。サーバーから出力するということはできません。

+0

こんにちは、ありがとう、あなたの応答のために。私はこの質問がもっと多くの反応を不正にしていないことに驚いています。私はあなたの考慮に感謝し、一般的に同意します。しかし、サーバーで生成されたいくつかのJavaScriptがなければ、最終目標を達成する方法がわかりません。私はこれをまだ実装していないので、未知の型のフォームフィールドを扱うためにjsファイルを動的に作成するようにしようとします(私のアプリケーションは基本的に "フォームビルダー"です)。私はそれを作ることができる "控えめな"どのように見えるでしょうか) – Rob

関連する問題