Upgrade to Pro — share decks privately, control downloads, hide ads and more …

WEBフロントエンド研修【MIXI 25新卒技術研修】

WEBフロントエンド研修【MIXI 25新卒技術研修】

本スライドは、MIXIの2025年度新卒向け技術研修で使用された資料です。
 
MIXI 2025新卒技術研修
『WEBフロントエンド研修』
 
▼リポジトリ
https://github.com/mixigroup/2025BeginnerTrainingFrontEnd
▼動画
https://youtu.be/9ddk4LoyitY
 
───────────────────────────────
※皆様へのお願い※ 資料・動画・リポジトリのご利用について
───────────────────────────────
公開している資料や動画は、是非、勉強会や社内の研修などにご自由にお使いいただければと思いますが、以下のような場でのご利用はご遠慮ください。
- 受講者から参加費や授業料など金銭を集めるような場での利用
(会場費や飲食費など勉強会の運営に必要な実費を集める場合は問題ありません)
- 出典を削除または改変しての利用

Avatar for MIXI ENGINEERS

MIXI ENGINEERS PRO

April 23, 2025
Tweet

Video

More Decks by MIXI ENGINEERS

Other Decks in Technology

Transcript

  1. TypeScriptの登場 ユーザーを極力待たすことがないWebを作ろう 19 開発支援 高い互換 性 静的型付け 型情報を活用することで、IDEやエディタの補完機能、 リファクタリング支援が強化され、開発効率アップ JavaScriptコードをそのままTypeScriptファイルとして扱え、

    既存プロジェクトを段階的にTypeScriptに移行することが可能 変数や関数の引数、戻り値に型を明示的に指定することで、 コンパイル時に型の不一致を検出し、実行前にバグを防止 Point TypeScriptの登場で開発効率や保守性がアップ!
  2. バンドラーの役割 ユーザーを極力待たすことがないWebを作ろう 21 依存関係の自動管 理 コードの最適化 読み込み速度の向上 モジュールの依存関係 を解析し、正しい順序でバンドル 未使用のコードを除去(Tree

    Shaking)し、 ファイルサイズを削減 HTTPリクエストの数 を減らし、ページの表示速度を改善 Point バンドラーにより開発効率やパフォーマンスが改善
  3. Webページが表示されるまでの流れ ページを表示するまでの処理を知る Topic 1 ブラウザに アドレスを入 力 2 DNSサーバー に問合せ

    3 サーバーに HTMLファイルを リクエスト 4 リクエストがOK だったら HTTP200とHTML ファイルを返す 5 HTMLファイル 取得完了 6 HTMLファイル をパース ブラウザにアドレスを入力した後の処理 22
  4. オブジェクトモデルの構築 25 バイト → 文字 → トークン → ノード →

    DOM 引用: オブジェクトモデルの構築 | Articles | web.dev (URL: https://web.dev/articles/critical-rendering-path/constructing-the-object-model?hl=ja)
  5. Webページが表示されるまでの流れ ページを表示するまでの処理を知る Topic 1 HTMLファイル をパース 2 CSSファイルと JSファイルの 参照の解析

    3 HTMLのパース 後、DOMツリーを 生成 4 CSSのパース後、 CSSOMツリーを 生成 5 スタイルを DOM に 適用する 6 JavaScriptの パース&実行 ブラウザがページを表示するまで 26
  6. DOM root Webアプリケーションの構築方法 SPAとMPAについて知ろう Topic SPAとMPAの比較 MPA SPA </> HTML

    element element </> HTML </> HTML Point Webアプリケーションの構築方法としてSPAとMPAがある 28
  7. DOM root SPAについて SPA と MPA の違いを知ろう Topic SPAとMPAの比較 MPA

    SPA </> HTML element element </> HTML </> HTML Point SPAならサーバーからHTMLを取得することなく画面遷移ができる 32
  8. SPAについて 仮想 DOM 差分検 知 宣言的 UI SPAの実現にポイントとなる要素 Topic DOMツリーをオブジェクトで擬似的に表現して、

    描画するDOM構造をJavaScriptのランタイム上で管理する手法 異なる参照のオブジェクト同士で差分比較を行う手法。 一般的には shallow equal と呼ばれる比較が使われる UIを構築するための手法。最終的に構築するUIを宣言的に表 現することでViewの可読性を担保することができる。 34
  9. 宣言型 手続き型 手続き型と宣言型の違い Topic 宣言的UIとは SPA のメリットを知ろう サンプルユーザー Hello world!

    これを作りたい Point 宣言型はDOMツリー構造を宣言してUIを組み立てられるので人間に優しい 35
  10. 差分検知について SPA のメリットを知ろう Topic 差分検知とは JavaScript においてオブジェクト同士の等価チェックは、 参照が同一かを見るので同じプロパティ値でも参照が違えば「等価ではない」と判断されます。 そこで、 shallow

    equal という比較方法で、プロパティ値が同一かチェックします。 const vDom1 = { element: “p”, innerText: “Hello World!”, } const vDom2 = { element: “p”, innerText: “Hello World!”, } ≠ 37
  11. Reactについて UI 構築ライブラリを知ろう Topic Reactとは 40 コンポーネント志 向 様々な場所で動く 宣言的な

    View View をコンポーネントとしてカプセル化することができる。 UI パーツごとでコンポーネント化するなどできる。 React で書かれた View は Web だけでなく、 ネイティブアプリや様々な場所でも動かすことができる。 状態ごとの View を JS 上で定義することで、状態の更新を 検知して、関連するコンポーネントだけを再描画する。