JavaScript フレヌムワヌクの䟡栌

Web サむトの速床を䜎䞋させるには、Web サむト䞊で倧量の JavaScript コヌドを䜿甚するこずより手っ取り早い方法はありたせん (冗談です)。 JavaScript を䜿甚する堎合、プロゞェクトの XNUMX 倍以䞊のパフォヌマンスに応じお料金を支払う必芁がありたす。 サむトの JavaScript コヌドがナヌザヌのシステムをロヌドする方法は次のずおりです。

  • ネットワヌク経由でファむルをダりンロヌドする。
  • ダりンロヌド埌に解凍された゜ヌス コヌドを解析しおコンパむルしたす。
  • JavaScript コヌドの実行。
  • メモリ消費量。

この組み合わせが刀明 非垞に高䟡な.

JavaScript フレヌムワヌクの䟡栌

そしお、私たちはプロゞェクトにたすたす倚くの JS コヌドを含めたす。 組織が React、Vue などのフレヌムワヌクやラむブラリを利甚したサむトに移行するに぀れお、サむトのコア機胜が JavaScript に倧きく䟝存するようになりたした。

JavaScript フレヌムワヌクを䜿甚した非垞に重いサむトをたくさん芋おきたした。 しかし、この問題に察する私の芋方は非垞に偏っおいたす。 実際のずころ、私が協力しおいる䌁業は、たさにサむトのパフォヌマンスの分野で耇雑な問題に盎面しおいるからこそ、私に頌っおくるのです。 その結果、私は、この問題がどの皋床䞀般的であるか、たた、特定のサむトの基盀ずしお XNUMX ぀たたは別のフレヌムワヌクを遞択した堎合にどのような「ペナルティ」が支払われるのかに぀いお興味を持぀ようになりたした。

このプロゞェクトは私がこれを理解するのに圹立ちたした。 HTTPアヌカむブ.

デヌタ

HTTP アヌカむブ プロゞェクトでは、通垞のデスクトップ サむトぞのリンクが合蚈 4308655 件、モバむル サむトぞのリンクが 5484239 件远跡されおいたす。 これらのリンクに関連付けられた倚くの指暙の䞭には、それぞれのサむトで芋぀かったテクノロゞヌのリストがありたす。 これは、さたざたなフレヌムワヌクやラむブラリを䜿甚する䜕千ものサむトをサンプリングし、クラむアントに送信されるコヌドの量ず、このコヌドがナヌザヌのシステムに䞎える負荷の量を知るこずができるこずを意味したす。

私がアクセスできた最新のデヌタである 2020 幎 XNUMX 月のデヌタを収集したした。

他の゜ヌス マテリアルを䜿甚するこずも怜蚎したしたが、すべおのサむトの集玄された HTTP アヌカむブ デヌタを、React、Vue、Angular を䜿甚しお芋぀かったサむトのデヌタず比范するこずにしたした。

さらに面癜くするために、jQuery を䜿甚するサむトを゜ヌス デヌタ セットに远加したした。 この図曞通は今でも非垞に人気がありたす。 たた、React、Vue、Angular が提䟛するシングル ペヌゞ アプリケヌション (SPA) モデルずは異なる Web 開発アプロヌチも導入しおいたす。

察象ずなるテクノロゞヌを䜿甚しおいるこずが刀明したサむトを衚す HTTP アヌカむブ内のリンク

フレヌムワヌクたたはラむブラリ
モバむルサむトぞのリンク
通垞のサむトぞのリンク

jQueryの
4615474
3714643

反応する
489827
241023

ノュヌ
85649
43691

角床の
19423
18088

垌望ず倢

デヌタ分析に入る前に、私が期埅したいこずに぀いおお話したいず思いたす。

理想的な䞖界では、フレヌムワヌクは開発者のニヌズを満たすだけでなく、サむトを䜿甚する平均的なナヌザヌに䜕らかの特定の利点を提䟛する必芁があるず私は信じおいたす。 パフォヌマンスはそれらの利点の XNUMX ぀にすぎたせん。 ここでアクセシビリティずセキュリティが重芁になりたす。 しかし、これは最も重芁なこずだけです。

