フロントエンドフレームワークの戦い(2022)

May 09 2022
この調査を行った理由のコンテキストを設定するこの調査がどの観点から開始され、誰かがそれからどのように利益を得ることができるかを理解しましょう。私の現在の組織では、コンソール(Webサイト)はAngular(9。

なぜ私がこの調査を行ったのかについてのコンテキストを設定するそれでは、
この調査がどの観点から始まったのか、そして誰かがそれからどのように利益を得ることができるのかを理解しましょう。
私の現在の組織では、コンソール(Webサイト)はAngular(9.0)フレームワークで構成されており、多くの機能があり、新しい機能が月ごとに追加され続けています。プロジェクトのアーキテクチャはしばらくの間改良されておらず、この成長するプロジェクトを管理するには、より良いプロジェクトアーキテクチャが必要になるかもしれないと感じています。今、努力が払われているのであれば、現在のニーズと要件により適したフレームワークを見つけることができるかどうかを確認することもできます。
また、将来、新しいプロジェクトに取り組み始めて、新たなスタートを切る機会があれば、そのシナリオでどのフレームワークが役立つか、プロジェクトをWebコンポーネントやマイクロフロントエンドなどとリンクさせる方法もあります。

したがって、このすべてを念頭に置いて、この調査は進行し、要件に従ってすべてのフレームワークの長所と短所を比較および分析しました。私たちが着陸する場所を見つけましょう。

どのようなオプションがありますか?

2022年1月に座って、私たちが考えているよりも次のフレームワークがあります。それらは、考慮するには若すぎるものや、現在ほとんど生き残っていない古いものの中で、現在最も人気があり、使用されているためです。
1)Angular
2)React
3)Vue
4)Svelte

ANGULAR

Angularは、現在の会社のプロジェクトで使用している唯一のフレームワークのヒーローです。しかし、Angularにはいくつかの短所があります。Angularの長所と短所を確認しましょう

長所-:

1-:Angularは、すべての取引(ほぼすべて)のジャックと見なすことができます。これは、SSRであるか、大規模なアーキテクチャを処理するか、コンポーネントまたは状態管理またはルーティングでアプリケーションを破壊するかどうかにかかわらず、すべてを処理するためです。それらのほとんどはそれがネイティブであり、他のライブラリ/フレームワークを使用して実行する必要があるものもありますが、すべてを実行します。

2-:これは私たちに非常に固有であり、すでに経験豊富なチームがいるので、新しいプロジェクトを開始する場合、トレーニング部分は問題になりません。

短所-:

1-:パフォーマンス—すべての変更検出とコードの記述方法が正しく行われず、アプリケーションが適切に管理されておらず、最初のペイント時間が他のフレームワークと比較してはるかに長い場合、Angularアプリでパフォーマンスの問題が見つかります。

2-:サイズ—独自のサイズと依存関係がフレームワークのコアに追加され、ビルド時間とバンドルサイズが増加します。また、バンドルサイズとビルド時間の増加は、あらゆるアプリケーションにとって大きな危険信号です。

3-:クロスプラットフォームエコシステム—モバイルおよびWebアプリケーションを作成したい場合、モバイルおよびデスクトップアプリソリューションはあまり広く受け入れられていません。したがって、Reactのような他のフレームワークはそれをうまく処理するため、この点はこれの欠点になります。クロスプラットフォームのスケーラビリティは、近い将来に達成しようとしているものです。

4-:この点は一部の人にとって矛盾する可能性がありますが、最新の傾向によると、Angularはそれを使用するユーザーの数によって日々減少しており、その人気は他の新しいフレームワークに引き継がれているため、数年後にはアウトバウンドテクノロジーである可能性があり、テクノロジーがアウトバウンドである場合、組織として新しい人材を採用することは困難な場合があります。

REACT

Reactは現在最もホットなフレームワーク(またはライブラリ?)であり、ほとんどの人が賢明と呼ぶものではないとは考えていません。そこで、私たちは手を試してみました。Reactの長所と短所をいくつか紹介します。

長所-:

1-:サイズ:つまり、Reactは非常に軽量なライブラリであり、AngularやVueにあるルーティングやhttpクライアント、ディレクティブ、パイプなどの機能が組み込まれていません。したがって、サイズは最初は非常に小さく、必要に応じて大きくすることができます。

2-:Reactサーバーでは、サイドレンダリングはAngularよりも簡単で広く使用されています。また、NextJSとGatsbyは、Reactの上で機能する素晴らしいフレームワークであるため、Reactのもう1つのプラスポイントです。

3-:クロスプラットフォームエコシステム—ReactとReactNativeは非常に使いやすく、コードはWebアプリケーションとハイブリッドモバイルアプリケーション間で非常に簡単に共有できます。

