TypeScriptで何ができる?主要サービスは?

TypeScriptで何ができる?主要サービスは?

参照:TypeScript: JavaScript With Syntax For Types.

TypeScriptはWeb系のプログラミング言語として2014年頃にMicrosoft社から公開されました。Web系のプログラミング言語の代表格であるJavaScriptを拡張して実装されたもので、これらのプログラミング言語は非常に似た部分があります。今回はTypeScriptがどのようなプログラミング言語で、どのようなサービス実装に利用されているのかをご説明します。

TypeScriptとは?

TypeScriptは冒頭でもご説明したとおり、JavaScriptの上位互換に該当するプログラミング言語です。ただ、コンパイルが必要なプログラミング言語で、コンパイルすることによってJavaScriptが生成されます。また、プログラミング言語としては上位互換ですが、完全に一致しているわけではなく、それぞれが特徴を持っている点は理解しておかなければなりません。

JavaScriptを生成するためのプログラミング言語であるため「そのような面倒な作業は不要ではないか」と考える人はいるはずです。そのような考えは不思議ではないものの、TypeScriptを利用することでJavaScriptの生成を効率化できます。手動でプログラミングすると時間を要するようなものでも、TypeScriptで実装することで短縮できるのです。

また、JavaScriptの上位互換に該当するプログラミング言語であるため、JavaScriptのライブラリはそのまま利用できるものが多く存在します。フレームワークについては利用できない場合がありますが、ほぼ同時に利用できるプログラミング言語なのです。

TypeScriptの特徴

TypeScriptにはどのような特徴があるのかについてもご説明します。

Web系のフロントエンド開発に利用

JavaScriptを拡張して開発されたプログラミング言語であるため、基本的にはJavaScriptと同様にWeb系のフロントエンド開発に利用されます。Web系のプログラミング言語はサーバサイドで動作するものが大半であるため、TypeScriptを利用してフロントエンドのプログラミングをするのです。

ただ、TypeScriptはコンパイルすることでJavaScriptに変換されるため、TypeScriptがそのままクライアントサイドで実行されることはありません。あくまでも、JavaScriptを生成するためのプログラミング言語であると理解しておきましょう。

大規模開発を想定

JavaScriptよりも大規模な開発を想定したプログラミング言語です。JavaScriptはその特性上、大規模な開発に適したプログラミング言語といえません。少人数のエンジニアでスムーズに開発するプログラミング言語に該当します。

しかし、TypeScriptはMicrosoft社が開発しているということもあり、大規模な開発も想定されています。複数のエンジニアが同時に開発しても、トラブルが起きないような仕組みが設けられているのです。

例えば、TypeScriptは変数を宣言するにあたって、事前に型を指定しなければなりません。JavaScriptではこのような設計ではなく、変数の型を意識せず自由に変数を宣言できてしまいます。これは変数に予期せぬ値を代入してしまう原因になるなど、多人数での開発では課題になりかねません。しかし、TypeScriptはこのような問題をクリアしています。

TypeScriptで作られたサービス2選


TypeScriptで作られたサービスはいくつもありますが、代表的なサービスをピックアップしてご紹介します。

LINE NEWS

スマートフォンで情報をやり取りする際に多用されるのが「LINE」でしょう。このLINEにはニュースサービスが含まれていて、こちらのサービスにTypeScriptが利用されています。フロントエンドではJavaScriptが利用されているため、利用者がTypeScriptを目にすることはありませんが、サービスの開発ブログではTypeScriptについて解説されています。

LINEのように利用者の多いスマートフォンが提供するニュースは、必然的にアクセス数が増えてしまいます。そのため、最適化されたJavaScriptで通信を処理しないとサーバにもクライアントにも負担を与えかねません。TypeScriptで最善のJavaScriptを生成すれば負荷の軽減に繋がることから、LINE NEWSで採用されています。

Google

Googleのコア部分はWeb系のプログラミング言語であるGoで実装されています。Googleが開発しているプログラミング言語であるため、全般的にはGoで開発されているサービスではあります。

ただ、Goはフロントエンドの開発には適しておらず、この部分にはTypeScriptが利用されています。JavaScriptよりも開発効率の高いプログラミング言語であるため、現在はTypeScriptにシフトしているのです。

TypeScriptでできないこと、不得意なこと

TypeScriptは人気のプログラミング言語ですが、実装が適していない場面もあります。具体的にTypeScriptはどのような実装に適していないのかご説明します。

AI開発

TypeScriptはAI開発には適していません。近年は様々な場所でAIが活用されていますが、TypeScriptではなく他のプログラミング言語で実装しましょう。例えばAIならばTypeScriptではなくPythonで実装すべきです。

AI開発に適していない理由は、大量の数値計算が得意ではないところにあります。AIを実装する際は学習に利用する大量のデータを処理する仕組みが必要です。しかし、TypeScriptはそのような処理に適していないため、AI開発には向いていません。

TypeScriptでAIの機能を利用するならば、Pythonなどで開発したAPIを呼び出すようにしましょう。複数言語の組み合わせが重要です。

高速処理