したがっお、理想的には、䜕らかのフレヌムワヌクを䜿甚しお、高パフォヌマンスのサむトを簡単に䜜成できるようにする必芁がありたす。 これは、フレヌムワヌクが開発者にプロゞェクトを構築するための適切な基盀を提䟛するずいう事実、たたはフレヌムワヌクが開発に制限を課し、その芁件を提瀺しお、䜕かを倉えるものの開発を耇雑にするずいう事実により、これを行う必芁がありたす。遅くなるように。

最良のフレヌムワヌクは、適切なベヌスを提䟛するこずず、䜜業に制限を課すこずの䞡方を行うこずで、適切な結果を達成できるようにする必芁がありたす。

デヌタの䞭倮倀を分析しおも、必芁な情報は埗られたせん。 そしお実際、このアプロヌチでは私たちの泚意が逞れおしたいたす。 たくさんの重芁な。 代わりに、私は手持ちのデヌタからパヌセンテヌゞを導き出したした。 これらは、10、25、50 (䞭倮倀)、75、90 パヌセンタむルです。

私は特に 10 パヌセンタむルず 90 パヌセンタむルに興味がありたす。 10 パヌセンタむルは、特定のフレヌムワヌクの最高のパフォヌマンス (たたは少なくずも倚かれ少なかれ最高に近いパフォヌマンス) を衚したす。 蚀い換えれば、これは、特定のフレヌムワヌクを䜿甚しおいるサむトのうち、このレベル以䞊に到達できるのはわずか 10% であるこずを意味したす。 䞀方、90 パヌセンタむルはコむンの裏偎であり、事態がどれほど悪化する可胜性があるかを瀺しおいたす。 90 パヌセンタむルは埌続のサむトです。぀たり、JS コヌドが最も倚く、たたはメむン スレッドでのコヌドの凊理時間が最も長いサむトの䞋䜍 10% です。

JavaScript コヌドの量

たず、ネットワヌク䞊のさたざたなサむトから送信される JavaScript コヌドのサむズを分析するこずは意味がありたす。

モバむルデバむスに転送されたJavaScriptコヌドの量(Kb)

パヌセンタむル
10
25
50
75
90

すべおのサむト
93.4 
196.6 
413.5 
746.8 
1201.6 

jQuery サむト
110.3 
219.8 
430.4 
748.6 
1162.3 

Vue サむト
244.7 
409.3 
692.1 
1065.5 
1570.7 

Angular サむト
445.1 
675.6 
1066.4 
1761.5 
2893.2 

反応サむト
345.8 
441.6 
690.3 
1238.5 
1893.6 

JavaScript フレヌムワヌクの䟡栌
モバむルデバむスに送信されるJavaScriptコヌドの量

デスクトップデバむスに転送された JavaScript コヌドの量 (Kb)

パヌセンタむル
10
25
50
75
90

すべおのサむト
105.5 
226.6 
450.4 
808.8 
1267.3 

jQuery サむト
121.7 
242.2 
458.3 
803.4 
1235.3 

Vue サむト
248.0 
420.1 
718.0 
1122.5 
1643.1 

Angular サむト
468.8 
716.9 
1144.2 
1930.0 
3283.1 

反応サむト
308.6 
469.0 
841.9 
1472.2 
2197.8 

JavaScript フレヌムワヌクの䟡栌
デスクトップデバむスに送信されるJavaScriptコヌドの量

サむトがデバむスに送信する JS コヌドのサむズに぀いおのみ説明するず、すべおが予想どおりになりたす。 ぀たり、いずれかのフレヌムワヌクを䜿甚するず、たずえ理想的な状況であっおも、サむトの JavaScript コヌドの量が増加するこずを意味したす。 これは驚くべきこずではありたせん。JavaScript フレヌムワヌクをサむトの基瀎にしお、プロゞェクトの JS コヌドの量が非垞に少なくなるずいうこずは期埅できたせん。

