【無料配布】10日間で学べるTypeScript学習資料

TypeScriptで作れるものは?企業の活用事例をもとに解説!

昨今、フロントエンド開発にてTypeScriptの採用率が高まっています。

本記事の要点
  • TypeScriptで何が作れるのか?
  • TypeScriptを採用した企業の活用事例

本記事では、TypeScriptによって何が作れるのか、採用した企業の活用事例を解説します。

目次

TypeScriptとは

TypeScriptは、MicroSoftによって開発されたプログラミング言語です。

TypeScriptの応用範囲は幅広く、JavaScriptを用いる新規プロジェクトではTypeScriptが使われるというのが当たり前の光景になりつつあります。

TypeScriptで作れるもの

基本的に、以下の条件下で上記のTypeScript(フレームワーク含む)が効率的に利用されています。

TypeScriptの代表的な開発
  • SPA開発
  • 大規模なWebアプリ開発
  • スマホアプリ開発(クロスプラットフォーム)

それぞれのフレームワークにも特徴はありますが、開発現場で有効になるFWを活用するのがおすすめです。

TypeScriptが何ができるか詳細に理解したい人は、「TypeScriptは何ができる?特徴・メリット・活用事例などを解説!」を一読ください。

TypeScriptができないこと・不得意なこと

現在、プログラミング言語の中でもTypeScriptはトップクラスに人気がありトレンドになっていますが、不得意な開発領域が存在します。

以下は、TypeScirptの不得意な開発領域になります。

TypeScriptの不得意な開発領域
  • AI開発
  • 高速処理が必要な開発
  • 組み込み系開発
  • OS開発

それぞれの開発領域について解説します。

AI開発

TypeScriptはAI開発に利用するには適していません。

数学系や分析系のライブラリが豊富なプログラミング言語Pythonで実装されることが多いです。

AI開発に適していない理由として、大量の数値計算・統計など不得意だからです。

やはり、データベースとの連携に適したサーバーサイド言語GoやPythonがAI開発に利用される現状になります。

高速処理が必要な開発

Webブラウザサイトにて高速処理が必要な場合もTypeScriptの実装は適していません。

JavaScriptがベースであるTypeScirptは、ブラウザサイド(フロントエンド)の言語であるためブラウザ実行環境に依存します。

そのため、高速処理が必要な開発はサーバーサイド言語での実装がよいです。

組み込み系開発

さらに開発領域を拡大すると、Web/オープン系のアプリケーション開発ではなく、ハードウェア/組み込み制御系アプリケーション開発に適していません。

組み込み系アプリケーションは、C言語などアセンブラに近いプログラミング言語の領域になってきます。

そもそも、TypeScriptが組み込み系に利用できない理由は、実行環境としてWebブラウザが必要になるからです。

OS開発

OS開発も組み込み系開発と同様に、TypeScriptによる開発は適していません。

こちらもやはり、TypeScriptは実行ブラウザ環境が必要になるからです。

またプログラミング言語の仕様の観点から、TypeScriptはメモリを管理する機能が備わっていません。

OSやミドルウェア・ハードウェアに関しては、メモリを意図的に管理する必要があります。

そのため、TypeScriptはプログラミング言語の仕様からOS開発に必要な要件を満たしていないです。

TypeScriptの活用事例

TypeScriptは、Googleの標準開発言語として採用されているため、Google関連のサービスに活用されています。

海外企業では採用率が高まっており、以下の企業はすでに導入されています。

TypeScriptにおける海外企業の事例
  • MicroSoft
  • Google
  • BMW
  • VMWare

もちろん、上記の企業は一部に過ぎず、普及率はかなり高いようです。

また、日本企業でも採用されており、以下の一部の企業でも利用されています。

TypeScriptにおける日本企業の事例
  • ビズリーチ
  • ベネッセコーポレーション
  • SEROKUフリーランス
  • Postfor

こちらもWebサイトだけにかかわらず、ビジネスシーンで活用されるアプリケーションにも拡大しています。

TypeScriptによる代表的なサービス

TypeScriptは、日常的に利用されるアプリやビジネスシーンで使われるアプリなど、様々なケースで採用されています。

活用事例として、以下のサービスがあります。

TypeScriptにおける企業サービスの事例
  • Slackの活用事例
  • LINE NEWSの活用事例