Webサイト内で高速処理が必要な場合はTypeScriptでの実装が適していません。JavaScriptよりも高速で処理しやすいプログラミング言語ですが、ブラウザサイドの言語であるため実行環境に依存します。想定よりも何倍もの時間を要するようなことになりかねません。

そのため、高速処理を必要とするときは、TypeScriptではなくサーバサイド言語で実装しましょう。求められる処理能力に応じた実行環境を用意して、そこで処理した結果をレスポンスとして渡すべきです。

また、そもそもTypeScriptで情報を処理するためには、ブラウザサイドへデータを転送する必要があります。この段階で無駄な時間を要することになるため、その観点でも高速な処理には適していません。

組み込み開発

家電製品などに組み込まれる「組み込みプログラム」の開発はできません。組み込みプログラムについては、Cなど、よりアセンブラに近いプログラミング言語を選択しましょう。

TypeScriptが組み込み開発に利用できない理由は、実行環境としてWebブラウザが必要だからです。組み込みプログラムではこのような実行環境が用意できないため、TypeScriptで実装することが不可能なのです。

なお、組み込みプログラムの実装にはいくつか制約があります。TypeScriptに限らず対応している言語が少ないため、よく調査してプログラミング言語を選定してください。

OS開発

組込み開発と似た理由でOS開発にも適していません。OSもアセンブラに近い環境で実行されるため、TypeScriptのようにWebブラウザが必要なプログラミング言語での実装は適していないのです。

また、TypeScriptにはメモリを細かく管理する機能が備わっていません。OSなどハードウェアに近い部分の開発をするためには、メモリを意図的に管理できる必要があります。TypeScriptはプログラミング言語の仕様として必要な要件を満たしていないのです。

TypeScriptの将来性


TypeScriptがどのようなプログラミング言語であることを説明したため、続いては将来性についてもご説明します。

JavaScriptの上位互換で期待は高い

TypeScriptはJavaScriptの上位互換であるため、プログラミング言語としては高い期待を持たれています。JavaScriptといえば世界中で利用されている安定したプログラミング言語であり、それの上位互換に該当するTypeScriptは将来性と明るいプログラミング言語だといえるでしょう
ただ、JavaScriptで開発されているものが完全にTypeScriptへと置き換わるわけではありません。JavascriptとTypeScriptはそれぞれに特徴があるため、どちらが良いとは言い切れない部分があるのです。そのため、TypeScriptの人気が高まっていったとしても、Javascriptが完全になくなるようなことにはなりません。
需要が高まり将来性のあるプログラミング言語ですが、TypeScriptだけを習得すれば良いとも言い切れない状況です。JavascriptとTypeScriptの両方を習得することによって、活躍の場を広げられると考えておきましょう

日本では利用が遅れている

世界的には人気を集めているプログラミング言語ですが、日本国内ではまだまだ遅れている状況です。積極的に来TypeScriptを採用する企業は増えてきているものの、絶対数としては少ないと言わざるを得ません。海外ではJavascriptとTypeScriptを比較して、状況に応じて適切なものを選択する環境が整ってきています。
日本では導入が遅れている部分があるため、案件を探す際に少々問題が生じるかもしれません。TypeScriptに関連する案件はある程度は公開されていますが、自分に適したものが見つかるとは限らないのです。現時点では案件の絶対数が少ない点はTypeScriptの弱点といっても過言ではないでしょう。
とはいえ、これから需要が高まることに期待できるプログラミング言語には間違いありません。多少は時間を要するかもしれませんが、積極的に利用していきましょう。

TypeScriptエンジニアの需要

プログラミング言語としてはまだまだ広がりを見せている過程であり、日本国内で利用される場面は限られています。TypeScriptではなくJavaScriptを直接コーディングして実装する企業が多い状況です。

ただ、TypeScriptにはJavaScriptにはないメリットがあり、プログラミング言語の進化とともに独自のメリットが増えています。この観点から考えると、これからはTypeScriptの需要が高まると考えられ、同時に対応できるエンジニアの需要も高まるはずです。目先のことだけを考えると需要は低めかもしれませんが、長い目で見ると需要の高まるエンジニアでしょう。

これからの需要の高まりを踏まえると、今のうちにTypeScriptを習得してエンジニアとして活躍できれば、他のエンジニアに差をつけられます。同じプログラミング言語を扱えるエンジニアが増えると案件の奪い合いが生じてしまうため、今のうちに習得して継続的な案件獲得を目指しましょう

まとめ

TypeScriptの特徴や代表的なサービス、できることとできないことを説明しました。TypeScriptはJavaScriptの上位互換に該当するプログラミング言語であるため、基本的にはJavaScriptと同じような利用ができます。
世界的に注目を集めているプログラミング言語ですが、日本国内での利用はまだまだ限られています。JavaScriptが主に利用されているため、これから必要に応じて置き換わっていくと考えましょう。
プログラマーの需要も現時点ではJavaScriptより少なくなっています。これから増えていくと考えられるため、需要に応えられるような準備が必要です。

SHAREこの記事をシェアする

admin