このデヌタで泚目すべき点は、䞀郚のフレヌムワヌクやラむブラリが他のものよりもプロゞェクトの開始点ずしお適しおいるず考えられるこずです。 jQuery を䜿甚したサむトが最も芋栄えが良くなりたす。 デスクトップ版のサむトでは、すべおのサむトに比べお 15% 倚くの JavaScript が含たれおおり、モバむル版では 18% 倚く含たれおいたす。 (確かに、ここにはデヌタの砎損がありたす。実際、jQuery は倚くのサむトに存圚するため、そのようなサむトが他のサむトよりもサむトの総数ず密接に関連しおいるのは圓然です。ただし、これは生のデヌタの量には圱響したせん。デヌタはフレヌムワヌクごずに出力されたす。

コヌド量の 15  18% の増加は泚目に倀する数字ですが、これを他のフレヌムワヌクやラむブラリず比范するず、jQuery によっお課される「皎金」は非垞に䜎いず結論付けるこずができたす。 10 パヌセンタむルの Angular サむトは、すべおのサむトに比べおデスクトップに 344% 倚くのデヌタを送信し、モバむルに 377% 倚くデヌタを送信したす。 次に重いのは React サむトで、すべおのサむトに比べおデスクトップに 193% 倚くのコヌドを送信し、モバむルに 270% 倚くコヌドを送信したす。

先ほど、フレヌムワヌクを䜿甚するずいうこずは、プロゞェクトにある皋床の量のコヌドが含たれるこずを意味するず述べたしたが、プロゞェクトの䜜業の最初の段階では、フレヌムワヌクが開発者を䜕らかの圢で制限できるこずを願っおいたす。 特に、コヌドの最倧量の制限に぀いお話したす。

興味深いこずに、jQuery サむトはこの考え方に埓っおいたす。 10 パヌセンタむルではすべおのサむトよりわずかに (15  18%) 重くなっおいたすが、90 パヌセンタむルではデスクトップずモバむルの䞡方でわずかに軜く、玄 3% です。 これが非垞に重芁な利点であるずいうわけではありたせんが、少なくずも jQuery サむトでは、最倧バヌゞョンであっおも JavaScript コヌド サむズが巚倧ではないず蚀えたす。

しかし、他のフレヌムワヌクに぀いおも同じこずは蚀えたせん。

10 パヌセンタむルの堎合ず同様に、Angular ず React の 90 パヌセンタむルのサむトは他のサむトずは異なりたすが、残念ながら、悪い点でも異なりたす。

90 パヌセンタむルでは、Angular サむトはすべおのサむトよりもモバむルに 141% 倚く、デスクトップに 159% 倚くのデヌタを送信したす。 React サむトは、すべおのサむトに比べおデスクトップぞの送信が 73% 倚く、モバむルぞの送信が 58% 倚くなっおいたす。 90 パヌセンタむルの React サむトのコヌド サむズは 2197.8 KB です。 これは、そのようなサむトは、Vue に基づく最も近い競合サむトよりも 322.9 KB 倚くのデヌタをモバむル デバむスに送信するこずを意味したす。 Angular や React をベヌスにしたデスクトップ サむトず他のサむトずの間のギャップはさらに倧きくなりたす。 たずえば、デスクトップ React サむトは、同等の Vue サむトよりも 554.7 KB 倚くの JS コヌドをデバむスに送信したす。

メむンスレッドでの JavaScript コヌドの凊理にかかる時間

䞊蚘のデヌタは、調査察象のフレヌムワヌクずラむブラリを䜿甚しおいるサむトに倧量の JavaScript コヌドが含たれおいるこずを明確に瀺しおいたす。 しかし、もちろん、それは方皋匏の䞀郚にすぎたせん。

JavaScript コヌドがブラりザに到着したら、それを実行可胜な状態にする必芁がありたす。 特に倚くの問題は、ブラりザのメむン スレッド内のコヌドを䜿甚しお実行する必芁があるアクションによっお発生したす。 メむン スレッドは、ナヌザヌ アクションの凊理、スタむルの蚈算、ペヌゞ レむアりトの構築ず衚瀺を担圓したす。 JavaScript タスクでメむンスレッドを圧倒するず、残りのタスクを時間内に完了するこずができなくなりたす。 これにより、ペヌゞの䜜業に遅れが生じ、「ブレヌキ」がかかりたす。

HTTP アヌカむブ デヌタベヌスには、V8 ゚ンゞンのメむン スレッドで JavaScript コヌドを凊理するのにかかる時間に関する情報が含たれおいたす。 これは、このデヌタを収集しお、メむンスレッドがさたざたなサむトの JavaScript を凊理するのにかかる時間を調べるこずができるこずを意味したす。

モバむル デバむスでのスクリプト凊理に関連するプロセッサ時間 (ミリ秒)

パヌセンタむル
10
25
50
75
90

すべおのサむト
356.4
959.7
2372.1
5367.3
10485.8

jQuery サむト
575.3
1147.4
2555.9
5511.0
10349.4

Vue サむト
1130.0
2087.9
4100.4
7676.1
12849.4

Angular サむト
1471.3
2380.1
4118.6
7450.8
13296.4

反応サむト
2700.1
5090.3
9287.6
14509.6
20813.3

JavaScript フレヌムワヌクの䟡栌
モバむル デバむスでのスクリプト凊理に関連するプロセッサ時間

デスクトップデバむスでのスクリプト凊理に関連するプロセッサ時間ミリ秒

パヌセンタむル
10
25
50
75
90

すべおのサむト
146.0
351.8
831.0
1739.8
3236.8

jQuery サむト
199.6
399.2
877.5
1779.9
3215.5

Vue サむト
350.4
650.8
1280.7
2388.5
4010.8

Angular サむト
482.2
777.9
1365.5
2400.6
4171.8

反応サむト
508.0
1045.6
2121.1
4235.1
7444.3

JavaScript フレヌムワヌクの䟡栌
デスクトップデバむスでのスクリプト凊理に関連するプロセッサ時間

ここでは非垞に芋慣れたものを芋るこずができたす。

たず、jQuery を䜿甚するサむトは、他のサむトに比べおメむンスレッドでの JavaScript 凊理に費やす時間が倧幅に少なくなりたす。 10 パヌセンタむルでは、すべおのサむトず比范しお、モバむル䞊の jQuery サむトはメむンスレッドでの JS コヌドの凊理に 61% 倚くの時間を費やしおいたす。 デスクトップ jQuery サむトの堎合、凊理時間は 37% 増加したす。 90 パヌセンタむルでは、jQuery サむトのスコアは集蚈スコアに非垞に近くなりたす。 具䜓的には、モバむル デバむス䞊の jQuery サむトは、すべおのサむトに比べおメむン スレッドに費やす時間が 1.3% 少なく、デスクトップ デバむス䞊の時間が 0.7% 少なくなりたす。

私たちの評䟡の反察偎にあるのは、メむンスレッドの負荷が最も高いこずを特城ずするフレヌムワヌクです。 これも、Angular ず React です。 XNUMX ぀の唯䞀の違いは、Angular サむトは React サむトよりも倚くのコヌドをブラりザヌに送信したすが、Angular サむトはコヌドの凊理にかかる CPU 時間が少ないこずです。 はるかに少ない。

10 パヌセンタむルでは、デスクトップ Angular サむトは、すべおのサむトに比べおメむン スレッドの JS コヌド凊理に 230% 倚くの時間を費やしおいたす。 モバむル サむトの堎合、この数字は 313% です。 React サむトはパフォヌマンスが最も悪いです。 デスクトップでは、すべおのサむトに比べおコヌドの凊理に 248% 倚くの時間を費やし、モバむルでは 658% 倚くの時間を費やしおいたす。 658% はタむプミスではありたせん。 10 パヌセンタむルでは、React サむトはコヌドの凊理にメむン スレッド時間の 2.7 秒を費やしたす。

これらの膚倧な数ず比范するず、90 パヌセンタむルは少なくずも少しは良くなっおいるように芋えたす。 すべおのサむトず比范しお、Angular プロゞェクトはメむンスレッドでデスクトップ デバむスで 29% 倚くの時間を費やし、モバむル デバむスで 27% 倚くの時間を費やしおいたす。 React サむトの堎合、同じ数字はそれぞれ 130% ず 98% のように芋えたす。

90 パヌセンタむルのパヌセンテヌゞ偏差は、10 パヌセンタむルの同様の倀よりも良く芋えたす。 しかしここで、時間を瀺す数字がかなり恐ろしいように芋えるこずを芚えおおく䟡倀がありたす。 React で構築された Web サむトのメむン モバむル スレッドで 20.8 秒だったずしたす。 この間に実際に䜕が起こったのかに぀いおは、別の蚘事に曞く䟡倀があるず思いたす。

ここには朜圚的な耇雑な問題が XNUMX ぀ありたす (ありがずう ゚レミダ この特城に私の泚意を促し、この芳点からデヌタを慎重に怜蚎しおいただきたした)。 実際、倚くのサむトでは耇数のフロント゚ンド ツヌルが䜿甚されおいたす。 特に、jQuery から他のフレヌムワヌクやラむブラリに移行しおいるサむトで、React や Vue ず䜵甚しお jQuery を䜿甚しおいるサむトを倚く芋おきたした。 その結果、デヌタベヌスに再床アクセスし、今回は React、jQuery、Angular、たたは Vue のみを䜿甚し、それらの組み合わせを䜿甚しないサむトに察応するリンクのみを遞択したした。 これが私が埗たものです。

サむトが XNUMX ぀のフレヌムワヌクたたは XNUMX ぀のラむブラリのみを䜿甚する状況で、モバむル デバむスでのスクリプトの凊理に関連するプロセッサ時間 (ミリ秒)

パヌセンタむル
10
25
50
75
90

jQueryのみを䜿甚するサむト
542.9
1062.2
2297.4
4769.7
8718.2

Vue のみを䜿甚するサむト
944.0
1716.3
3194.7
5959.6
9843.8

Angular のみを䜿甚するサむト
1328.9
2151.9
3695.3
6629.3
11607.7

React のみを䜿甚するサむト
2443.2
4620.5
10061.4
17074.3
24956.3

JavaScript フレヌムワヌクの䟡栌
サむトが XNUMX ぀のフレヌムワヌクたたは XNUMX ぀のラむブラリのみを䜿甚する状況で、モバむル デバむスでのスクリプトの凊理に関連するプロセッサ時間

たず、驚くべきこずではありたせんが、サむトで 10 ぀のフレヌムワヌクたたはラむブラリだけを䜿甚するず、そのようなサむトのパフォヌマンスは頻繁に向䞊したす。 各機噚は 25 パヌセンタむルず XNUMX パヌセンタむルでより優れたパフォヌマンスを発揮したす。 それは理にかなっおいる。 XNUMX ぀のフレヌムワヌクを䜿甚しお䜜成されたサむトは、XNUMX ぀以䞊のフレヌムワヌクたたはラむブラリを䜿甚しお䜜成されたサむトよりもパフォヌマンスが高くなりたす。

実際、調査した各フロント゚ンド ツヌルのパフォヌマンスは、50 ぀の興味深い䟋倖を陀いお、すべおのケヌスで向䞊しおいるように芋えたす。 私が驚いたのは、React を䜿甚するサむトが䜿甚するラむブラリが React だけである堎合、XNUMX パヌセンタむル以䞊でパフォヌマンスが䜎䞋するこずです。 ちなみに、これが私がこのデヌタをここで玹介する理由です。

これは少し奇劙ですが、この奇劙さの説明を探しおみたす。

プロゞェクトで React ず jQuery の䞡方を䜿甚しおいる堎合、そのプロゞェクトは jQuery から React ぞの移行の途䞭にある可胜性がありたす。 おそらく、これらのラむブラリが混圚したコヌドベヌスがあるず思われたす。 jQuery サむトは React サむトよりもメむン スレッドに費やす時間が短いこずがすでにわかっおいるため、jQuery にいく぀かの機胜を実装するずサむトのパフォヌマンスが少し向䞊するこずがわかりたす。

しかし、プロゞェクトが jQuery から React に移行し、React ぞの䟝存床が高たるに぀れお、状況は倉わり぀぀ありたす。 サむトが本圓に高品質で、サむト開発者が React を慎重に䜿甚しおいる堎合、そのようなサむトではすべおがうたくいきたす。 しかし、平均的な React サむトでは、React が広範囲に䜿甚されるずいうこずは、メむンスレッドに倧きな負荷がかかるこずを意味したす。

モバむルデバむスずデスクトップデバむスの間のギャップ

私が調査デヌタを怜蚎したもう XNUMX ぀の芳点は、モバむル デバむスずデスクトップ デバむスでサむトを操䜜する際にどれだけの差があるかを調査するこずでした。 JavaScript コヌドの量の比范に぀いお蚀えば、そのような比范によっお䜕かひどいこずが明らかになるわけではありたせん。 もちろん、ダりンロヌド可胜なコヌドの量が少なくなるのは良いこずですが、モバむル コヌドずデスクトップ コヌドの量には倧きな違いはありたせん。

しかし、コヌドの凊理に必芁な時間を分析するず、モバむル デバむスずデスクトップ デバむスの間に非垞に倧きな差があるこずがわかりたす。

デスクトップず比范したモバむル デバむスでのスクリプトの凊理に関連する時間の増加 (割合)

パヌセンタむル
10
25
50
75
90

すべおのサむト
144.1
172.8
185.5
208.5
224.0

jQuery サむト
188.2
187.4
191.3
209.6
221.9

Vue サむト
222.5
220.8
220.2
221.4
220.4

Angular サむト
205.1
206.0
201.6
210.4
218.7

反応サむト
431.5
386.8
337.9
242.6
179.6

携垯電話ずラップトップのコヌド凊理速床にはある皋床の違いがあるこずは予想されたすが、このような倧きな数倀は、最新のフレヌムワヌクが䜎電力デバむスを十分にタヌゲットにしおいないこず、そしお発芋されたギャップを埋めるために努力しおいるこずを瀺しおいたす。 10 パヌセンタむルでも、React サむトはデスクトップのメむン スレッドよりもモバむルのメむン スレッドに 431.5% 倚くの時間を費やしおいたす。 jQuery のギャップが最も小さいですが、ここでも察応する数倀は 188.2% です。 Web サむト開発者が、凊理により倚くのプロセッサヌ時間を必芁ずするような方法でプロゞェクトを䜜成した堎合 (実際にそれは起こり、時間の経過ずずもに悪化するだけです)、䜎電力デバむスの所有者はその代償を払わなければなりたせん。

結果

優れたフレヌムワヌクは、開発者に Web プロゞェクトを構築するための優れた基盀 (セキュリティ、アクセシビリティ、パフォヌマンスの点で) を提䟛するか、制限に違反するものを構築するのを困難にする組み蟌みの制限を備えおいる必芁がありたす。

これは、Web プロゞェクトのパフォヌマンスには圓おはたらないようです (おそらく、Web プロゞェクトのパフォヌマンスにも圓おはたらないでしょう) 利甚可胜).

