javascript - Angular 1のアプリケーションを作成する際に、Angular 2のどの側面を考慮すべきですか?
私は近いうちに、比較的大きく複雑なウェブアプリケーションを Angular 1.x で書き直さなければなりません。まだ Angular 1.x を学ばなければなりません。Angular 2.x は 1.x とは完全に互換性がないことは分かっていますが、Angular 2.x への書き直しに向けてできることは何かありますか?
例えば:
コード構造: 廃棄する必要のあるコードと再利用可能かもしれないコードを分けることはできますか? 現在のウェブアプリケーションにはREST APIがないので、少なくとも私が作成するREST APIは2.xバージョンで再利用可能だと想定しています。しかし、ここでのクライアント側のコードについては懸念しています。
言語の選択:おそらくブラウザで直接使用される純粋なJSを使うよう求められるでしょうが、Angular 1.x アプリを書くために TypeScript を使うのは賢明でしょうか、というのも Angular 2.x 自体はそれで書かれているからです。
他に何かありますか?
回答 #1
独自の「controllerAs」ベースのコントローラーを持つディレクティブを使用することをお勧めします。これにより、Angular 2.0のコンポーネントスタイルに近づきます。実際、とても似ています。私が言いたいことの例は以下の通りです:
http://www.syntaxsuccess.com/viewarticle/migrating-from-angular-1.x-to-angular-2.0
回答 #2
Angular 2.x を Typescript で書く理由は、単にそれを好む場合、コードに貢献したい場合、または何かがうまく動作していない場合に、Angular 2.x のコードを読んでよりよく理解するため以外にはありません。Typescript は JavaScript を速くしたりするわけではなく、単に静的型付けを提供するだけで、使用している IDE のような開発ツールを支援するために使われます。Visual Studio を想像してください。
私は、ES6の使用を始めることを提案します。ES6はクラス(まあ構文上の糖衣ですが、jsは依然としてjsです)を導入しており、Angular 2が使用しています。ES6コードをES5に変換するトランスパイラを使うことで、ますます多くの人々が使用するようになると思います(Crockfordや他の人々にとっては恐ろしいことですが)。
transclude、compile/pre-link のような複雑なディレクティブのものは使わず、シンプルにしておきましょう。Angular 2.x はプログラマを混乱させる新しい方法を発明する考え方を減らしているためです。正確には同じものではありませんが、Angular 2.x はコンポーネントに基づいており、それはテンプレートやビューの使い方の点でディレクティブに似ています。
ES6のimport/exportに慣れ親しむ。
$scope の使用は避けてください。現在の形では削除されます。
実際、それについてもう少し詳しくブログ記事を書きました、http://www.alajmovic.com/2015/07/18/preparing-for-angular-2.html