それぞれのサービスにTypeScriptが活用されています。

Slackの活用事例

Slackでは、JavaScriptからTypeScriptへ移行したようです。

TypeScriptを採用した理由としては、大規模なJavaScriptのコードベースを管理しやすくするためです。

また、TypeScriptのメリットとして、JavaScriptのスーパーセット(上位互換)であることから、コードを大幅修正せず使用できる理由もあるようです。

実際に、「TypeScirptの最も基本的な使用法で多くのメリットを享受できた。」とSlackのデスクトップエンジニアであるFelix Riseberg氏が語っています。

開発現場では、TypeScriptのコンパイラオプションを徐々に有効化する方針で、移行作業は難航したようですが、コンパイラの役割によってバグが見つかり大幅な改善が見られたようです。

このように、JavaScriptとの互換性が非常に高いこと、静的型付け言語であることが効果を発揮した結果になっています。

LINE NEWSの活用事例

特に日本では、スマートフォンで連絡を取る代表的なサービスとしてLINEが最も普及率が高いです。

また、LINEにはニュース配信サービスが組み込まれており、TypeScriptが採用されています。

実際に、サービス開発時のブログ内容では、TypeScirptについて解説されています。

TypeScriptを採用する背景として、LINE NEWSは利用者数から必然的にアクセス数が膨大になります。

そのため、最適化されたJavaScriptによる通信を実現しなければサーバー・クライアントともに負担が増大します。

そこでTypeScriptを採用することで、最適化したJavaScriptのコードベース管理を実施によって負荷の軽減を実現しています。

TypeScriptの開発領域

TypeScriptを習得すると、様々な開発領域で利用することができます。

なぜなら、TypeScriptはJavaScriptへコンパイルして利用する言語のためです。

そのため、JavaScriptで作れるものはTypeScriptに置き換えて考えることもできます。

以下は、TypeScriptを学習することでどんなソフトウェアを作れるか、開発領域を記載します。

TypeScriptの開発領域
  • フロントエンド開発
  • バックエンド開発
  • デスクトップアプリ開発
  • CLIアプリ開発
  • サーバーレス(FaaS)
  • インフラ構成管理(IaC)
  • Google Apps Script(GAS)
  • ブラウザ拡張ツール
  • 機械学習系ソフトウェア
  • 組み込み系ソフトウェア
  • WebAssembly

特に、最もTypeScriptを活用されているフロントエンドとバックエンドについて詳細に解説します。

フロントエンド開発

TypeScriptが最も活用される開発領域は、フロントエンド開発になります。

ブラウザアプリでは、JavaScriptが圧倒的に地位を確立しているため、必然的にTypeScriptも利用される形になります。

TypeScriptは、JavaScriptの上位互換になる言語であるため、フロントエンド開発で言語特徴を遺憾なく発揮します。

バックエンド開発

次にTypeScriptが利用される開発領域は、バックエンド開発になります。

技術的観点で言えば、Node.jsといったサーバーサイドJavaScriptによって開発を可能にしています。

現在は、バックエンド言語としてGo、Java、Python、Ruby、PHPなど多数競合が存在しますが、TypeScriptも一つのサーバーサイド言語として選択肢になります。

TypeScriptを導入・採用するメリット

開発領域としてフロントエンド・バックエンド両方でTypeScriptを導入・採用すると、多くのメリットが享受できます。

つまり、開発プロジェクト内で使用する言語が1つであることはメリットになります。

開発言語が1つであれば、以下の利点が生まれます。

TypeScriptを導入・採用するメリット
  • モジュール共有
  • 開発プロジェクト内のノウハウ共有
  • 学習コストパフォーマンス最大化

想像が容易いかと思いますが、開発領域を超えてTypeScriptで統一できれば、開発に利用するモジュールあるいはノウハウが領域間で共有できます。

また、言語2つ以上になれば学習コストが大幅に膨らみます。

そのため、統一言語としてTypeScriptを利用できれば、学習コストが減りパフォーマンスを最大化できます。

TypeScriptにおける開発領域の特性

少し小難しい話になりますが、実際に開発視点から考えると取り組むプログラミング業務によって考え方が異なっていきます。