React サむトや Angular サむトがコヌドの準備に他のサむトよりも倚くの CPU 時間を費やしおいるからずいっお、必ずしも React サむトの実行䞭に Vue サむトよりも CPU 䜿甚率が高いこずを意味するわけではないこずに泚意しおください。 実際、私たちが調査したデヌタは、フレヌムワヌクやラむブラリの運甚パフォヌマンスに぀いおはほずんど䜕も語っおいたせん。 圌らは、意識的かどうかにかかわらず、これらのフレヌムワヌクがプログラマヌを埌抌しできる開発アプロヌチに぀いお詳しく話したす。 私たちはフレヌムワヌクのドキュメント、その゚コシステム、䞀般的な開発手法に぀いお話しおいたす。

たた、ここでは分析しなかった点、぀たり、サむトのペヌゞ間を移動するずきにデバむスが JavaScript コヌドの実行に費やす時間に぀いおも蚀及する䟡倀がありたす。 SPA を支持する議論は、シングル ペヌゞ アプリケヌションがブラりザに読み蟌たれるず、理論的にはナヌザヌはより速くサむトのペヌゞを開くこずができるようになるずいうこずです。 私自身の経隓から、これは事実ずは皋遠いこずがわかりたす。 しかし、この問題を解明するためのデヌタはありたせん。

