web-dev-qa-db-ja.com

Angular2:遅いですか?

最後のangular angularチームが立ち上げたバージョン。Angular2がリリースされ、新しいWebページがリリースされました https ://angular.io

そこには、新しい構文と、新しいangularアプリケーションを実行するために使用する必要があるものをすばやく示す5分のクイックスタートプロジェクトがあります。

私はそれを機能させるためにすべてのステップを実行しましたが、ロードするのに4.93秒かかりました。

私はただ疑問に思っています、angular 2は遅いですか?それとも私はいくつかのステップを逃しているかもしれません。

これが私のコードです

// app.es6

import { Component, Template, bootstrap } from "angular2/angular2";

// Annotation section
@Component({
  selector: "my-app"
})
@Template({
  inline: "<h1>Hello {{ name }}</h1>"
})
// Component controller
class MyAppComponent {
  constructor() {
    this.name = "Alex!";
  }
}

bootstrap(MyAppComponent);

およびindex.html

<!-- index.html -->
<html>

<head>
    <title>Angular 2 Quickstart</title>
    <script src="dist/es6-shim.js"></script>
</head>

<body>

    <!-- The app component created in app.js -->
    <my-app></my-app>

    <script>
        // Rewrite the paths to load the files
          System.paths = {
            'angular2/*':'angular2/*.js', // Angular
            'rtts_assert/*': 'rtts_assert/*.js', //Runtime assertions
            'app': 'app.js' // The my-app component
          };

          // Kick off the application
          System.import('app');
    </script>
</body>

</html>
  • RTTS(ランタイム型システムチェック)を使用して実行しています。開発には最適ですが、本番環境では低速です。
  • 高速読み込みのために、すべてのファイルを1つのファイルに連結しているわけではありません。
  • Dartでは高速の変更がまだ機能していないため、低速の変更検出はまだあります。一貫性を保ちたいと考えています。

高速に実行する方法については、 https://github.com/djsmith42/angular2_calendar を参照してください。

31
Misko Hevery

はい、angular2を使用して書かれたページは遅いです。

私はangular2コードが遅いと言っているわけではありません(私はあえてしません)、angularを使用して書くことができる最も単純なページは5秒以上でロードされます。たくさんありますロードする必要のあるファイル。ファイルを組み合わせてhttpリクエストを減らし、使用していないものをロードしないように注意することで、これを高速化できるのは事実ですが、単純なhtml +のように高速になることはありません。 jsページ。

ただし、angularはシングルページアプリ用に設計されていることを覚えておくことが重要です。すべての依存関係は、単一のインデックスファイルに一度読み込まれ、それ以降はangularルーティングを使用すると、実際には単なるテンプレートファイルであるさまざまな「ページ」に移動できます。

言い換えれば、大きな先行ヒットが行われると、それは本当に速く、そして最も重要なことに、非常に生産的になる可能性があります。

4
Greg Woods

最新バージョンのalpha27の場合、QuickStartチュートリアルを1行ずつ実行すると、System.jsファイルとangular2.min.jsファイルの読み込みに時間がかかるため、処理が非常に遅くなります。独自のサーバーを使用してそれらをホストできるとよいでしょう。さらに、コードからは、alpha20より前のコードベースを使用しているようです。 alpha27にアップグレードすると、はるかに高速になります。

1
user2379441