• BPnet
  • ビジネス
  • IT
  • テクノロジー
  • 医療
  • 建設・不動産
  • TRENDY
  • WOMAN
  • ショッピング
  • 転職
  • ナショジオ
  • 日経電子版
  • PR

  • PR

  • PR

  • PR

  • PR

日経コンピュータReport

MSがJavaScriptの弱点補う新言語

大規模開発に強み、アプリ開発者を自陣に

進藤 智則=日経コンピュータ編集 2012/10/23 ITpro
出典:日経コンピュータ 2012年10月25日号p.12
(記事は執筆時の情報に基づいており、現在では異なる場合があります)
目次一覧

 米マイクロソフト(MS)は、プログラミング言語「JavaScript」の構文を拡張し、大規模な開発でも利用しやすくした新言語「TypeScript」を2012年10月に発表した。JavaScriptは軽量言語の一種で開発のハードルが低く、あらゆるWebブラウザーで動くことから広く普及している。ただし、複雑なソフトウエアを構築しようとするとバグを作り込みやすくなるなど、大規模開発向けとしては力不足の面があった。

 TypeScriptが大規模開発に向けた拡張は主に二つ。まず、プログラム中でデータの種類を表す「型(type)」を強化した。データの種類についてプログラム中に不整合などがあればコンパイラによって検出できるため、開発段階でコードの品質を高めやすい。JavaScriptは、動的言語のためこうしたコンパイラ機能がない。

 一般にデータの種類を表す仕組みがあると、コード記述量が増える可能性があるが、TypeScriptはデータの種類をコンパイラが自動的に推定する仕組み(型推論)も備えるため、Javaなどのように、データの種類をプログラマーが全て指定する必要もない。

 大規模開発向け拡張のもう一つは、複数人での開発などで関数の名前が重複するのを防ぐ仕組み(名前空間)を導入した点だ。大規模開発向けにJavaScriptを拡張した言語は、TypeScript以外にもDeNAの「JSX」や米グーグルの「Dart」などがあるが、TypeScriptはツール支援も充実しており、好意的な評価が多い。

図●マイクロソフトの新言語TypeScript」の仕組み
TypeScriptは、JavaScriptを拡張した構文を備える。TypeScriptコンパイラは、JavaScriptコードを出力するため、マイクロソフト以外のWebブラウザーでも動く
[画像のクリックで拡大表示]

 TypeScriptでは互換性にも配慮した。具体的には(1)コンパイラでTypeScriptのプログラムからJavaScriptのプログラムを生成し、開発したソフトはどのWebブラウザーでも動作するようにした()、(2)JavaScriptに慣れた開発者が違和感なく扱えるよう、TypeScriptの構文は若干の拡張にとどめ、JavaScriptとほぼ同一とした。

 MSがTypeScriptを投入した狙いは、Windows 8/WindowsPhone 8、Windows Azureのアプリ開発でJavaScriptを利用しやすくし、iPhone/Android用アプリの開発者を取り込むことだ。

 TypeScriptのコンパイラはオープンソースであるため、応用範囲はMS製品にとどまらず、JavaScriptで大規模開発を行う案件であれば広く利用できる。最近ではiPhone/Android用アプリをJavaScriptで作るツール「Titanium Mobile」などが人気を博しており、TypeScriptはスマホアプリ開発でも出番がありそうだ。

あなたにお薦め

連載新着

連載目次を見る

今のおすすめ記事

ITpro SPECIALPR

What’s New!

経営

アプリケーション/DB/ミドルウエア

クラウド

運用管理

設計/開発

サーバー/ストレージ

クライアント/OA機器

ネットワーク/通信サービス

セキュリティ

もっと見る