まあ、それは私がAngular Materialでアプリケーションを実行しようとしている約1週間です。
Angular材料とその神経を破壊するバグで非常に挑戦した後(angular V2、できるだけ早く)、今では私の心を吹き飛ばしています、なぜ616KB JS+CSS
Materializecssの代わりに254KB JS+CSS
Angular Material module)を使用する必要があるのか。
ご存知のとおり(間違っている場合は教えてください!):
可能な限り、DOM要素を変更しないようにしてください。
しかし、Angularマテリアルベースは多くのリフロー/リペイントを引き起こすディレクティブであり、実際に私が見たデモに基づいて、MaterializecssはAngular Material 。
それは明らかですAngularマテリアルはより角度に優しいもので、$mdThemingProvider
や...などの特定の機能を備えていますが、Angularマテリアルまたはそのパフォーマンス。
Angular Material?
Angular pureではなくMaterial Angular + Materializecss?
それらの結果に大きな変化は見られないので?
マテリアライズに進む
なぜ人々があなたの質問を否定したのか分かりません。これは正当な質問です。 Angularマテリアルは、名前に有名な「Angular」という単語が含まれているため、より魅力的な選択肢のように見えます。しかし、それは間違いなく正しい選択ではありません。 angularとの統合が向上する場合がありますが、優秀なプログラマーはMaterializeを同様に統合できます。
Angular Materialにはまだそれほど多くのコンポーネントがありません。実際、一部のコンポーネントについては、適切な例さえありません。
私はAngular Materialでプロジェクトを開始しましたが、2017年9月20日の時点でより包括的なライブラリであるため、Materialize aに移行しました。また、非常に多くの例とともに適切に文書化されています。
現在、MaterializeCSSはより多くの機能、アニメーション、およびコンポーネントを備え、より成熟して開発されていると感じています。
ただし、AngularマテリアルはToDoリストが大きいため追いつくことができますが、2018年以降は github readme status に基づいて発生しないようです。現在、2017年の終わり以降。
マテリアライズ 長所と短所
PRO:マテリアライズの良い点は、入力するものが取得するもの、つまりangularテンプレートは、ブラウザでどのように表示されるかを正確に示します。つまり、CSSを使用してスタイル設定するのは非常に簡単です。
CON:マテリアライズの悪い点はjqueryが必要なことです。つまり、angularを使用する場合は特別な設定が必要です。 webpackを使用している場合、provideプラグインを使用すると本当に簡単です
例:
new webpack.ProvidePlugin({
$ : 'jquery',
jQuery: 'jquery'
})
これにより、jqueryを使用するすべてのモジュールでjqueryが自動的に使用可能になるため、結局のところjqueryは悪いことではありません。
PRO:別の良い点は、html/cssをあるプロジェクトから別のプロジェクトに簡単に移植できることです。htmlとcssだけで、カスタムディレクティブがないためです。したがって、angularから反応するか、プレーンHTMLに切り替える場合は、すべてのマークアップとスタイルを維持しながら、Materializeを使用すると簡単です。
PRO:よく開発された、多くのコンポーネント、多くのスタイル、アプリにプロフェッショナルな洗練を与える多くの機能
PRO:非常に優れたドキュメントと優れた例。
PRO:開発者はGitHubの問題とPRに非常に敏感です
MaterializeCSSスコア:+4
角材 長所と短所
PRO:良い点は角度用に構築されているため、カスタムディレクティブangularスタイルがあります。ただし、これはまた、モジュールをインポートする必要があるためセットアップが必要ですが、これはangularモジュールと違いはありません。
PRO:開発者はGitHubの問題とPRにも非常に敏感です
CON:angularマテリアルの悪い点は、これらすべてのカスタムディレクティブを独自のhtmlおよびcssに変換することです。オーバーライドおよびカスタマイズするのは非常に難しいかもしれませんが、不可能ではありません。
CON:もう1つの悪い点は、コードが移植できないことです。これは、angular2 +でのみ機能するため、これでフレームワークを切り替えることはできません。すべてのマークアップとスタイルは角張っています。
CON:成熟し、完全なマテリアルエクスペリエンスを提供するには、さらに多くの進歩が必要です。
CON:不十分なドキュメント。例は限られており、例については最小限の説明があり、各例でできることに関してオプションは示されていません。
角度材料スコア:-2
私の意見では、この短い分析に基づいて、マテリアライズは、Angular2 +アプリを使用していても、2017年9月の時点で進むべき方法です。私はangular 4アプリでMaterializeを使用してきましたが、うまく機能します。これが役立つことを願っています。
Angular Materialは、Angularディレクティブを含むAngularモジュールです。 MaterializeCSSは小さなJavaScriptを備えた唯一のCSSライブラリですが、Angular専用に作成されました。
Angular Materialを使用する必要があります。これは、純粋なJavascriptまたはjQuery用に設計されたMaterializeCSSとは異なり、アプリで機能するすべてのコンポーネントのためです。