2016-05-25 5 views
15

TypeScriptを使ってAngular2を書いたのは知っていますが、これはおそらくAngular2を使いたい人には良い選択ですが、Babelを見るとTypeScript 。BabelとTypeScriptの主な違いは何ですか

多くのよく知られた企業がバベルにこだわっていることに気付きました。

いくつかの質問:

  1. 彼らはお互いの上にどのような利点がありますか?
  2. プロジェクト/デベロッパーの方が良いか悪いのですか?
  3. これらの主な違いは何ですか?それらをユニークにする要因は何ですか?
+3

一見、完全に異なるツールであることは明らかです。あなたはそれぞれのイントロに15分を投資することでこの質問に答えることができます。 – Marty

+1

TypeScriptは言語ですが、Babelはツールです(ES6、言語をES5に翻訳する)。 – deceze

+3

@ Marty 2つのコンパイラが競合していますが、この質問は合法です。 – Paleo

答えて

29

TypeScriptは、JavaScript(ES3 +)にコンパイルされたJavaScriptのスーパーセットです。TypeScriptの主な目的は、優れた静的型付け機能それは次のような特徴から利益を得るであろう大規模なアプリケーションに適している:。&型推論

  • 型注釈
  • ジェネリックES6で
  • インタフェース、列挙型、名前空間、モジュールとクラス(後者の2つの利用可能な。 )。
  • 安全なリファクタリング。

私の知る限り、Babelは、新しいECMAScript機能を古いECMAScript環境でサポートされている形式に「単純化」します。これは、新しい言語機能を使用してプレーンJavaScriptを作成する開発者に適しています。

+0

これは、TypeScriptがES6からES3 +への変換器とjavascriptのスーパーセットの両方であることを意味しますが、BableはES6からES5に移行するだけです。 – Teebo

+0

@Teeboはい、それは正しいです。 –

+1

そして今、Typescriptは普通の古いJavascriptをサポートしています。だから、実際にはbabelを使用する理由はもうありません。 – JoyalToTheWorld

13

2番の開発者のVictor Savkinは、なぜTypescriptを他のテクノロジよりも選択したのかを話します。

http://victorsavkin.com/post/123555572351/writing-angular-2-in-typescript

最後のセクション なぜ活字?

は、「今日の開発者をフロントエンドに利用できる多くのオプションがあります:?ES5、ES6(バベル)、活字体、ダーツ、PureScript、エルム、などが...なぜ活字体

はES5で始まるレッツES5が。 TypeScriptと比較して1つの大きな利点があります:これは、トランスペラレータを必要としないため、ビルドの設定を簡単に保つことができます。シンプルさは、TypeScriptが提供する高度なリファクタリングとナビゲーション機能を上回ります。すべてのコードがどこにあるのか、そして何をするのかを知るだけです。

ES6は、 ildセットアップはTypeScriptとあまり変わりません。しかしこれは標準です。つまり、すべてのエディタとビルドツールがES6をサポートしているか、サポートしています。

ElmとPureScriptは、強力なタイプのシステムを持つ洗練された言語であり、TypeScriptよりもプログラムについて多くのことを証明することができます。 ElmとPureScriptで書かれたコードは、ES5で書かれた同様のコードよりもはるかに軽いことがあります。

これらのオプションにはそれぞれ長所と短所がありますが、TypeScriptはスイートスポットになっているため、ほとんどのプロジェクトにとって最適です。 TypeScriptは、静的型付けされた適切な言語の有用性の95%を取り、それをJavaScriptエコシステムに持ち込みます。同じ標準ライブラリ、同じサードパーティのライブラリ、同じイディオム、および同じツール(Chrome開発ツールなど)の多くを使い続けています。これは、JavaScriptエコシステムからあなたを排除することなく、多くを提供します。」

関連する問題