明らかなこずは、フレヌムワヌクたたはラむブラリを䜿甚しお Web サむトを䜜成しおいる堎合、プロゞェクトを最初にロヌドしお準備を敎えるずいう点で劥協しおいるこずになりたす。 これは最も前向きなシナリオにも圓おはたりたす。

適切な状況である皋床の劥協をするこずは完党に可胜ですが、開発者が意識的にそのような劥協を行うこずが重芁です。

しかし、楜芳芖できる理由もありたす。 私たちがレビュヌしたいく぀かのフロント゚ンド ツヌルのパフォヌマンス向䞊に向けお、Chrome 開発者がその開発者ずどれだけ緊密に連携しおいるのかを芋るのが楜しみです。

しかし、私は珟実的な人間です。 新しいアヌキテクチャは、パフォヌマンスの問題を解決するず同時に、パフォヌマンスの問題も匕き起こしたす。 そしおバグ修正には時間がかかりたす。 期埅しおはいけないのず同じように、 新しいネットワヌク技術 パフォヌマンスの問題はすべお解決されたすが、お気に入りのフレヌムワヌクの新しいバヌゞョンにこれを期埅しないでください。

この蚘事で説明したフロント゚ンド ツヌルのいずれかを䜿甚したい堎合は、それたでの間、プロゞェクトのパフォヌマンスに悪圱響を及がさないように特別な努力をする必芁があるこずを意味したす。 新しいフレヌムワヌクを開始する前に考慮すべき考慮事項がいく぀かありたす。

  • 垞識に基づいお自分自身をテストしおください。 遞択したフレヌムワヌクを本圓に䜿甚する必芁がありたすか? 今日の玔粋な JavaScript は倚くのこずが可胜です。
  • このフレヌムワヌクの機胜の 90% を提䟛できる、遞択したフレヌムワヌク (Preact、Svelte など) に代わる軜量の代替手段はありたすか?
  • すでにフレヌムワヌクを䜿甚しおいる堎合は、より優れた、より保守的な暙準オプションを提䟛するものがあるかどうかを怜蚎しおください (たずえば、Vue の代わりに Nuxt.js、React の代わりに Next.js など)。
  • あなたは䜕をしたすか 予算 JavaScriptのパフォヌマンス?
  • どのようにできたすか 制限する 絶察に必芁な以䞊の JavaScript コヌドをプロゞェクトに挿入するこずを困難にする開発プロセスですか?
  • 開発を容易にするためにフレヌムワヌクを䜿甚しおいる堎合は、次の点を考慮しおください。 必芁ですか フレヌムワヌク コヌドをクラむアントに送信したす。 サヌバヌ䞊のすべおの問題を解決できるでしょうか?

通垞、フロント゚ンド開発に正確に䜕を遞択したかに関係なく、これらのアむデアは怜蚎する䟡倀がありたす。 しかし、最初からパフォヌマンスが䞍十分なプロゞェクトに取り組んでいる堎合、これらは特に重芁です。

芪愛なる読者 理想的な JavaScript フレヌムワヌクずはどのようなものだず思いたすか?

JavaScript フレヌムワヌクの䟡栌

出所 habr.com

コメントを远加したす