JavaScriptとDartの違い

Guanhui
Guanhui転載
2020-06-01 09:11:543720ブラウズ

JavaScriptとDartの違い

#JavaScript とは何ですか?

JavaScript はブラウザ スクリプト言語と呼ばれることが多いですが、多くのサーバーサイドおよびモバイル アプリケーション開発環境にも拡張されています。 JS は 20 年近く存在しており、まさに成熟した安定したプログラミング言語であると言っても過言ではありません。 Facebook が React および React Native フレームワークをリリースした後、JS はますます人気が高まりました。

JavaScript には、NPM や Yarn などの独自のパッケージ マネージャーがあります。 JavaScript は現在では好まれ、普及していますが、プログラミング コミュニティでは依然としてさまざまな評価があります。それでも、JavaScript には StackOverFlow でタグ付けされた 200 万近くの質問が含まれているため、JavaScript の人気には疑いの余地がないと言っても過言ではありません。

ダーツとは何ですか?

Dart は、さまざまなプラットフォーム上の高速アプリケーションのクライアント側の最適化のために Google によって特別に設計された言語です。 Google は当初、Web、サーバー、モバイル アプリケーションを構築するための内部プログラミング言語としてこれを使用していました。 Dart は 2011 年から存在していますが、Google がクロスプラットフォームのモバイル アプリ開発向けに Flutter を発表してから人気が高まりました。唯一の理由は、Flutter が完全に Dart に基づいているためです。したがって、モバイル開発者は Flutter を使い始めるために Dart を学ぶ必要があります。

Dart は、C などの他のプログラミング言語と同様に、ソース コードをコンパイルします。ただし、Dart VM と呼ばれる、ネイティブ アプリケーションを実行するための独自の仮想マシン (VM) もあります。 Dart には Pub と呼ばれる独自のパッケージ マネージャーもあります。

Dart と JavaScript を使用したサンプル アプリケーション

Dart.js

void main() {
  print("Hello World");
}

Javascript

console.log("Hello World")

の比較JavaScript と Dart

1. 人気度

JavaScript は実際どこにでも使われており、JavaScript を実行しないデバイスはほとんどありません。現在、JavaScript は Web、モバイル、およびサーバー側のコードを記述するために使用されています。 JavaScript は、StackOverflow の約 200 万件の質問でタグ付けされています。

JS エコシステムはその人気のおかげで巨大になり、現在では Cloud Component Center の出現により、再利用可能なコンポーネントの「市場」を独占しています。

一方、Dart はますます人気が高まっていますが、JavaScript にはまだ程遠いです。 Google が Flutter を発表するまで、Dart はどこにもありませんでした。 Dart は、JavaScript をサポートしていない開発者を惹きつけます。現在、Dart には StackOverFlow でタグ付けされた質問が 30,000 件近くあります。

2. 学習曲線

初心者にとって、特にプログラミング概念の背景知識がない場合、JavaScript が非常に扱いにくいことは周知の事実です。しかし、JavaScript は Web 開発の中核の 1 つであるため、大学やブートキャンプで教えられる主要な言語の 1 つです。実際、HTML、CSS、JavaScript は Web 開発の三銃士と呼ばれています。 JavaScript の学習に役立つオンラインのコースやチュートリアルが多数あります。

しかし、Dart の場合は状況が大きく異なります。 Dart は JavaScript ほど知られておらず、学習教材も比較的少ないため、初心者にとって Dart の学習は非常に不安になることがあります。しかし、Google は他の OOP 言語の開発者が Dart にシームレスに移行できるよう、あらゆる努力を払っています。

3. タイプ セーフティ

これは、JavaScript と Dart の主な違いの 1 つです。 JavaScript はインタープリタ型言語として、動的型付けとダック タイピングをサポートしています。ダック タイピングは、オブジェクト自体の型ではなく、特定のメソッドとプロパティの存在に基づいて、オブジェクトが特定の目的に適しているかどうかを判断するタイプです。 Javascript ではあらゆるコードを入力できるため、タイプセーフではない言語となり、実行時にのみエラーが発見されます。

対照的に、Dart は、緩やかで強力なプロトタイピングをサポートします。 Dart はコンパイル言語として、コンパイル中にほとんどのエラーを捕捉できるため、JavaScript よりもタイプセーフになります。

4. エンタープライズでの使用

JavaScript は、大規模なプロジェクトであっても、Web アプリケーションやクロスプラットフォーム アプリケーションを構築するために商業的に使用されています。 Facebook によって導入された Web およびクロスプラットフォームのフレームワークである React および React Native は JavaScript を使用しており、Facebook の内部で使用されています。 Airbnb、Slack、eBay などの他の企業も JavaScript を使用しています。

Dart の発祥の地は Google なので、当初は社内で広く使用されていました。その後、Flutter の導入後、Alibaba のような大企業はクロスプラットフォーム アプリケーションの開発に Flutter と Dart を採用しました。

JavaScriptとDartの違い

Dart を JavaScript にコンパイルする

Dart には 2 つの異なる JS コンパイラがあります。 Webdev ツールは、ユースケースに基づいて最適なコンパイラーを選択します。アプリケーションを開発する場合、webdev はインクリメンタル コンパイルをサポートする dartdevc を選択するため、編集の結果をすぐに確認できます。ただし、デプロイメント用のアプリケーションを構築する場合、webdev はツリー シェーキングなどの技術を使用して最適化されたコードを生成する dart2js を選択します。

Dart チームは、dart2js でコンパイルされたコードを手書きの JS よりも高速に実行できるように懸命に取り組んでいます。すべてのケースに当てはまるわけではありませんが、近い将来、激しい競争が起こることが予想されます。

長所と短所

##JavaScript

長所:

  • JavaScript Web アプリケーションやモバイル アプリケーションで使用できます。

  • フロントエンドとバックエンドの両方で使用できるため、JavaScript をすべてのデバイスで実行できます。

  • JavaScript には巨大なコミュニティがあり、オンラインで利用できる優れたフレームワークが存在します。

  • 軽量で柔軟性に優れています。

  • たくさんの学習教材が見つかります。

欠点:

  • JS には多数のライブラリがありますが、品質やメンテナンスが不十分なライブラリも多くあります。

  • エラーは実行時にのみ検出されます。

Dart

利点:

  • オープンソース。

  • 大企業である Google の支援を受けています。

  • タイプ セーフであり、JIT および AOT を使用してコンパイルされています。

  • Flutter のバックボーン。

  • 場合によっては比較的高速です

欠点:

  • プログラマ向けではありません言語は比較的高速です新しい。

  • 学習教材は JavaScript に比べて広範囲ではありません。

推奨チュートリアル: 「

JS チュートリアル

以上がJavaScriptとDartの違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はjuejin.imで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。