4-:状態管理はreactに優れており、状態を管理するための最も有名なツールであるReduxは、Reactを念頭に置いて作成されましたが、他のフレームワークでも機能しますが、reactを使用すると他のどのフレームワークよりも関連性が高くなります。

5-:React Communityは巨大です。多くの開発者がチュートリアルやライブラリを作成しており、そこから誰もが助けを得ることができます。また、コミュニティがこれほど急速に拡大している場合は、新しい人材の採用が容易になります。

6-:このための証拠は見つかりませんでしたが、私が読んだところによると、仮想DOMと軽量ライブラリにより、ほとんどの場合、ReactのパフォーマンスはAngularよりも優れています。

短所-

1-:Reactには固定構造フォルダーがなく、使用されるツールのほとんどはサードパーティのライブラリであるため、あまり意見がなく、同じことを行う複数の方法があります。したがって、大規模なプロジェクトを構築して構造化するのは困難な作業になります。経験の少ない複雑なプロジェクト。

VUE

Vueも最近人気を博し、このリストで検討するのに十分なgithubスターを持っています。Vueは、以前はGoogleのAngularコアチームで働いていた人によって開発され、その後、Angularの優れた部分とReactに似た部分でフレームワークを作成しました。

長所-:

1-:Vueの学習曲線はAngularの背景からのものではなく、ReactとAngularが混在しています。これは、すべてのコードを1つのファイルで定義する、またはHTMLとロジックの部分に2つの別々のファイルを使用するJSXのような形式を使用するオプションがあるためです。 Angularと同様に、Angularと同様のディレクティブ、パイプ、ルーティングがあります。そのため、AngularからReactへの移行を検討しているチームによって主に選択されますが、Vueは着陸するための優れた中間地点を提供します。

2-:最初のペイント時間の点でReactよりもパフォーマンスが優れています。

3-:Vueのコミュニティも、Reactのように急速に増加しています。

4-:Reactと比較すると、大きなアプリを簡単に作成できます

短所-:

1-:Reactと比較すると、ライブラリ、チュートリアル、コミュニティヘルプはReactよりも少なく、コミュニティの採用が少ないため、ReactではVueよりも簡単になりますが、それでも日々増加しているため、大きな問題ではありません。

2-:Webおよびモバイルアプリケーションのエコシステムは良くなく、SSRにとってもそのライブラリはNextJSほど良くありません

SVELTE

Svelteはリストの中で最年少の候補ですが、軽量で優れたパフォーマンスを発揮することで人気を博しています。

長所-:

1-:これはJSコンパイラであるため、最初のペイント時間と他のメトリックは現在他のどのフレームワークよりも優れています。したがって、速度を犠牲にすることなく比較的小さなアプリを作成する必要がある場合は、これが最適な方法です。

2-:学習曲線は、このリストの他のどのフレームワークよりも短いです。

3-:より少ない行のコードを記述し、より多くの作業を行うことができるため、バグが発生する可能性が低くなります。

4-:非常に軽量なコンパイラであるため、バンドルサイズは非常に小さくなります。

短所-:

1-:Svelteのコミュニティは今のところ非常に少なく、簡単に実行できなかったものを実行するための適切なライブラリとチュートリアルを見つけることが課題になる可能性があります。また、クロスプラットフォームのエコシステムはあまり良くありません。現在、人気が低くなっているため、人材を採用するのは困難です。したがって、他のフレームワークのように成長する時間はまだあります。

これは、私たちのニーズに基づいたすべてのフレームワーク間の比較です

結論

だから今、私はどのフレームワークを選ぶかについて2セントを与えます。
私によると、 Angularは最高のフォルダー構造とそれが提供する社内機能を備えているため、本番レベルの大規模なアプリケーションを作成するための2022年の最高のフレームワークを今でも受け継いでいます。
フレームワークを学ぶための旅を始めたばかりで、目的が仕事を得ることである場合、Reactは学びやすく、Reactの仕事でお金が雨が降っているので、今すぐ学ぶのに最適なフレームワークを引き継いでいます(私はAngular開発者です)すすり泣き)。
これを除いて、あなたがAngular Projectを持っていて、新しいフレームワークにジャンプしたいと思っていて、Reactがあなたを魅了しているなら、そこで待ってください!Vue
を使用するAngularから移行する場合は、Reactの代わりにReactに非常に似ていますが、Angularから多くのものを使用します(GoogleのAngularのコアチームの開発者によって作成されます)
。アプリケーションのごく一部を構築するためのフレームワークですが、現在利用可能な最高のパフォーマンス(おそらく支払いゲートウェイなど)を備えている場合は、これらすべてで最高のパフォーマンスベンチマークを備えているSvelteを使用してください!

これが何らかの形でお役に立てば幸いです。

© Copyright 2021 - 2022 | hachiwiki.com | All Rights Reserved