🚀 ニフティ’s Notion

🌞 【Webアプリ2024 #17】実務で使うエコシステム

エコシステム

フロントをとりまくエコシステムについておさえる。フロントエンド開発においてやれることを認識する

フロントのプログラミング言語

基盤はJavaScriptの場合が多い。特に理由が無ければ、 JavaScript に型を付けた TypeScript を利用してください(静的解析が出来るので強力です)

ランタイム

Node.js

ChromeのJavaScriptエンジン(v8)を元に、ブラウザ以外でも実行できるようにしたもの。

サーバや開発環境で使う環境は基本これ一択。

代替環境

  • Bun, Deno
パッケージマネージャー

Node.js環境でのライブラリ(パッケージ)はnpmパッケージという形式になっている。

この使用するパッケージやそのバージョンを管理するもの。

  • npm
    • Node.jsにデフォルトで付属する
    • 機能不足・速度の遅さが目立つ
  • Yarn
    • npm代替として開発されたもの
  • pnpm
    • 高速性が売り(pnpm = performant npm)
    • 社内演習ではこちらを利用しました
ビルドツール
  • webpack
    • 2022年頃までの主流
    • 現在は機能開発が終了し、バグ修正のみとなっている
    • Next.jsで採用
  • Vite
    • webpack以後の主流
    • Next.js以外のほとんどのフレームワークが採用

過去のTech Talk資料

コンポーネントカタログ
  • Storybook
    • 作成したコンポーネントを一覧できるようにするツール
    • 一部テストも可能
Test
  • ユニットテスト
    • Jest, Vitest
  • VRT(Visual Regression Testing)
  • E2Eテスト
    • Playwright : TypeScript(JavaScript)
    • Cypress : TypeScript(JavaScript)
    • Selenium : Python
CSS
コンポーネント単位のCSS

ビルド時にクラス名やdata属性を使って、コンポーネント単位に閉じたCSSを生成するもの

  • Scoped CSS
  • CSS Modules
CSS in JS

ほぼReact専用技術

CSSファイルを作らず、JavaScriptから全てのCSSを操作する

  • Emotion
CSSフレームワーク

既存のCSSフレームワークを使う

  • Tailwind CSS
  • bootstrap
    • 読み込んでクラス名を付けてデザイン
デザイン管理
  • Figma, Adobe XD