!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:D77bZcWT0134デフォルトの名無しさん (ワッチョイ 15e6-UX2U)
2022/04/05(火) 17:56:06.60ID:u+FS9OX10135デフォルトの名無しさん (アウアウエー Sa13-6s55)
2022/04/05(火) 18:15:07.55ID:3u8+O//Xa これreactじゃなくてsvelteが死ぬんだろな
136デフォルトの名無しさん (ワッチョイ 4b10-jQW5)
2022/04/05(火) 18:39:10.39ID:zCnZtIiB0 新しいのでてくるの
137デフォルトの名無しさん (ワッチョイ 552c-/9eL)
2022/04/05(火) 18:41:37.46ID:6a13xz8Z0 差分検出は軽いでしょ?
各ノードに、変更の有無のフラグを持つだけじゃないの?
各ノードに、変更の有無のフラグを持つだけじゃないの?
138デフォルトの名無しさん (ワッチョイ 1d46-2tQQ)
2022/04/05(火) 19:45:00.74ID:wCKcIEh+0 もう速度くらいでシェアは変わらんよ
重要なのは開発体験の方だ
重要なのは開発体験の方だ
139デフォルトの名無しさん (アウアウエー Sa13-yV2e)
2022/04/05(火) 20:26:33.63ID:G2ThUmqoa パフォーマンスばっかり言及されてるけどこれのスゴイ所はhooksのトップレベル制約、明示的なキャッシュ処理、依存関係の記述から開放されることだろう
reactを踏襲しつつ弱点を見事に解消してる完全な進化系だからもうreactを選ぶ理由がない(レガシーのメンテ以外では)
reactを踏襲しつつ弱点を見事に解消してる完全な進化系だからもうreactを選ぶ理由がない(レガシーのメンテ以外では)
140デフォルトの名無しさん (オッペケ Sr01-aChK)
2022/04/05(火) 20:35:42.86ID:ETld5ZoPr Solid.jsは誰がつくったの?
141デフォルトの名無しさん (ワッチョイ 65ad-JYhq)
2022/04/05(火) 20:38:38.09ID:3tK/podq0 これが流行るかは別だけどreactが文句のつけようのないものってわけではないよね
競合相手のvueがそれ以上に迷走してるだけで
競合相手のvueがそれ以上に迷走してるだけで
142デフォルトの名無しさん (ワッチョイ a300-CLQp)
2022/04/05(火) 20:41:35.88ID:bH2gxj8m0143デフォルトの名無しさん (ワッチョイ cb2d-2JBZ)
2022/04/05(火) 23:59:41.42ID:Pmd2Ul1s0 reactとnextjsってどっちがいいの?
144デフォルトの名無しさん (ワッチョイ a37c-nSWI)
2022/04/06(水) 01:39:52.94ID:xqee3k0P0 たまには Angular のことも思い出してあげてください
145デフォルトの名無しさん (オッペケ Sr01-aChK)
2022/04/06(水) 12:57:39.21ID:DIJBOrU7r 誰も答えられないの?
なんでReactは仮想DOMつかってるんすか
なんでReactは仮想DOMつかってるんすか
146デフォルトの名無しさん (ワッチョイ 55a7-dEyT)
2022/04/06(水) 13:07:19.26ID:K22cA7Fi0 仮想DOMを使うのは現状一番速度とコードの少なさでバランスが取れてるから
あとReactは自由にレンダラーをすげ替えられるから、もっといい方法があるなら
仮想DOMを使わないReactレンダラーを作って実装してそれを使えばいい
だからReactを離れる必要はない
あとReactは自由にレンダラーをすげ替えられるから、もっといい方法があるなら
仮想DOMを使わないReactレンダラーを作って実装してそれを使えばいい
だからReactを離れる必要はない
147デフォルトの名無しさん (テテンテンテン MM4b-7Z9u)
2022/04/06(水) 13:14:26.43ID:S/lTt5hhM マルチプラットフォーム対応とかかな?
Solid.jsは仮想DOMを捨てたからモバイル移植が難しいと予想
Solid.jsは仮想DOMを捨てたからモバイル移植が難しいと予想
148デフォルトの名無しさん (ワントンキン MM51-vklG)
2022/04/06(水) 14:00:54.13ID:7agkb2pSM149デフォルトの名無しさん (テテンテンテン MM4b-7Z9u)
2022/04/06(水) 14:02:45.11ID:S/lTt5hhM 仮想DOMという抽象化レイヤでプラットフォーム間の差分を大部分吸収できるのでマルチプラットフォーム対応しやすくなるのでは?
150デフォルトの名無しさん (アウアウウー Sae9-UX2U)
2022/04/06(水) 14:03:19.50ID:6A9Aeuema >>145
上で書いてるだろw
DOM全体を書き換えるとブラウザの描画パフォーマンスが落ちるのよ
jQueryおじさんがinnerHTMLに丸ごとぶち込むようなコードだよ
一方JSXはユーザーからはinnerHTMLに全部突っ込むコードを毎回生成しているように書いてるけど
中では差分だけ見てるというトリック
これこそが仮想DOMのメリット
上で書いてるだろw
DOM全体を書き換えるとブラウザの描画パフォーマンスが落ちるのよ
jQueryおじさんがinnerHTMLに丸ごとぶち込むようなコードだよ
一方JSXはユーザーからはinnerHTMLに全部突っ込むコードを毎回生成しているように書いてるけど
中では差分だけ見てるというトリック
これこそが仮想DOMのメリット
151デフォルトの名無しさん (ワンミングク 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発展形だと感じたなぁ個人的には
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国側が首相答弁の撤回要求、日本側拒否★4 [夜のけいちゃん★]
- 中国側が首相答弁の撤回要求、日本側拒否★3 [夜のけいちゃん★]
- 中国の局長は「両手をポケット」で対峙 宣伝戦で国民に示す ★4 [蚤の市★]
- 被爆者は「怒りが腹の底から湧いてくる」高市首相“非核三原則見直し報道”に被爆地で懸念や憤りの声《長崎》 [1ゲットロボ★]
- 債券・円・株「トリプル安」に…長期金利1.755%まで上昇、円は対ユーロで史上最安値 ★2 [蚤の市★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★6 [ぐれ★]
- 【悲報】80年前ジャップメディア「軍部に脅されただけなんよ・・・」今ジャップメディア「高市批判する奴は売国奴!」 [616817505]
- ネトウヨ「中国のものは何もいらない!」 中国人「だったら漢字を使わないでください」 [314039747]
- 【速報】春節の飛行機も欠航ラッシュ 高市早苗終了か [695089791]
- 【悲報】バス停の時刻表、もう誰もよめないと話題に…これが望まれた未来の正しいあり方なのか?狂ってるだろこんなのもはや😡 [339712612]
- 【悲報】中国から輸入した物を食べ、輸入した服を着て、輸入したスマホ弄ってる日本人「中国と戦争するぞ!」 [616817505]
- 男だけど生理きちゃった…♥
