LoginSignup
0
0

モバイルファースト設計のJSの基本

Posted at

本記事では、モバイルファーストの設計においてJavasciptを使ったレスポンシプテザインに注目し、パフォーマンスや保守性を考慮したコーディング手法について解説します。
JavaScriptを使ったレスポンシブデザインの基本として、パフォーマンスの確保、レスポンシブデザインに対応する、プログラムの保守性の確保の3点を取り上げ、それぞれについて具体的な説明やコード例を示します。

モバイルファーストの設計において、JavaScrptでレスポンシブデザインを実装する際には、以下のポイントに注意する必要があります。

①パフォーマンスの確保
②レスポンシブデザインに対応する
③プログラムの保守性の確保

①パフォーマンスの確保
Javascripは処理が重たく、モバイル端末ではパフォーマンスの問題が起こりやすくなります。そのため、処理の軽量化や、必要な処理だけを実行するようにするなど、パフォーマンスの確保に注意が必要です。
②レスポンシプデザインに対応する
JavaScriptでは、画面サイズに応じたレイアウトの変更や、ユーザーの端末環境に応じた処理の実行を行うことができます。そのため、レスポンシプデザインに対応するために、画面サイズの判定や条件分岐などを行う必要があります。
③プログラムの保守性の確保
JavaScriptはコードの行数が多くなりがちで、保守性の問題が起こりやすい言語です。そのため、可読性の高いコードの書き方や、コメントの活用、関数の分割など、保守性の確保に注意が必要です。

具体例
①の具体例

  1. JavaScriptの最適化
    Javascriptのコードを最適化することで、処理の軽量化を図ることができます。具体的には、以下のような方法があります。
    ・変数のスコープを限定する
    ・変数や関数の名前を短くする(ただし、可読性が悪くならないように注意が必要)
    ・ループ処理を極力避ける
    ・関数の再帰呼び出しを避ける
    ・関数内で同じ処理を何度も繰り返さないようにする

  2. レスポンシブデザインの実装
    モバイル端末において、画面サイズが小さいためにレイアウトが前れたり、表示が崩れたりすることがあります。この問題を解決するために、レスポンシブデザインを実装することが重要です。具体的には、以下のような方法があります。
    ・メディアクエリを使用して、画面サイズに応じたスタイルを適用する
    ・画像のサイズを自動で調整する

  3. 不要な処理の削除
    JavaScriptによる処理が重い場合、不要な処理を削除することでパフォーマンスを向上させることができます。具体的には、以下のような方法があります。
    ・ページ読み込み時に必要のない処理を遅延させる
    ・不要なライプラリやプラグインを削除する
    ・キャッシュを使用して、同じ処理を何度も行わないようにする

以上のような処理を取り入れることで、Javascrpiによる処理の重さを軽減し、モバイル端末でも
快適なパフォーマンスを実現することができます。

②の具体例
1.画面サイズの判定
レスポンシプデザインでは、画面サイズに応じてレイアウトを変更する必要があります。そのため、画面サイズを判定する処量を行う必要があります。具体的には、以下のような方法があります。
・window.innerwidth プロパティを使用して、画面幅を取得する
・matchMediaメソッドを使用して、メディアクエリにマッチするかどうかを判定する
・レイアウトをシンプルにする

【window.innerwidthを用いて画面幅を取得し、取得した幅に応じて処理を実行するコード例】

function checkWidth() {
    var windowWidth = window.innerWidth;

    if (windowWidth < 600) {
        //画面幅が609px以下の場合の処理
    ) else if (windowWidth < 1200) (
        //画面幅が1200px以下の場合の処理
    } else
        //画面幅が1290px以上の場合の処理
    }
}

window.addEventListener('resize', checkWidth);

2.条件分岐の実装
画面サイズに応じたレイアウトの変更や、ユーザーの端末環境に応じた処理の実行には、条件分岐が必要です。具体的には、以下のような方法があります。
・if文を使用して、条件分岐を実装する
・switch文を使用して、条件分岐を実装する
・三項演算子(条件演算子)を使用して、簡潔な条件分岐を実装するかどうかを判定する

【三項演算子(条件演算子)を使用したコード例】

var num = 12;
var result = num >= 10 ? "numは10より大きい":"numは10より小さい"
console.log(result);

3.イベントの取得
レスポンシプデザインでは、ユーザーの端末環境に応じた処理の実行が必要な場合があります。そのため、ユーザーの操作に対するイベントの取得が必要です。具体的には、以下のような方法があります。
・addEventListenerメソッドを使用して、クリックやスクロールなどのイベントを取得する
・touchstartやtouchendなど、タッチ操作に対するイベントを取得する

画面サイズの判定や条件分岐を実装することで、画面サイズに応じたレイアウトの変更や、ユーザーの端末環境に応じた処理の実行を行うことができます。また、イベントの取得により、ユーザーの操作に応じた処理を実行することができます。

③の具体例

  1. 可読性の高いコードの書き方
    コードの可読性を高めることで、保守性を向上させることができます。具体的には、以下のような方法があります。
    ・インデントを揃える
    ・変数や関数の名前をわかりやすくする
    ・コードのブロックを{}で囲む
    ・コメントを付ける(後述)

  2. コメントの活用
    コードの中には、何をしているかわかりにくい部分もあります。そのため、コメントを活用することで、コードの意図を明確にすることができます。具体的には、以下のような方法があります。
    ・コードの前に、何をする関数か、どのような引数を受け取るかを説明する
    ・コードの中に、なぜその処理をする必要があるか、どのようなデータを扱っているかを説明する
    ・コードの後に、何を返すのか、何を更新したのかを説明する

3.関数の分割
1つの関数が長くなりすぎると、コードの保守性が低下します。そのため、関数を複数の小さな関数に分割することで、コードを見やすくすることができます。具体的には、以下のような方法があります。
・関数の役割を明確にする
・1つの関数で何度も同じ処理をしないようにする
・関数の引数と戻り値を明確にする

コードの可読性を高め、コメントを活用し、関数を分割することでコードの理解が容易になり、保守性を確保することができます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0