本文へ移動
Unlogical Systems

Ctrl / ⌘ + K でも開けます

    Unlogical Systems

    TypeScript を採用する理由

    TypeScriptはJavaScriptに型の仕組みを加えたプログラミング言語です。弊社が、画面からサーバー、インフラ構成の記述までTypeScriptを採用する理由と、保守での注意点を解説します。

    TypeScript

    公式サイト

    TypeScriptとは

    TypeScriptは、JavaScriptに「型」の情報を加えたプログラミング言語です。型とは、ある変数が文字なのか数値なのか、どんな項目を持つデータなのかを事前に宣言する仕組みで、書いたコードは最終的に通常のJavaScriptに変換されてブラウザやNode.jsで動きます。型があることで、項目名の打ち間違いやデータ形式の食い違いといった誤りを、実行する前の段階で検出できます。エディタの補完や参照の追跡も正確になるため、規模の大きなプロジェクトや複数人での開発で特に効果を発揮します。

    弊社が採用する理由

    弊社では、JavaScriptで書く部分は原則としてTypeScriptで記述しています。Next.jsやReactで作る画面、FastifyなどNode.jsで作るサーバー、AWS CDKによるインフラ構成の記述まで、同じ言語で通せることが大きな理由です。業務システムでは、APIがやり取りするデータの形をOpenAPIの仕様から型として自動生成し、画面側の入力チェックにはzodを使って型と検証ルールを一致させています。これにより、サーバー側の仕様変更が画面側のどこに影響するかを、コードを実行せずに把握できます。要件定義で決めた項目やルールが型として残るため、設計資料とコードのずれが起きにくく、担当者が変わったときの読み解きも楽になります。長く使う業務システムほど、型による安全性が保守コストの削減につながると考えています。

    向いている案件

    • 画面数や項目数が多く、長期間保守する業務システム
    • 複数人で開発する、または将来引き継ぎが想定されるプロジェクト
    • APIの仕様と画面の実装を厳密に一致させたいWebアプリケーション
    • インフラ構成やビルド設定をコードで管理したい場合

    保守・移行の観点

    TypeScript本体の更新では、型チェックが厳しくなり、これまで通っていたコードが警告や誤りとして検出されることがあります。これは潜在的な問題が見つかったと捉え、更新時に一つずつ対処します。周辺ライブラリが提供する型定義の更新も影響するため、依存関係をまとめて更新する時期を決め、ステージング環境で型チェックとビルドが通ることを確認してから本番に反映します。型チェックとテストを継続的インテグレーションで自動実行しておくと、更新の影響を早い段階で把握できます。

    組み合わせて使う技術

    よくあるご質問

    TypeScriptを使うと開発費用は高くなりますか?

    型を書く分の手間は増えますが、誤りを早い段階で見つけられるため、テストや修正の工数はむしろ減る傾向にあります。長期間保守するシステムほど効果が出やすいと考えています。

    既存のJavaScriptのシステムをTypeScriptに移行できますか?

    可能です。TypeScriptはJavaScriptと共存できるため、影響の大きい部分から段階的に型を付けていく進め方が一般的です。まず現状のコードを拝見して方針をご提案します。

    関連するサービス

    関連する開発ガイド

    関連用語: API要件定義ステージング環境基本設計・詳細設計

    監修: Unlogical Systems合同会社杉並区・西荻窪)公開

    まずは現場のエンジニアにご相談ください

    営業担当ではなく、実際に設計・開発を行うエンジニアが直接お答えします。ご相談・お見積りは無料、1営業日以内にご回答いたします。

    無料でご相談・お見積り

    資料の添付は、送信後に届く受付メールへの返信でお送りいただけます。

    相談・見積りは無料
    1営業日以内にご回答します

    無料で相談する