【翻訳】Aureliaトップページ翻訳

## 記事要約
Aureliaを学習するにあたって、Aurelia公式サイトトップページの “Why Aurelia?” の部分を翻訳しました。(2019/1/27時点)
なるべく直訳にするようにしましたが、直訳だとどうしてもわかりづらい部分はつながりの良い文章に直しています。

JS初心者向けの記事です。
単語には、参考になるリンクをつけました。外部サイトに飛ぶ場合もあります。

- [Home | Aurelia](https://aurelia.io)

以下、翻訳です。
## Aureliaを選ぶ理由(Why Aurelia?)
次世代のアプリケーションを作る人々に加わろう
### 学習しやすい(Easy to Learn)
規約に基づいた特殊すぎないスタイルによって、Aureliaは、[vanilla JavaScript](https://qiita.com/tyoukan__/items/e4582c6774748b7f96cd)や[TypeScript](https://ja.wikipedia.org/wiki/TypeScript)を使ったコンポーネントを作成する機能を与えることのできる唯一のフレームワークになる。もしあなたがmodern JSやHTMLを知っているなら、最も複雑なアプリケーションを作るためにでさえ、学ぶ必要のあることは少ししかない。
### 高性能(High Performance)
Aureliaの核となるのは、高性能であること、[リアクティブシステム](https://thinkit.co.jp/article/9185)、そして、他のフレームワークと[仮想DOM](https://qiita.com/mizchi/items/4d25bc26def1719d52e6)をほこりにまみれさせて取り残してしまうような方法で、DOMの更新をまとめて処理する能力があること。[UI](https://ja.wikipedia.org/wiki/ユーザインタフェース)がどれほど複雑であっても、一貫性と拡張性のある性能であることを体験してほしい。
### 大規模なエコシステム(Extensive Ecosystem)
[コアチームによる公式プラグイン](https://aurelia.io/docs/plugins/)として、stateの管理に、国際化やバリデーションがある。
開発を向上させるためのオプショナルツールとして、[CLI](https://qiita.com/yutackall/items/e32af6a9ff02e0ffe760)、[VS Codeのプラグイン](https://aurelia.io/blog/2016/10/11/introducing-the-aurelia-vs-code-plugin/)、そして[Chromeのデバッガー](https://chrome.google.com/webstore/detail/aurelia-inspector/ofemgdknaajmpeoblfdjkenbpcfbdefg)がある。Aureliaは単なるフレームワークではなく、迅速な成果を約束する強力な[プラットフォーム](https://kotobank.jp/word/プラットフォーム-2749)や[エコシステム](http://iot-jp.com/iotsummary/iotbusiness/エコシステム/.html)として設計されているのである。
### リアクティブな関連付け([Reactive](https://ninjinkun.hatenablog.com/entry/introrxja) [Binding](http://tech.nitoyon.com/ja/blog/2014/07/18/data-binding/))
Aureliaは、あらゆるオブジェクトに対する、強力でリアクティブな関連付けを可能にする。適応性のある(adaptive)な技術を使うことによって、Aureliaは、あなたの作成したモデル内の各プロパティを監視するのに最も効果的な方法を選択し、あなたの作成したUIとstateを自動的に最高クラスのパフォーマンスにする。
### テストが簡単(Simple Testing)
モダンなJSモジュールと特殊すぎない方法を兼ね備えることによって、Aureliaはvanilla JSのテストと同じくらい、ユニットテストを簡単にした。結合テストを書く必要性がある？強力な[DIコンテナ](https://qiita.com/ritukiii/items/de30b2d944109521298f)とテストライブラリが、結合テストを素早く簡単にしてくれる。あなたは、非常に保守性が高く、より長続きするアプリケーションの恩恵を受けることになる。
### 対応していない拡張性(Unmatched Extensibility)
この業界(industry)内で、Aureliaの拡張性が応じることの出来ないものはない。カスタムした要素を作成する、既存の要素に対してカスタムした属性を付け加える、テンプレートの生成を操作する、テンプレートの構文をカスタマイズする、リアクティブな関連付けに新しい型を作成する、DIを拡張するなど、あなたが思いつく限りのことは何でもできる。
### 規約のある楽なコーディング(Effortless Coding with Conventions)
コーディング規約の存在によって、あなたはあなたが書くコードと[ビジネスロジック](https://wa3.i-3-i.info/word13666.html)に集中することができる。フレームワークをアプリケーションの中心にしてしまうのではなく、あなたの書いたコードをアプリケーションの中心に位置づける唯一のフレームワークという点において、Aureliaは現在際立った存在である。コーディング規約は嫌い？なら、あなた自身の規約をプラグインとして追加したり、元のコーディング規約を全て外したりすればよい。あなたはどのようにでも出来る。
### ルーティング、[コンポジション](http://www.itmedia.co.jp/im/articles/0303/04/news001.html)、[プログレッシブエンハンスメント](https://ja.wikipedia.org/wiki/プログレッシブエンハンスメント)(Routing, Composition & Progressive Enhancement)
Aureliaの、[拡張可能なパイプライン](https://aurelia.io/docs/api/router/class/Pipeline/)や[子ルーター](https://aurelia.io/docs/routing/configuration#basic-configuration)を持つ、先進的な[クライアントサイドルーター](https://www.slideshare.net/ushiboy/spa-76170499)を活用すべきである。ルーターが必要ではなくとも、[ダイナミック](https://wa3.i-3-i.info/word11857.html)な、[データ駆動型](https://kotobank.jp/word/データドリヴン-1740924)のUIコンポジションは必要ではないか？我々もそうである。アプリケーションが古い？Aureliaのプログレッシブエンハンスメントとスクリプトタグの[ビルド](https://developer.mozilla.org/ja/docs/Web/API/Document/createElement)によって、簡単にAureliaを追加して使うことができる。
## あとがき
JavaScriptにきちんと触れたことがないので、翻訳の過程で知らない単語を調べることが勉強になりました。
「unobtrusive」の訳が難しかったです。直訳だと「目立たない」「出しゃばらない」という訳になりますね。
「特殊すぎない方法を使った〜」みたいな意味で使われているのだと思うので、「特殊すぎない」という訳にしました。
「industry」も散々迷ったんですが、とりあえず「業界」にしました。(業界の範囲をうまく表す言葉を思いつきませんでした。)
あと、カタカナにするしかない部分についてはどうしようもなかったですね。

「ecosystem(エコシステム)」という言葉については、正確にどのような意味で使われているのかよく分からなかったです。
こっちの記事([Aurelia Beta Week - Day 4 - Ecosystem - Blog | Aurelia](https://aurelia.io/blog/2015/11/19/aurelia-beta-week-day-4-ecosystem/))を訳すと分かりそうなので、またぼちぼち訳します。

次はAureliaのチュートリアルをやってみようと思います。
## 参考サイトまとめ
- [Home | Aurelia](https://aurelia.io)
- [Vanilla JSはジョークフレームワーク。普通のJSのこと。 - Qiita](https://qiita.com/tyoukan__/items/e4582c6774748b7f96cd)
- [TypeScript - ウィキペディア](https://ja.wikipedia.org/wiki/TypeScript)
- [ソフトウェアコンポーネントとは何？ Weblio辞書](https://www.weblio.jp/content/ソフトウェアコンポーネント)
- [リアクティブシステムが注目を集める理由](https://thinkit.co.jp/article/9185)
- [なぜ仮想DOMという概念が俺達の魂を震えさせるのか](https://qiita.com/mizchi/items/4d25bc26def1719d52e6)
- [ユーザインタフェース - Wikipedia](https://ja.wikipedia.org/wiki/ユーザインタフェース)
- [IT分野での「エコシステム」の誤用が気持ち悪い件 - Togetter](https://togetter.com/li/1023651)
- [エコシステムとは？仕事でよく耳にするキーワードの解説](https://blog.kairosmarketing.net/marketing-strategy/ecosystem/#IT)
- [エコシステム | IoT](http://iot-jp.com/iotsummary/iotbusiness/エコシステム/.html)
- [Aurelia Beta Week - Day 4 - Ecosystem - Blog | Aurelia](https://aurelia.io/blog/2015/11/19/aurelia-beta-week-day-4-ecosystem/)
- [Aurelia CLI を試してみた - Qiita](https://qiita.com/yutackall/items/e32af6a9ff02e0ffe760)
- [Visual Studio Code - Blog - Aurelia](https://aurelia.io/blog/2016/10/11/introducing-the-aurelia-vs-code-plugin/)
- [Aurelia Inspector - Google Chrome](https://chrome.google.com/webstore/detail/aurelia-inspector/ofemgdknaajmpeoblfdjkenbpcfbdefg)
- [プラットフォームとは - コトバンク](https://kotobank.jp/word/プラットフォーム-2749)
- [Plugins | Aurelia](https://aurelia.io/docs/plugins/)
- [【翻訳】あなたが求めていたリアクティブプログラミング入門](https://ninjinkun.hatenablog.com/entry/introrxja)
- [JavaScript フレームワークがデータバインディングを実現する4通りの手法](http://tech.nitoyon.com/ja/blog/2014/07/18/data-binding/)
- [DI・DIコンテナ、ちゃんと理解出来てる・・？ - Qiita](https://qiita.com/ritukiii/items/de30b2d944109521298f)
- [ビジネスロジック (business logic)とは｜「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典](https://wa3.i-3-i.info/word13666.html)
- [関連クラスと集約、コンポジション - ITmedia](http://www.itmedia.co.jp/im/articles/0303/04/news001.html)
- [プログレッシブエンハンスメント - Wikipedia](https://ja.wikipedia.org/wiki/プログレッシブエンハンスメント)
- [Pipeline Class - Router | Aurelia](https://aurelia.io/docs/api/router/class/Pipeline/)
- [Router Configuration | Aurelia](https://aurelia.io/docs/routing/configuration#basic-configuration)
- [SPAのルーティングの話 - SlideShare](https://www.slideshare.net/ushiboy/spa-76170499)
- [動的 (dynamic)とは｜「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典](https://wa3.i-3-i.info/word11857.html)
- [データドリブンとは - コトバンク](https://kotobank.jp/word/データドリヴン-1740924)
- [Document.createElement - MDN - Mozilla](https://developer.mozilla.org/ja/docs/Web/API/Document/createElement)