プログラミングスキルが本格的に実務レベルへ近づいていくと、以下の領域をカバーしながらプログラミング業務あるいは個人開発など実施する必要があります。

開発領域
  • フロントエンド領域
  • バックエンド領域

どちらの領域もカバーできれば、フルスタック開発が実現できるわけです。

フロントエンド領域の特性

近年、UIによるデザイン性の重要度やマルチデバイス対応などユーザーに求められるニーズは複雑かつ高度なものになっています。

例えば、OSの種類/バージョンやモバイル対応、機種による変化にも対応が必要になります。

また、Webブラウザでいえばブラウザバージョンやブラウザの種類によって規格を変更する必要もあります。

フロントエンドに求められる特性
  • デザインや高度なUIの流行を実現
  • 最新デバイスへの対応
  • 各ブラウザのアップデート対応

つまり、フロントエンド領域では「変化に強く、複雑かつ高度なUIに対応可能でマルチデバイスでも軽快に動作すること」が求められます。

今後、フロントエンド領域でプログラミング学習を進める人は、フロントエンドに求められる特性を意識し実践する必要があります。

バックエンド領域の特性

一方で、バックエンド領域の特性はフロントエンド領域の特性と異なるニーズが生まれます。

年々インターネットの普及率は増え、アクセス数の増加と様々な分野のデータは巨大化しています。

また、インターネットは社会インフラの一部であるため、各サービスも24時間365日稼働し続ける必要があります。

同時に、システムも多様化しているため、特定機能だけでなくマルチ決済機能や行政手続きなど連携対象におけるネットセキュリティも重要視されています。

バックエンド領域に求められる特性
  • 誰がどこにいても繋がれるアクセス対応
  • 24時間365日の連続稼働
  • ネットセキュリティに対する対応

つまり、バックエンド領域では「変化に対して堅牢で可用性が高く、セキュアで正確であること」が求められます。

今後、バックエンド領域でプログラミング学習を進める人は、バックエンドに求められる特性を意識してインフラ環境も考慮した実践が必要になります。

TypeScriptの将来性

近年、JavaScriptの代替言語としてトレンドになり始めているTypeScriptは個人・企業問わず需要が高まっています。

TypeScriptのメリットデメリットを述べてきましたが、結論として「TypeScriptは将来性が高い」と言えます。

理由は以下にまとめています。

TypeScriptの将来性
  • TypeScriptに関する情報は年々増加傾向
  • JavaScriptからの移行が容易で機能は強力
  • メジャーなライブラリやフレームワークに対応

以下、それぞれの将来性の根拠について解説します。

TypeScriptに関する情報は年々増加傾向

TypeScriptは2012年にMicrosoftによって発表されて以来、急速に普及しています。

特にここ数年は、開発者コミュニティでの議論が活発になり、公式ドキュメントや学習リソースが充実してきました。

TypeScriptの環境や動向
  • 学習教材の充実
  • コミュニティの成長
  • 企業での導入が加速

特に、大手企業(Google、Microsoft、Meta など)でもTypeScriptの採用が進んでおり、それに伴い業界全体での知見も蓄積されています。

結果としてTypeScriptを学ぶメリットが増し、さらなる普及が期待されます。

JavaScriptからの移行が容易で機能は強力

TypeScriptはJavaScriptのスーパーセットとして設計されているため、既存のJavaScriptプロジェクトを簡単にTypeScriptへ移行できます。

TypeScriptの開発環境のメリット
  • 既存のJavaScriptコードをそのまま利用可能
  • 強力な型システムによる恩恵
  • モダンな開発機能を提供

特に、TypeScriptはJavaScriptの構文をそのまま使用できるため、すべてを書き直す必要はありません。

少しずつTypeScriptの型定義を追加することで段階的な移行が可能です。

さらに、静的型チェックや型推論など、エラー検出やバグの発生を抑えられます。

メジャーなライブラリやフレームワークに対応

現在、TypeScriptはほぼすべての主要なライブラリやフレームワークでサポートされています。

TypeScriptの周辺技術
  • React/Vue/Angularなどのフレームワークが公式対応
  • Node.jsやバックエンド開発でも広く利用
  • オープンソースライブラリの型定義が充実

