Web開発者は技術スタックで何を探していますか?それは主に2つのタイプのパフォーマンスに帰着すると思います:あなたは迅速な開発を望み、そしてあなたはUIをきびきびとさせたいです。簡単そうに聞こえます。
しかし、暗黙のコンテキストは、何よりも正しく機能する一連のメカニズムです。 2019年のすべてのJavaScriptフレームワークとテクノロジーの下には、関数型プログラミングとオブジェクト指向プログラミング、MVCとMVPとMVVMなどのパラダイムの中からの選択肢があります。これらの選択は、フロントエンド開発には多くの落とし穴があるため、自分自身を傷つけないようにするための最良の方法として、さまざまなメタ開発者によって予告されています。
状態の管理が難しいと思わない場合は、すべての複雑なシステムのすべての問題の80%が再起動によって修正されるという事実を考慮してください。
— stuarthalloway(@stuarthalloway) 2019年6月1日
言い換えると、 フロントエンド開発者 2020年には、彼らが常に必要としていたものが必要になります。複雑な状況でも、状態管理をシンプルで信頼できるものにするテクノロジーです。
s corp vs llc vs c corp
多くの場合、私たちは単なる人間が使用するJSフレームワークを選択する必要があります 今 、そして数週間の研究の後ではありません。その場合、デフォルトは明確です:あなたが知っていることで行ってください。
しかし、私たちが知っていることに幻滅したとき、私たちは一歩後退するかもしれません。「依存性注入は私にとって理にかなっているので、どのDIベースのフレームワークが最もスムーズな開発者エクスペリエンスを提供しますか?」 (あなたが本当にそれを食べたなら、あなたはかもしれません JSフレームワークを使用せずに独自のDIを実行する 。)
UXリサーチャーとは
あるいは、私たちが精通しているスタックは、パフォーマンスの点でもはやそれを削減していないのかもしれません。特に、人口の増え続けるセグメントをサポートすることに興味がある場合は、 平均的な開発者が使用するものよりも強力でないマシン 、「ローエンドのハードウェアで適度に高速なUXを提供するフロントエンドJavaScriptフレームワークはどれですか?」と質問しているかもしれません。
ほとんどの場合、時間よりも多くの選択肢があります それらの中から適切に選択する 。中から選ぶだけでも Vue.js 、 React 、および Angular 新規参入者にとって難しい:見つけるのは簡単です Vue.jsがすべてのプロジェクトに最適である理由を主張する人、質問はありません 見つけるのも同じくらい簡単です Reactから切り替えてから2年後、あまり確信が持てない人 。それでも、他の人はそれを主張するでしょう 最善のアプローチは、フレームワークを完全に回避することです またはに さまざまな「マイクロフロントエンド」からアプリを作成する 。では、特にビッグスリー以外の選択肢を受け入れる場合は、これをどのようにナビゲートしますか?
網羅的にするのではなく、ApeeScapeネットワークのプロの開発者がJSコンテキスト内で経験したさまざまなクライアント側のアプローチ(AMP、Svelte、Cycle.js、Mithril、Hyperapp、Preact、Aurelia)を集めました。 。
主要な記事のためにまとめた比較表では、私は当初、各著者に、彼らがカバーしたJSフレームワークがその願望を実現したと思うかどうかを尋ねました。私はこれを省略しました。 すべての場合の答えは はい! これが本当なら、なぜこれらの異なるJavaScriptフレームワークを使用する人が増えないのでしょうか。
信頼できる使用状況データを取得することは常に困難ですが、これらのプロジェクトはすべて、実用的な代替手段として十分に確立されています。確かに、専門的な文脈では、コードを維持または拡張するために適切な経験を持つ人を簡単に雇うことができます。これは、特にプロジェクトマネージャーにとって、かなりの重みを持ちます。
しかし、この考え方に対する確かな反論は、 保守性は必ずしも人気についてではありません。 ゲームは常に変化しており、特定の依存関係に特化していなくても、将来の開発者が理解できるコードを作成することがより重要です。結局のところ、今から3年後、Angular開発者はレガシープロジェクトに取り組むのを待つことはありません。新しいアーキテクチャだけであっても、それまでに焦点を移してしまうでしょう。 以内に Angularの世界。
私たちの著者の何人かは、彼らがここでカバーする選択肢が「次の大きなもの」になることは決してないだろうと完全に想定しています。代わりに、そこでの希望は、それらの存在が最も人気のあるJSフレームワークにそれらの最高の機能を採用するように促すことです。彼らは私たちのタイトルの質問に答えるでしょう:残酷に正直に言うと、 そうでないかもしれない。 それにもかかわらず、他の技術的代替手段と同様に、プロの開発者はそれらを探索することから多くを学ぶことができます。
また、あなたは決して知りません—これらのアプローチのいくつかはお互いから学んでいます。 Vasiliy Ruzanovは、メインの記事で、ElmアーキテクチャがHyperappを介してフロントエンド開発にどのように取り組んでいるかについて詳しく説明しています。あるミスリルJS開発者はそれを祝いました 新しいSvelteJSには基本的にMithrilJSストリームがあります ; Justen Robertsonが説明しているように、ストリームもCycle.jsのアーキテクチャの鍵です。
代替JavaScript技術に固有の小規模な開発コミュニティは、主流のJSフレームワークよりも機敏にギアをシフトできる可能性があります。それは彼らが牽引力を得るのを助けるでしょうか?見なければなりません。
近接類似性の連続性と閉鎖のゲシュタルト原理を説明する
2020年の本格的なプロジェクトでは、これらの最新のJSフレームワークやその他のフロントエンドテクノロジーを使用することになります。あるいは、それらを試して主流を維持することにします。いずれにせよ、2019年のフロントエンドのまとめで、少なくとも刺激的な何か、つまりウェブ開発を新しい方法で見るのに役立つ何かを発見できることを願っています。あなたは見つけるでしょう フロントエンドフレームワークの比較 対象となる各テクノロジーのアップルツーアップルコンパニオンデモが付属しています。楽しい!
本編へ→JavaScriptは、ブラウザーによってネイティブにサポートされる唯一の汎用言語ですが、TypeScript、Dart、Haxe、Erlang、Clojureなど、数十の言語と拡張機能がJavaScriptにコンパイル(または「トランスパイル」)されます。
フラッシュ開発者とフラッシュアニメーター
ほとんどの場合、PreactはReactよりも高速です。一部のエッジケースでは、速度が遅くなります。一方、バンドルサイズがかなり小さいため、読み込み時間が速くなります。
数えるには多すぎて、毎月さらに多くが作成されます。ここで紹介する代替案はすべて何年にもわたって積極的に開発されてきましたが、Vue.js、React、Angularと比較すると、比較的ニッチです。
Vue.js、React、Angularは最も広く使用されている3つのJSフレームワークですが、使用数を正確に特定することは不可能です。その上、質問自体はあいまいです:私たちはプロジェクトを数えていますか?彼らの開発者?彼らのエンドユーザー?エンドユーザーがそれを使用する1日の平均時間は?