!extend:on:vvvvv:1000:512
Vue
https://jp.vuejs.org/
React
https://reactjs.org/
Angular
https://angular.io/
Svelte
https://svelte.dev/
※前スレ
Vue vs React vs Svelte Part.7
https://mevius.5ch.net/test/read.cgi/tech/1610901677/
Vue vs React vs Angular vs Svelte Part.8
https://mevius.5ch.net/test/read.cgi/tech/1621744952/
Vue vs React vs Angular vs Svelte Part.9
https://mevius.5ch.net/test/read.cgi/tech/1642316774/
★ここではjQuery, Ruby, C#, Blazorの話題は禁止です
★jQuery, Ruby, C#, Blazorキチガイが書き込んでも無視してください
Next, Nuxt, Sapper, Gatsby, VuePress, RedWoodなどはおk。
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
Vue vs React vs Angular vs Svelte Part.10
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ ff00-dbYr)
2022/03/08(火) 22:57:16.85ID:D77bZcWT0151デフォルトの名無しさん (ワンミングク MMab-vklG)
2022/04/06(水) 14:09:22.87ID:CIB91XNYM152デフォルトの名無しさん (アウアウウー Sae9-UX2U)
2022/04/06(水) 14:14:46.50ID:6A9Aeuema >>151
1番大きいのはユーザー体験だよ
該当箇所のDOMを丸ごと毎回生成する処理を書くだけでいいのだから
以前はDOMの状態をみて書き換える箇所を自分で判断してた
それこそがjQueryなコードをスパゲッティにした原因なのよ
1番大きいのはユーザー体験だよ
該当箇所のDOMを丸ごと毎回生成する処理を書くだけでいいのだから
以前はDOMの状態をみて書き換える箇所を自分で判断してた
それこそがjQueryなコードをスパゲッティにした原因なのよ
153デフォルトの名無しさん (アウアウウー Sae9-UX2U)
2022/04/06(水) 14:18:36.04ID:6A9Aeuema パフォーマンス速くしたいからDOMの差分を自分で見る→コードがスパゲッティ
差分見るとスパゲッティになるからDOMを毎回丸ごと生成したい→innerHTMLに突っ込むしかなくてパフォーマンス劣化
この悪循環の無限ループ
これを両方同時に解決したのが仮想DOMでありReact
俺が信者になったのはこれを意識した時だな
マジで神だと思ったね
差分見るとスパゲッティになるからDOMを毎回丸ごと生成したい→innerHTMLに突っ込むしかなくてパフォーマンス劣化
この悪循環の無限ループ
これを両方同時に解決したのが仮想DOMでありReact
俺が信者になったのはこれを意識した時だな
マジで神だと思ったね
154デフォルトの名無しさん (アウアウウー Sae9-UX2U)
2022/04/06(水) 14:19:52.73ID:6A9Aeuema ここにいるのに仮想DOMメリットを言語化できるやついなかったのな
上のような事実というか歴史的経緯があるんだよ
しっかりと理解してくれ
上のような事実というか歴史的経緯があるんだよ
しっかりと理解してくれ
155デフォルトの名無しさん (アウアウエー Sa13-6s55)
2022/04/06(水) 14:22:06.41ID:so8tWsAwa 別に仮想dom使わなくても良いんだよ
あくまでレンダリング高速化の手段の一つ
reactが差分管理として仮想domを採用しただけの話であって他に良いのが出て来ればそれに変わられていくだけ
ただdomと密接に結合するようなレンダラーと差分管理を分離しないアプローチは流行らない
webにしか使えなくなる
あくまでレンダリング高速化の手段の一つ
reactが差分管理として仮想domを採用しただけの話であって他に良いのが出て来ればそれに変わられていくだけ
ただdomと密接に結合するようなレンダラーと差分管理を分離しないアプローチは流行らない
webにしか使えなくなる
156デフォルトの名無しさん (オッペケ Sr01-aChK)
2022/04/06(水) 14:40:06.43ID:DIJBOrU7r >>150
Solid.jsとsvelt.jsはDOM全体を書き換えてるの?
Solid.jsとsvelt.jsはDOM全体を書き換えてるの?
157デフォルトの名無しさん (アウアウウー Sae9-UX2U)
2022/04/06(水) 14:46:33.31ID:6A9Aeuema158デフォルトの名無しさん (アウアウウー Sae9-UX2U)
2022/04/06(水) 15:13:32.10ID:6A9Aeuema159デフォルトの名無しさん (テテンテンテン MM4b-7Z9u)
2022/04/06(水) 15:28:45.86ID:34Ai9MwnM >>156
コンポーネント(DOM)を生成するのは最初の1回だけで
生成した後はObserverパターンで必要なところだけ更新するようだよ
ソースまだ読んでないからハッキリしたことは言えんが多分そんな感じ
コンポーネント(DOM)を生成するのは最初の1回だけで
生成した後はObserverパターンで必要なところだけ更新するようだよ
ソースまだ読んでないからハッキリしたことは言えんが多分そんな感じ
160デフォルトの名無しさん (ブーイモ MM4b-CLQp)
2022/04/06(水) 15:38:00.45ID:0AiZA7OjM 仮想DOMツリーを使わずに差分管理する場合、変化する部分に状態管理機構(solid.jsで言えばsignal、webcomponentsで言えばslot)を打ち込む形になる。
差分管理する要素が少なく、DOMツリーをダイナミックに動かさないのであればsolid.jsのようなやり方に速度的なメリットがあり、そうでなければReactに速度や構造的なシンプルさのメリットがある。そんな感じじゃないかな。
よく知らんけど
差分管理する要素が少なく、DOMツリーをダイナミックに動かさないのであればsolid.jsのようなやり方に速度的なメリットがあり、そうでなければReactに速度や構造的なシンプルさのメリットがある。そんな感じじゃないかな。
よく知らんけど
161デフォルトの名無しさん (オッペケ Sr01-aChK)
2022/04/06(水) 16:59:40.38ID:DIJBOrU7r >>157
いやおまえが仮想DOM使わないと全書き換えって言ったから聞いたんじゃん
いやおまえが仮想DOM使わないと全書き換えって言ったから聞いたんじゃん
162デフォルトの名無しさん (アウアウウー Sae9-UX2U)
2022/04/06(水) 18:06:05.81ID:6A9Aeuema163デフォルトの名無しさん (オッペケ Sr01-aChK)
2022/04/06(水) 23:43:10.09ID:ZzbxJvPPr >>162
お詫びに全部調べて報告して
お詫びに全部調べて報告して
164デフォルトの名無しさん (ワッチョイ a300-CLQp)
2022/04/07(木) 00:07:39.33ID:isNt/bVX0 ちゃんとミスを認めてる奴に何言ってんだ、あんた
165デフォルトの名無しさん (ワッチョイ 155f-4GxL)
2022/04/07(木) 08:50:29.10ID:48p+VEp60 こうやって素直にミスを認めて謝れる人めっちゃ好感持てる
166デフォルトの名無しさん (オッペケ Sr01-aChK)
2022/04/07(木) 09:08:43.91ID:XKd8bK6Ir でも俺の疑問はまったく解決してない
・なぜReactは仮想DOMを使っているのか?
・仮想DOMを使わなくても一部のレンダリング更新だけで済むってのか?
・そうであればブラウザのエンジン自体が部分レンダリングに対応しているのか?
・じゃあReactの仮想DOMのメリットってなんなの
・なぜReactは仮想DOMを使っているのか?
・仮想DOMを使わなくても一部のレンダリング更新だけで済むってのか?
・そうであればブラウザのエンジン自体が部分レンダリングに対応しているのか?
・じゃあReactの仮想DOMのメリットってなんなの
167デフォルトの名無しさん (ワンミングク MMa3-vklG)
2022/04/07(木) 09:20:11.52ID:hrFCTtmgM >>166
仮想DOM自体にはメリットは全く無くむしろオーバヘッドというデメリットがある
DOMの差分更新は非常に重要で全体更新よりも圧倒的にパフォーマンスが高い
DOMの差分更新はSvelteでもSolidでも各種Vanillaでも当然行われているが仮想DOMは用いられていない
それらと比較してベンチマークなどでReactが遅い原因の一つとして仮想DOM使用によるオーバヘッドが考えられうる
仮想DOM自体にはメリットは全く無くむしろオーバヘッドというデメリットがある
DOMの差分更新は非常に重要で全体更新よりも圧倒的にパフォーマンスが高い
DOMの差分更新はSvelteでもSolidでも各種Vanillaでも当然行われているが仮想DOMは用いられていない
それらと比較してベンチマークなどでReactが遅い原因の一つとして仮想DOM使用によるオーバヘッドが考えられうる
168デフォルトの名無しさん (ブーイモ MM4b-CLQp)
2022/04/07(木) 09:24:25.64ID:Fux/mDxCM う〜ん、粛々とNG
169デフォルトの名無しさん (スップ Sd03-bEtf)
2022/04/07(木) 09:35:03.84ID:NNETluvMd Reactでいう仮想DOMというのは本来は単なるフレームワークの実装の都合ってわけじゃなく、
テンプレートがレンダリング結果としてDOMオブジェクトを返しているように見えるけど実際にはそうじゃないから仮想DOMなんだよ。
Vueみたいに単なる実装の都合で内部的に仮想DOM使ってるのと比較されるからそのへん混同されがち。
その意味だとSolid.jsはどうなんだろうね。まだ触ったことないからわからないけど、テンプレートは直接DOMオブジェクトを生成するの?
テンプレートがレンダリング結果としてDOMオブジェクトを返しているように見えるけど実際にはそうじゃないから仮想DOMなんだよ。
Vueみたいに単なる実装の都合で内部的に仮想DOM使ってるのと比較されるからそのへん混同されがち。
その意味だとSolid.jsはどうなんだろうね。まだ触ったことないからわからないけど、テンプレートは直接DOMオブジェクトを生成するの?
170デフォルトの名無しさん (オッペケ Sr01-aChK)
2022/04/07(木) 09:41:42.27ID:XKd8bK6Ir 仮想DOMってただのjavascriptオブジェクトの階層構造だよね
部分レンダリング更新ってのは、この全体の階層構造のうちの一部の階層のオブジェクトが更新されて、その階層に該当するDOMだけが再レンダリングされるってことかね
その階層ってのはShadowRoot単位なのかな?
想像だけど
部分レンダリング更新ってのは、この全体の階層構造のうちの一部の階層のオブジェクトが更新されて、その階層に該当するDOMだけが再レンダリングされるってことかね
その階層ってのはShadowRoot単位なのかな?
想像だけど
171デフォルトの名無しさん (ワンミングク MM2b-fnP3)
2022/04/07(木) 10:05:30.92ID:NMZY0DQdM >>170
まず仮想DOMは全く関係ないので忘れて横に置いとくといいよ
実DOMを生成する時に全体を生成するのではなく現状の一部を利用して最小限のパーシャルツリーを作って入れ替えるのが部分レンダリング更新
ブラウザによる画面レンダリングも最小限となりメリットがある
今どきのフレームワークならたいてい採用されている
この実現のために仮想DOMは必要としない
一方で仮想DOMは一部のフレームワークが採用している単なる内部のデータ管理方式の一つ
仮想DOMが他の方式と比べて何か有利な点は特にない
実行時に差分検出となるなど不利な点はある
まず仮想DOMは全く関係ないので忘れて横に置いとくといいよ
実DOMを生成する時に全体を生成するのではなく現状の一部を利用して最小限のパーシャルツリーを作って入れ替えるのが部分レンダリング更新
ブラウザによる画面レンダリングも最小限となりメリットがある
今どきのフレームワークならたいてい採用されている
この実現のために仮想DOMは必要としない
一方で仮想DOMは一部のフレームワークが採用している単なる内部のデータ管理方式の一つ
仮想DOMが他の方式と比べて何か有利な点は特にない
実行時に差分検出となるなど不利な点はある
172デフォルトの名無しさん (ラクッペペ MM4b-F4RB)
2022/04/07(木) 10:12:41.10ID:kSgW/1GfM 「高速」の比較対象はpostして全部更新だったりする?
173デフォルトの名無しさん (オッペケ Sr01-aChK)
2022/04/07(木) 11:08:03.68ID:XKd8bK6Ir >>171
なるほど
つまり
ReactやVueはデータ管理を仮想DOMで管理してる
Solid.jsやSvelt.jsはデータ管理を実DOMで管理してる
この認識であってる?
なぜデータ管理を実DOMで管理してるんだ?って思うけど、仮想DOM使ってないなら実DOMしかないよねってこと
なるほど
つまり
ReactやVueはデータ管理を仮想DOMで管理してる
Solid.jsやSvelt.jsはデータ管理を実DOMで管理してる
この認識であってる?
なぜデータ管理を実DOMで管理してるんだ?って思うけど、仮想DOM使ってないなら実DOMしかないよねってこと
174デフォルトの名無しさん (ワンミングク MMa3-vklG)
2022/04/07(木) 12:29:30.17ID:n/T89jyuM >>173
それは正しくない
どのフレームワークもデータ変更に対応して最終的に実DOM操作をして反映させる点では全て同じ
データ変更がどういう時にどこで起きるかはプログラム作成時にわかっているので
SvelteやSolidはそれらの情報を利用してある種のコンパイラとなり実DOM操作のJavaScriptコードを事前に生成してしまう
つまりSvelteやSolidは実行時にはその生成されたJavaScriptコードが動くだけ
一方でVueやReactはデータ変更に対して仮想DOMに反映させて前後の差分検出をしてその差分を反映させるために実DOM操作をする
それは正しくない
どのフレームワークもデータ変更に対応して最終的に実DOM操作をして反映させる点では全て同じ
データ変更がどういう時にどこで起きるかはプログラム作成時にわかっているので
SvelteやSolidはそれらの情報を利用してある種のコンパイラとなり実DOM操作のJavaScriptコードを事前に生成してしまう
つまりSvelteやSolidは実行時にはその生成されたJavaScriptコードが動くだけ
一方でVueやReactはデータ変更に対して仮想DOMに反映させて前後の差分検出をしてその差分を反映させるために実DOM操作をする
175デフォルトの名無しさん (ブーイモ MM43-bEtf)
2022/04/07(木) 12:31:19.31ID:cPE2iAv8M >>173
たぶん誤解してる。仮想DOMの使用有無にかかわらず、実際のビューの状態を持っているのは常に実DOMだ。
仮想DOMが登場するのはビューの状態を更新するときで、仮想DOMの場合は論理的には(実際には更新不要な部分は使い回すような最適化はある)モデルの状態に基づいて毎回新しい仮想DOMツリー全体を作り直し、
その仮想DOMツリーをあるべき姿として実DOMを更新する。
一方で仮想DOMを使わない場合は、仮想DOMツリーの作り直しを省いて直接実DOMを更新する。
たぶん誤解してる。仮想DOMの使用有無にかかわらず、実際のビューの状態を持っているのは常に実DOMだ。
仮想DOMが登場するのはビューの状態を更新するときで、仮想DOMの場合は論理的には(実際には更新不要な部分は使い回すような最適化はある)モデルの状態に基づいて毎回新しい仮想DOMツリー全体を作り直し、
その仮想DOMツリーをあるべき姿として実DOMを更新する。
一方で仮想DOMを使わない場合は、仮想DOMツリーの作り直しを省いて直接実DOMを更新する。
176デフォルトの名無しさん (オッペケ Sr01-aChK)
2022/04/07(木) 14:42:30.41ID:XKd8bK6Ir177デフォルトの名無しさん (オイコラミネオ MMb1-MpoB)
2022/04/07(木) 16:11:00.06ID:LqaqpZCDM SolidはデータバインディングしてるだけだからDOM上のどこを更新すればいいか最初からわかってる
となると負荷がかかるだけの大げさなツリー差分計算は不要かと
reactがツリー差分を計算するのは何処が変わるのかreactが把握してないから
Solidはreactに似てるけど根本的なアーキテクチャは違う
となると負荷がかかるだけの大げさなツリー差分計算は不要かと
reactがツリー差分を計算するのは何処が変わるのかreactが把握してないから
Solidはreactに似てるけど根本的なアーキテクチャは違う
178デフォルトの名無しさん (ワントンキン MMa3-fnP3)
2022/04/07(木) 16:30:15.09ID:zMYtvFpYM179デフォルトの名無しさん (アウアウウー Sae9-6s55)
2022/04/07(木) 16:57:53.58ID:bdIQHoGja おじさんじゃねーのこれ
180デフォルトの名無しさん (ワッチョイ 85a7-hviA)
2022/04/07(木) 17:26:41.04ID:OoJ9MQRv0 メモ化しなかったら子コンポーネントの要素を再度全てレンダリングしちゃうのでは?
181デフォルトの名無しさん (ワントンキン MMa3-vklG)
2022/04/07(木) 19:00:26.65ID:I9ZZKEcZM それぞれそのへんはムダを省くよう仕掛け対応があるね
フレームワークとして最低限それはやらないと
フレームワークとして最低限それはやらないと
182デフォルトの名無しさん (オッペケ Sr01-aChK)
2022/04/07(木) 19:32:20.92ID:XKd8bK6Ir 結局みんなはっきりは理解していない感じらしいね
まあ自分もなんだけど
まあ自分もなんだけど
183デフォルトの名無しさん (アウアウウー Sae9-6s55)
2022/04/07(木) 19:52:15.69ID:W1OrHRUza >>182
で?
で?
184デフォルトの名無しさん (オッペケ Sr01-aChK)
2022/04/07(木) 20:04:09.90ID:XKd8bK6Ir >>183
へ?
へ?
185デフォルトの名無しさん (アウアウウー Sae9-7Nah)
2022/04/07(木) 22:07:48.47ID:rftQE35ra solid.js作者による解説記事見つけたよ
正直震えてる
アーキテクチャがやば過ぎ
オワコンと言われた
Reactive Programmingが復活した
https://indepth.dev/posts/1289/solidjs-reactivity-to-rendering
正直震えてる
アーキテクチャがやば過ぎ
オワコンと言われた
Reactive Programmingが復活した
https://indepth.dev/posts/1289/solidjs-reactivity-to-rendering
186デフォルトの名無しさん (アウアウウー Sae9-7Nah)
2022/04/07(木) 22:17:52.74ID:rftQE35ra この記事でDOMの更新原理が全部解説されてる
ただ理解が追いついてない
ただ理解が追いついてない
187デフォルトの名無しさん (ワッチョイ a300-CLQp)
2022/04/07(木) 22:44:32.35ID:isNt/bVX0 何処でReactiveプログラミングが終わって、何処で復活したんだよ。
パラダイムの話と実装の話をごっちゃにしとらんかね。
パラダイムの話と実装の話をごっちゃにしとらんかね。
188デフォルトの名無しさん (オイコラミネオ MMb1-03l7)
2022/04/07(木) 22:49:48.63ID:LqaqpZCDM >>185
いいね
いいね
189デフォルトの名無しさん (ワッチョイ 15e6-7Nah)
2022/04/07(木) 23:03:21.84ID:w+H2FlaC0 createElememtしたオブジェクトをクロージャで保持してるのか
確かに生DOMだ
確かに生DOMだ
190デフォルトの名無しさん (ワッチョイ 4bcf-zZJH)
2022/04/07(木) 23:06:10.92ID:cxGwbYOU0 記事はいいけど
>正直震えてる
>アーキテクチャがやば過ぎ
こういうの傍から見て寒すぎ
>正直震えてる
>アーキテクチャがやば過ぎ
こういうの傍から見て寒すぎ
191デフォルトの名無しさん (オイコラミネオ MMb1-03l7)
2022/04/07(木) 23:35:57.90ID:LqaqpZCDM DOMそのまま掴んでるってことはReact Nativeは絶望的か…ちと残念だ
192デフォルトの名無しさん (アウアウウー Sae9-N5kV)
2022/04/07(木) 23:57:10.55ID:Y0BVj7bxa ペインの中のボタンを40近くまで連打すると詰まりだすけどreactならどうなんだろうか
https://www.solidjs.com/tutorial/introduction_memos?solved
https://www.solidjs.com/tutorial/introduction_memos?solved
193デフォルトの名無しさん (オイコラミネオ MMb1-03l7)
2022/04/08(金) 00:02:15.46ID:FwPcQFITM >>192
フィボナッチ数の計算がべらぼうに重いだけだよ
フィボナッチ数の計算がべらぼうに重いだけだよ
194デフォルトの名無しさん (アウアウウー Sae9-N5kV)
2022/04/08(金) 00:06:04.66ID:pHvgxp+Ea195デフォルトの名無しさん (アウアウエー Sa13-6s55)
2022/04/08(金) 11:42:33.12ID:SI2R8TLia196デフォルトの名無しさん (オイコラミネオ MMb1-03l7)
2022/04/08(金) 14:27:38.41ID:FwPcQFITM メモリは心配してないというか仮想DOMが無いから確実に減る
でも仮想DOMが無いせいでDOMと結合度が高くなってるからマルチプラットフォームは難しいだろう
でも仮想DOMが無いせいでDOMと結合度が高くなってるからマルチプラットフォームは難しいだろう
197デフォルトの名無しさん (オッペケ Sr01-aChK)
2022/04/08(金) 14:33:08.91ID:bdNfvPhdr React.jsやVueってマルチプラットフォームだっけ?
198デフォルトの名無しさん (ワンミングク MMa3-vklG)
2022/04/08(金) 14:41:04.41ID:4G5CVrxlM >>196
それは違うんじゃないか
こういうフレームワークを作る時に内部はもう一段抽象的なデータを持つ
その抽象データからDOMが対象ならばDOM操作コードとそのオブジェクトを生成といった具合
だから生成されたものだけを見てDOMと結合しすぎていると判断するのはおかしい
例えばReactの仮想DOMもその内部の抽象データなのだから同じ土俵で比べて判断したはうがいい
それは違うんじゃないか
こういうフレームワークを作る時に内部はもう一段抽象的なデータを持つ
その抽象データからDOMが対象ならばDOM操作コードとそのオブジェクトを生成といった具合
だから生成されたものだけを見てDOMと結合しすぎていると判断するのはおかしい
例えばReactの仮想DOMもその内部の抽象データなのだから同じ土俵で比べて判断したはうがいい
199デフォルトの名無しさん (ブーイモ MM6b-CLQp)
2022/04/08(金) 15:16:48.60ID:zD+iWd3QM 仮想DOMがメモリ食いまくってるかというと別にそうでもない
200デフォルトの名無しさん (アウアウエー Sa13-6s55)
2022/04/08(金) 15:48:10.19ID:4taeFJ35a201デフォルトの名無しさん (オッペケ Sr01-aChK)
2022/04/08(金) 17:29:16.27ID:bdNfvPhdr202デフォルトの名無しさん (オイコラミネオ MMb1-03l7)
2022/04/08(金) 17:29:34.20ID:FwPcQFITM203デフォルトの名無しさん (ワントンキン MMa3-fnP3)
2022/04/08(金) 17:37:20.73ID:I/uOEy9hM >>200
SvelteやSolidがコード生成するのは実行時ではなくコンパイル時点
そして生成されるコードはVanillaで書いたときと同様な感じでわずかなDOM操作コード
仮想DOMのように余分なメモリを使用したりその管理のためのコードが必要になったりはしていない
SvelteやSolidがコード生成するのは実行時ではなくコンパイル時点
そして生成されるコードはVanillaで書いたときと同様な感じでわずかなDOM操作コード
仮想DOMのように余分なメモリを使用したりその管理のためのコードが必要になったりはしていない
204デフォルトの名無しさん (アウアウウー Sae9-6s55)
2022/04/08(金) 17:45:07.62ID:xuzqGDQqa205デフォルトの名無しさん (オイコラミネオ MMb1-03l7)
2022/04/08(金) 17:54:48.38ID:FwPcQFITM まさかとは思うけど何もしないのと比較して増えてるからメモリが減ってないじゃないかって意味で噛み付いてきてるのかな?
仮想DOMと比較してメモリが減るって文脈が読めないのかしら
仮想DOMと比較してメモリが減るって文脈が読めないのかしら
206デフォルトの名無しさん (アウアウウー Sae9-6s55)
2022/04/08(金) 17:59:43.25ID:/H+nHCQIa207デフォルトの名無しさん (オイコラミネオ MMb1-03l7)
2022/04/08(金) 18:03:26.77ID:FwPcQFITM 極僅かな例外も存在するかもしれんがそれをケースバイケースというのは言葉遊びにしか感じないな
208デフォルトの名無しさん (ワンミングク MMc1-fnP3)
2022/04/08(金) 18:04:37.85ID:oVWM7CkTM >>204
Reactにも仮想DOMを操作するコードがあるし
さらに仮想DOMで差分算出するコードもあるし
さらにその差分に対して実DOMを操作するコードがあるんだよ
SolidやSvelteはそのうち最後の実DOMを操作するコードだけになるよね
さらに仮想DOMを保持するメモリも必要ないよね
Reactにも仮想DOMを操作するコードがあるし
さらに仮想DOMで差分算出するコードもあるし
さらにその差分に対して実DOMを操作するコードがあるんだよ
SolidやSvelteはそのうち最後の実DOMを操作するコードだけになるよね
さらに仮想DOMを保持するメモリも必要ないよね
209デフォルトの名無しさん (ワッチョイ a300-CLQp)
2022/04/08(金) 18:19:37.36ID:u9ryeQf60 何を根拠に仮想DOMがメモリ食うと言ってるのかは気になるところ。仮想DOMツリーなんてブラウザのタブを担当するプロセスの消費してるメモリの一部でしか無いのに
210デフォルトの名無しさん (ワッチョイ 1de5-F4RB)
2022/04/08(金) 18:23:30.45ID:4I0Aw2zD0 Excelみたいな巨大アプリでどのくらい消費しているのか知りたいね
知らないか?
知らないか?
211デフォルトの名無しさん (ササクッテロル Sp01-WXhm)
2022/04/08(金) 18:39:17.75ID:x9wQZSCop 計測せずに性能を語っても妄想お披露目会にしかならんだろ
212デフォルトの名無しさん (ラクッペペ MM4b-F4RB)
2022/04/08(金) 18:44:32.33ID:el4YGwkaM 比較対象はゼロだからな
213デフォルトの名無しさん (アウアウエー Sa13-6s55)
2022/04/08(金) 19:38:01.87ID:4taeFJ35a214デフォルトの名無しさん (オイコラミネオ MMb1-03l7)
2022/04/08(金) 19:48:25.06ID:FwPcQFITM >>213
仮想DOMの生成にメモリを使うのは当たり前では?
仮想DOMの生成にメモリを使うのは当たり前では?
215デフォルトの名無しさん (オッペケ Sr01-ceAq)
2022/04/08(金) 19:57:47.51ID:9UQ9wQkhr 誰も計測してないのである!
216デフォルトの名無しさん (ワッチョイ a300-CLQp)
2022/04/08(金) 20:11:01.88ID:u9ryeQf60 なぜ誰も計測してないかを紐解くと、Reactで(他のライブラリやバニラより)メモリ食いすぎて困った、という事例が無いからでは?
217デフォルトの名無しさん (ワッチョイ 4bcf-zZJH)
2022/04/08(金) 20:53:59.17ID:g5acz2390218デフォルトの名無しさん (ワッチョイ 65c9-G86n)
2022/04/08(金) 20:54:12.79ID:z7daun3M0 Reactでも速度面で困ってるわけじゃないからな
Solid.jsが小さいのは魅力
Solid.jsが小さいのは魅力
219デフォルトの名無しさん (ワッチョイ 252c-bp5p)
2022/04/08(金) 22:59:55.40ID:KeW2chSD0 Solid.jsのdoc見てみたけど、まず多言語対応されててすごい
精力的なのはいいね
精力的なのはいいね
220デフォルトの名無しさん (ワッチョイ 43bb-xb3m)
2022/04/09(土) 06:27:23.97ID:hnk6n6Rh0 Vue2で作ったアプリが10個以上ある
それらのアプリはVue2で使い続けたい
新しいアプリはVue3で作りたい
こういう場合どうするのがいいと思う?
Webpack使ってます
それらのアプリはVue2で使い続けたい
新しいアプリはVue3で作りたい
こういう場合どうするのがいいと思う?
Webpack使ってます
221デフォルトの名無しさん (ワッチョイ 43bb-xb3m)
2022/04/09(土) 06:51:02.01ID:hnk6n6Rh0 npmの環境もう1つ作っちゃうのが楽な気がするんだけど
222デフォルトの名無しさん (ワッチョイ a200-0o7i)
2022/04/09(土) 08:07:49.92ID:bqRMq7lA0 Vueの事はよく知らんけどディレクトリ分けてnpx使えばよくない?
223デフォルトの名無しさん (ワッチョイ 43bb-xb3m)
2022/04/09(土) 08:14:00.27ID:hnk6n6Rh0 >>222
それが一番楽だよね
それが一番楽だよね
224デフォルトの名無しさん (ブーイモ MM3e-2ErU)
2022/04/09(土) 15:51:26.75ID:0hB2G1vSM React18にverupして、パフォーマンスが体感できるぐらい上がって満足
でもtypesも18に上げた途端3rd partyからエラーでtsignoreに逃げた…
でもtypesも18に上げた途端3rd partyからエラーでtsignoreに逃げた…
225デフォルトの名無しさん (ワッチョイ 4fe6-wKAC)
2022/04/09(土) 18:22:45.23ID:jgmuUCzN0 >>220
なんでグローバルにインストールしてるの?
なんでグローバルにインストールしてるの?
226デフォルトの名無しさん (ワッチョイ 43bb-xb3m)
2022/04/09(土) 18:51:44.46ID:hnk6n6Rh0 >>225
ローカルにインストールしてるよ
ローカルにインストールしてるよ
227デフォルトの名無しさん (ワッチョイ 3602-pnsV)
2022/04/09(土) 22:59:04.33ID:hgG5Hkw80228デフォルトの名無しさん (ワッチョイ 4fe6-wKAC)
2022/04/10(日) 01:35:53.09ID:HXJW3I9N0 >>226
よく見たら自演だったらおじさんかよ
よく見たら自演だったらおじさんかよ
229デフォルトの名無しさん (ワッチョイ 43bb-xb3m)
2022/04/10(日) 06:01:45.32ID:7PU75A+00230デフォルトの名無しさん (ワッチョイ 6f63-KQlO)
2022/04/10(日) 16:24:52.57ID:ITJl40Ck0 react学習中は「jsのFWやろ」って思ってると痛い目見るな。
全くではないがreact言語と言っても良いぐらい独特やね
全くではないがreact言語と言っても良いぐらい独特やね
231デフォルトの名無しさん (オッペケ Sr5f-z3qP)
2022/04/10(日) 17:47:42.20ID:eCRNh29mr >>230
不同意
不同意
232デフォルトの名無しさん (オイコラミネオ MMe7-mmuM)
2022/04/10(日) 17:58:04.68ID:42W6QpWxM >>230
自分もJSライブラリというよりはJSによく似たDSLという認識で勉強したらうまくいった
自分もJSライブラリというよりはJSによく似たDSLという認識で勉強したらうまくいった
233デフォルトの名無しさん (ワッチョイ a200-0o7i)
2022/04/10(日) 18:32:09.94ID:zRVAqF+L0 >>230
Reactiveにするための面白い仕組みが色々ある。という点以外は素直なJSだし、わりと素直なDOM発展形だと感じたなぁ個人的には
Reactiveにするための面白い仕組みが色々ある。という点以外は素直なJSだし、わりと素直なDOM発展形だと感じたなぁ個人的には
234デフォルトの名無しさん (ワッチョイ 227c-EhK1)
2022/04/12(火) 01:30:58.06ID:kIyr6erA0 reactは見た目が気持ち悪すぎる
Vueは違和感ないのだが
Vueは違和感ないのだが
235デフォルトの名無しさん (ワッチョイ 4fe6-wKAC)
2022/04/12(火) 01:37:50.96ID:9Wz6jxp60 でもvueは覚えることが多すぎる上
過去のバージョン含めてプロジェクトごとにスタイルが違いすぎて無理ゲー
過去のバージョン含めてプロジェクトごとにスタイルが違いすぎて無理ゲー
236デフォルトの名無しさん (オッペケ Sr5f-btYf)
2022/04/12(火) 08:35:28.85ID:8aqOwqE3r vueもreactも覚える量は大差なくね
バージョンやプロジェクトごとに違いが多すぎるは非常に同意
バージョンやプロジェクトごとに違いが多すぎるは非常に同意
237デフォルトの名無しさん (オイコラミネオ MMe7-mmuM)
2022/04/12(火) 09:11:27.09ID:+SrHGzSxM プロジェクト毎に…はreact.jsも大差ない
フロントエンドは変化早いから諦めろん
フロントエンドは変化早いから諦めろん
238デフォルトの名無しさん (アウアウエー Sa3a-LlH+)
2022/04/12(火) 16:40:07.56ID:lzQIw2wja おじさんは何使ってんの?
239デフォルトの名無しさん (ワッチョイ d701-TP5o)
2022/04/12(火) 20:25:39.24ID:vS+B3//00 VueとReactの両刀使いだったけどReactに集約しまーす
フロントエンドでいちいちあれこれ考えたくないし楽だよなあ
フロントエンドでいちいちあれこれ考えたくないし楽だよなあ
240デフォルトの名無しさん (ワッチョイ f72c-44kf)
2022/04/12(火) 22:28:27.03ID:Db8/nH/Z0 React使ってる方はスタイルどうしてますか?
僕はあれこれコンポーネントライブラリ試してみて、最終的にTailwind CSSに落ち着きました
僕はあれこれコンポーネントライブラリ試してみて、最終的にTailwind CSSに落ち着きました
241デフォルトの名無しさん (ワッチョイ 227c-EhK1)
2022/04/13(水) 00:54:09.91ID:P5y02Tze0 Tailwindなんか良く使ってるな・・・
冗長過ぎだろw
冗長過ぎだろw
242デフォルトの名無しさん (ワッチョイ a200-0o7i)
2022/04/13(水) 05:55:12.89ID:By3mBvbx0 気持ち悪いとか冗長だとか、感覚的な事ばかり言われてもですね
243デフォルトの名無しさん (スッップ Sd02-KxDt)
2022/04/13(水) 07:05:27.28ID:57dconDAd ハゲたおっさんをみたjkにもいってあげて
244デフォルトの名無しさん (オッペケ Sr5f-9is6)
2022/04/13(水) 07:30:29.33ID:xZef9YSSr フロントエンドエンジニアなのにまともにcssを使えないゴミが99%だからな
cssはデザイナーの仕事と勘違いしてるアホしかいない
cssはデザイナーの仕事と勘違いしてるアホしかいない
245デフォルトの名無しさん (ブーイモ MM93-0o7i)
2022/04/13(水) 07:42:33.90ID:QRWgdMoUM そんなんおめー、会社の規模と分業スタイルに依るでしょ。ってか大抵はCSSもそれなりに書ける。
フロントエンドエンジニアの99%とか主語デカすぎ
フロントエンドエンジニアの99%とか主語デカすぎ
246デフォルトの名無しさん (ワッチョイ 4f5f-dxu+)
2022/04/13(水) 07:53:46.03ID:Hql1DFVV0 tailwind-cssは最近擬似要素もサポートしたから表現の幅が広がって使いやすくなったけどね
ぶっちゃけ何でcssを書こうがあんまり変わらないから好きなのを使えばいいと思う
ぶっちゃけ何でcssを書こうがあんまり変わらないから好きなのを使えばいいと思う
247デフォルトの名無しさん (ワッチョイ 2b6e-z3qP)
2022/04/13(水) 12:51:45.62ID:9uPeD86L0 css使えないからTailwind使うだと馬鹿一直線
248デフォルトの名無しさん (ワッチョイ e2ad-wAOu)
2022/04/13(水) 13:10:46.32ID:CP/2H06D0 modules、emotion、chakraと使ってきたけど今はtailwind一択やわ
249デフォルトの名無しさん (ブーイモ MM8e-0o7i)
2022/04/13(水) 18:35:39.41ID:xqcMgFa8M TailwindCSSはクラスがほぼCSSのパラメータと一対一だからCSSわからんとむしろ使えなくない? エアプかな?
250デフォルトの名無しさん (ワッチョイ 4f5f-dxu+)
2022/04/13(水) 20:44:25.37ID:Hql1DFVV0 tailwindcssはvscodeの拡張機能を使うとtailwind.config.jsで設定した自分のカスタムスタイルまでコード補完で表示してくれるのが好き
251デフォルトの名無しさん (オッペケ Sr5f-9is6)
2022/04/14(木) 06:54:23.13ID:3HmhMLNrr bootstrapでいいじゃん
カスタマイズもできるしダメな理由ないよな
カスタマイズもできるしダメな理由ないよな
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国側が首相答弁の撤回要求、日本側拒否 [夜のけいちゃん★]
- 債券・円・株「トリプル安」に…長期金利1.755%まで上昇、円は対ユーロで史上最安値 [蚤の市★]
- 映画「鬼滅の刃」の興行収入急減、日本行き航空券大量キャンセル…中国メディア報道 [蚤の市★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★5 [ぐれ★]
- 【音楽】Perfume・あ~ちゃんの結婚相手「一般男性」は吉田カバンの社長・吉田幸裕氏(41) 高身長で山本耕史似 [Ailuropoda melanoleuca★]
- 【大分】佐賀関で大規模火災、170棟以上が延焼中 70代男性1人と連絡取れず [ぐれ★]
- 【悲報】中国営業に熱心な日本人タレントたち、中国のイベントが続々と中止に… まだ予定中のアイドルとか歌手とかたくさんいるけど [452836546]
- 麻生太郎氏、高市政権と距離を置きはじめる(´・ω・`) [399259198]
- 高市総理で期待してるかもしれないけど、自民党はもうダメだから、超党派の勢力が出てくるみたいだぞ。 [134367759]
- 自閉症が「んなっしょい」と連呼するお🏡
- トヨタ、反日だった。2027年に中国にレクサスのEV工場を設立。高市 [931948549]
- 【悲報】高市効果で「1ドル=160円」が相場へwwwwwwwwwwwwwwwwwwwwwwwwwwwww 止まらぬ高市円安💥💥 [871926377]