特に、JavaScript/TypeScriptのフレームワークは最新技術の進歩が著しく、フロントエンド/バックエンド両方で活用できるフレームワークが数多くあります。

TypeScriptでおすすめのフレームワークを知りたい人は「【TypeScript】おすすめのフレームワークや環境構築・インストール方法を解説」を一読ください。

まだまだフロントエンド/バックエンド領域を分け隔てる形で開発が進められています。

しかし、一方でNode.jsを利用するTypeScriptはフルスタック開発が実現できることから、開発時の統一言語として利用され始めています。

AIの登場やプログラミング技術のアップデートによって今後の展開が予測しにくいですが、TypeScriptは現在も対応領域を拡大しています。

TypeScript系フレームワークで作れるものが異なる

厳密に言えば、どのTypeScript系フレームワークであっても利用者次第で開発ジャンルを横断できます。

ですが、やはりフレームワークによっても得意な開発領域が区切られています。

また、以下のTypeScript系フレームワークが現在ビジネス市場で多く利用されています。

スクロールできます
フレームワーク名概要公式ドキュメント
Next.jsReact.jsをベースにしたフレームワークhttps://nextjsjp.org/
Nuxt.jsVue.jsをベースとしたフレームワークhttps://nuxt3-guide-jp.vercel.app/
NextJSサーバーサイドアプリケーション開発のためのフレームワークhttps://docs.nestjs.com/
AngularGoogleが開発したフレームワークhttps://angular.jp/
Vue.js軽量で学習曲線が緩やかなフレームワークhttps://ja.vuejs.org/
SolidJS高性能なUIを構築/設計されたJavaScriptフレームワークhttps://docs.solidjs.com/

各フレームワークの特徴とインストールまで紹介していきます。

まだTypeScriptの開発環境が整っていない人は「【TypeScript】おすすめのフレームワークや環境構築・インストール方法を解説」を一読ください。

TypeScript系フレームワークにおける開発領域の使い分け

TypeScript系フレームワークの選び方は様々なアプローチ方法があります。

スクロールできます
選ぶ際のポイントフレームワーク名
フルスタック & SSRNext.js / Nuxt.js
バックエンドAPI開発NestJS
大規模・堅牢なアプリAngular
初心者・中小規模Vue.js
高パフォーマンス重視SolidJS
フレームワーク選定のポイント
  • 自身が身に付けているプログラミング言語
  • 関わっているプロダクトあるいはプロジェクト単位
  • 別利用するシステム連携の有無
  • アサインされる案件

様々な観点から、TypeScriptにて利用されるフレームワークが変化します。

さらに、各フレームワークで連携するエコシステムも踏まえると開発目的に最適なフレームワークを選定しやすいです。

スクロールできます
フレームワークベース特徴主なエコシステム/ツール用途例学習難易度
Next.jsReact.jsReact.js, SSR, SSG, ISR対応。
フルスタック開発に強い
Vercel, SWR, App Router, NextAuth.js, Tailwind CSSWebアプリ、企業サイト、CMS
Nuxt.jsVue.jsNext.jsのVue版。SSR, SSG, SPA対応Nuxt Modules, Nitro, Vuetify, Pinia, Tailwind CSSブログ、ECサイト、静的サイト
NextJSTypeScriptサーバーサイド開発向け。DIとモジュール構成で堅牢な設計TypeORM, Prisma, Fastify, GraphQL, Swagger, Passport.jsAPIサーバー、マイクロサービス中〜高
Angular独自(TypeScript)Google製。DI、RxJS、MVVMなど組込済みAngular CLI, RxJS, Angular Material, NgRx大規模業務アプリ、管理画面
Vue.jsVue.js軽量、シンプル、リアクティブ。初心者向けVue Router, Pinia, Vite, Vuetify, Composition API単一ページアプリ、小〜中規模サイト低〜中
SolidJS独自(JS/TS)高速なリアクティブUI。JSXサポート、学習コスト低めSolid Start, Vite, Tailwind CSS, TanStack Query, UnoCSS高速SPA、Webコンポーネント

各フレームワークに合わせたエコシステムの特徴も理解しておくとよいでしょう。

詳しくTypeScript系フレームワークのエコシステムを知りたい人は「【TypeScript】おすすめのフレームワークや環境構築・インストール方法を解説」を一読ください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


目次