オーラリア vs. アンギュラー比較
この部分には、この記事のエッセンスが含まれています。
標準準拠
Aureliaは、確立されたWeb標準だけでなく、現在進化しているものにも完全に準拠しています。 この場合、Angular はまだ遅れており、標準から乖離する傾向があります。 Aurelia のライブラリは主に vanilla JS と TS クラスで構成されています。
Agular の準拠の欠如がプログラマーに影響を与える最も顕著な側面の 1 つは、大文字と小文字の区別です。 標準の HTML が大文字と小文字を区別しないように、Aurelia は大文字と小文字を区別しません。 Angular の構文は大文字と小文字を区別し、Web ブラウザが HTML パーサーを使用できないようになっています。 Aureliaを使うと、すべてのテンプレートを一つのタグで便利にまとめることができます。 この機能は Angular では実行が難しく、まったく実現できないかもしれません。
Binding
Aurelia は単に一方向と双方向のバインディングをサポートしますが、これは Angular では複雑で開発者の混乱につながる可能性があります。 デフォルトでは、Aureliaは片方向のバインディングを持ちます。 入力ウィジェットを特定のビューモデルにバインドするような用途では、双方向バインディングがより適切です。 Aureliaのクラス内の変数をバインドする構文も、JSで行われている方法と同等です。
Auralia simple data binding:
Auralia two-way data binding:
Language support
開発者は Angular においてのみ TypeScript で JS コードを書くことが許可されています。 TypeScript は Aurelia でも使用できますが、ECMAScript (ES) やそのすべての亜種など、開発者により多くの柔軟性を提供する他のプログラミング言語も使用できます。 Aurelia のドキュメントとリソースのほとんどが Typescript であるため、開発者は ES を使用できますが、TypeScript を使用することが強く推奨されます。
Routing
ルーティング設定は、両方のフレームワークで同様の方法で行われますが、そのルートのコンセプトは大幅に異なっています。 Aurelia では、親ルートが一箇所で定義され、サブルート用の子コンポーネントに設定を持ち込みます。 コンポーネントはこの戦略によって完全にカプセル化され、内部の複雑さをカバーします。
中央の構成ファイルの内部では、モジュールのルートは Angular で、すなわちパス、ルート可能なコンポーネント、およびサブルートが定義されるはずです。 このアプローチは、Angularのルート記述をさらに難しくしています。 オーラリアを使用した基本的なルーティングの例を以下に示します(出典:Auralia documentation)。
Interoperability
Aurelia は他のフレームワークによく合い、Angular よりも相互運用性に優れています。