あなたにとっての柔軟性とは、通常彼らにとっての柔軟性です。フォローしているこれらのベストプラクティスはすべて、アプリの両面でのメリットです。
ただし、重要で見逃されがちな点の1つは、堅牢なUIの作成です。非常に多くのUIコンポーネントが1つのコンテキストまたは過度に厳密なHTMLセットに過度に固定されており、CSSが失敗するように設定されています。
たとえば、ドロップダウンがある場合、JQueryハンマーを引き出してそれをホバリングする座標を取得するよりも、相対セット(座標は不要)でクリックされたコンテナ内に絶対位置のドロップコンポーネントを固定するJS作業がはるかに少ない要素の上に置き、所定の位置に貼り付けます。また、ページが移動したり、新しいブラウザー機能が位置情報をスローしたりした場合でも、破損する可能性ははるかに低くなります。JSの作業を避けるためにHTML / CSSのスキルに依存するほど、UIは通常より堅牢になります。
一般的なルールとして、UIコンポーネントに必要なものは、適切なIDまたはクラスで住むHTMLタグだけであることを確認しようとします。UIを壊さずにコンテナでできることや、コンテナの寸法が変化するにつれてコンテナが実際に拡大/縮小のように収まるようにすればするほど、クライアント側を必要とせずにアプリのどの部分にも簡単に実装できますエキスパート。彼らがしなければならないのは、それにクラスを付けることです。
UIコンテナのイベント委任を優先して、ボタンなどのエンドポイントノードにリスナーを直接割り当てます。そのUIコンポーネントは現在、静的HTMLで動作する可能性がありますが、innerHTMLなどで内部のHTMLをリッピングして書き換えることができるようになるのはいつかはわかりません。コンテナが完全であり、すべてのイベントが委任されている場合(jqueryの 'on'メソッドを参照)、そのことを心配する必要はなく、HTMLの置換がリスナーを中断する難しい方法を学習することはありません。
オプションとして委任を維持するために、エンドポイントノード以外の場所ではstopPropagateを使用しないでください。
レイアウトに関しては、HTMLを最小限、セマンティックに保ち、divラッパーを避けてください。HTMLが少なければ少ないほど、レイアウトの新人がレイアウトの問題を診断しやすくなります。
ユーティリティCSSにはわかりやすいクラス名を使用してください。「行」クラスは、「clearfix」よりもCSS初心者にとってより明確です。
常に一意のセクション要素、一意のIDを指定してください。セクションに固有のものがどこで発生しているのかを特定するのがはるかに簡単になり、内容をオーバーライドするのが簡単になり、読みやすさとパフォーマンスJSの勝利にもなります。
明らかに、クラススキームを過度に使用するのは悪いニュースですが、バックエンドの開発者が適切なクラスを物事に追加するだけで設定できるほど、既存のページを簡単に変更できるようになります。
そしてもちろん、プロジェクトの最初に、少なくともこの1つのことに同意してもらいます。バックエンドとフロントエンドはHTMLとJSONのみを介して接続します。「JavaScriptを作成してくれるもの」を使用させないでください。それは血まみれの混乱とメンテナンスの悪夢です。
開発関連のすべてのものと同様に、DRYとミニマリズムを好みます。