1 名前:デフォルトの名無しさん mailto:sage [2022/03/08(火) 22:57:16.85 ID:D77bZcWT0.net] !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
57 名前:デフォルトの名無しさん mailto:sage [2022/03/19(土) 07:54:05.22 ID:nJejdaVKa.net] メモ化めっちゃ使うけどな
58 名前:デフォルトの名無しさん mailto:sage [2022/03/19(土) 15:40:32.81 ID:5Y0GpJV20.net] 最近Reactの勉強始めたんだけどJavascriptの言語仕様で無理やりHTML/CSSを扱ってみましたって感じで凄く気持ち悪いわ 今までPythonで書いてきたってのもあるけど本当にこんなのが今後も流行っていくの? proosに変数渡すときに<func foo=hoge bar=fuga>ってなるのも気持ち悪いし今後やっていけるか自信がない
59 名前:デフォルトの名無しさん mailto:sage [2022/03/19(土) 15:43:03.30 ID:VcAQVTiir.net] あー来たよいちいち仕様に文句つける他言語野郎が 別に嫌ならやめてこっち来んなってことだ
60 名前:デフォルトの名無しさん mailto:sage [2022/03/19(土) 16:01:37.11 ID:b6l6AT+v0.net] >>57 消えろ
61 名前:デフォルトの名無しさん mailto:sage [2022/03/19(土) 16:03:06.91 ID:e57MKYK70.net] JSも決して完璧だとは思わないけど、正直Pythonよりはマシだと思う……
62 名前:デフォルトの名無しさん mailto:sage [2022/03/19(土) 16:14:50.94 ID:gOzc5xXg0.net] でも正直微妙な時期だとは思う Angularは
63 名前:嫌じゃってことでもっと手軽に始められるのが流行ったけど あれも欲しいこれも欲しいと要望を吸収していった結果、継ぎ接ぎ感がかなりある [] [ここ壊れてます]
64 名前:デフォルトの名無しさん mailto:sage [2022/03/19(土) 18:57:55.84 ID:1y7g4Jc6a.net] 10年以上Python使ってるけどそんな風に感じないけどな ただreactに不慣れなだけでしょ
65 名前:デフォルトの名無しさん mailto:sage [2022/03/19(土) 19:50:17.08 ID:poswwcgaM.net] 気持ち悪いのはHTMLとCSS
66 名前:デフォルトの名無しさん mailto:sage [2022/03/19(土) 20:11:39.23 ID:qEkA8vyY0.net] >>60 最初滅茶苦茶だと思ってたけどなんか便利 ただ凝った輩が無理やり面倒な文を使って論議しているのはうざい
67 名前:デフォルトの名無しさん mailto:sage [2022/03/19(土) 20:34:10.84 ID:LqbWlmPW0.net] 自分もReact入門してる たしかに触る前に気持ち悪いなぁとは思ってたけどさ 触ってみたらプログラムよりで面白いなーと思ったわ
68 名前:デフォルトの名無しさん mailto:sage [2022/03/19(土) 21:14:06.31 ID:BEyB7K4C0.net] (Svelte大好きな人いますか……)
69 名前:デフォルトの名無しさん mailto:sage [2022/03/19(土) 21:40:41.01 ID:867bbs4Vr.net] おじさんだからでしょ
70 名前:デフォルトの名無しさん mailto:sage [2022/03/19(土) 23:52:59.37 ID:k2W7TKOh0.net] ERB(Embedded Ruby)では、PHP みたいに、 HTML 内に、<% 〜 %>, <%= 〜 %> で、Rubyの式・コード片を埋め込む。 <% 〜 %> は出力されないが、<%= 〜 %> は出力される <% writers = ['あ', 'い', 'う'] %> <p> <% writers.each do |writer| %> <%= writer %>さん <% end %> </p> これよりも、JSX の方が可読性が高い
71 名前:デフォルトの名無しさん mailto:sage [2022/03/20(日) 00:27:31.85 ID:4w2T36oX0.net] Reactの1番良い点は覚えることがめちゃくちゃ少ないこと Vanilla jsからすぐ移行できるのがありがたい Vue3もちょっとやったけど覚えることが多すぎて無理だった
72 名前:デフォルトの名無しさん mailto:sage [2022/03/20(日) 09:17:56.80 ID:vu2v5ItY0.net] >>57 <func foo=hoge bar=fuga>←これじゃビルド通らないぞ そんなガバガバなヤツにはjsx書けんよ
73 名前:デフォルトの名無しさん mailto:sage [2022/03/20(日) 10:02:09.94 ID:XX1387g+0.net] >>68 俺も10年以上前はこんな感じだったな
74 名前:デフォルトの名無しさん mailto:sage [2022/03/20(日) 11:44:35.78 ID:QcEs3y9kM.net] >>57 JSXはオプションなので別に使わなくてもおk 気に入らないなら(気持ちはわかる)普通の関数のように呼び出せばよろしい
75 名前:デフォルトの名無しさん mailto:sage [2022/03/20(日) 16:44:59.21 ID:BhZRhMiwa.net] >>69 htmlテンプレートでの開発から移行するには楽なんだろうね vue独自の構文とか覚えたくもないけど
76 名前:デフォルトの名無しさん mailto:sage [2022/03/20(日) 16:58:31.54 ID:LOxzvK7ha.net] >>73 ReactはHooks覚えるだけだからな 多少癖はあるが拡張性はあるし 副作用隠蔽できるし良いこと尽くめ
77 名前:デフォルトの名無しさん mailto:sage [2022/03/20(日) 21:49:17.16 ID:wHRqoPQS0.net] ASP classicがそんな感じだったような。。うろ覚え
78 名前:デフォルトの名無しさん [2022/03/22(火) 15:46:55.29 ID:0HtR5asm0.net] lazyload実装したら、viewContainerRefがundefinedになるんだけど、なんで? 教えてエロい人
79 名前:デフォルトの名無しさん [2022/03/23(水) 01:03:37.06 ID:+J7AiUpwM.net] ひぇぇw怖い怖い > オープンソースのnpmパッケージ「node-ipc」にロシア在住の開発者を標的にした悪意のあるコードがメンテナーによって追加される https://gigazine.net/news/20220322-sabotage-code-to-node-ipc/
80 名前:デフォルトの名無しさん mailto:sage [2022/03/23(水) 23:16:55.87 ID:RHxHRDhw0.net] React Hook Form便利だなと思って使ってたんだけど、実は全然要らんかった
81 名前:アとに気づいてしまった…… [] [ここ壊れてます]
82 名前:デフォルトの名無しさん mailto:sage [2022/03/23(水) 23:51:56.01 ID:B6q3LoX80.net] >>78 そんなのあったんだ 知らなかった……w
83 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 16:18:04.47 ID:EGWR390ra.net] >>78 あれ検証ライブラリのラッパーだもんね ささっと作るには良いけど仕組み理解してれば無い方が楽よね
84 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 17:04:40.58 ID:tahcFheS0.net] >>78 覚えることが多いライブラリはReact向きじゃないね
85 名前:デフォルトの名無しさん mailto:sage [2022/03/25(金) 18:39:56.16 ID:TcNKzx810.net] >>80 そう、仕組み理解してれば(複雑になるにつれ)使わないほうがシンプルに書けると感じた。今はブラウザの機能も充実してるし。 >>81 watch周りとかバリデーション周りとか変に複雑だった。ドシンプルなフォーム作るなら(覚えること少なくて)悪くないと思うけどね……
86 名前:デフォルトの名無しさん [2022/03/28(月) 15:42:08.99 ID:MoEAjuwS0.net] Jest + React testing libraryやってる人いる? React testing libraryつかってるとテスト環境だけ動かないことがしょっちゅうですぐ壊れるし、辛すぎる 現状フロントのコンポーネントのユニットテストは費用対効果が悪すぎると思う もしテスト作るなら必要なテストを見極めるスキル必須だわ
87 名前:デフォルトの名無しさん mailto:sage [2022/03/28(月) 21:49:46.44 ID:3CyqBULz0.net] わからんでもない。Puppeteerでテストしてる
88 名前:デフォルトの名無しさん mailto:sage [2022/03/29(火) 13:05:58.71 ID:O92eZWgo0.net] https://github.com/redwoodjs/redwood/releases/tag/v1.0.0-rc.final.1 React、GraphQL、Prismaのフルスタックフレームワークとして作られているRedwoodJSがリリース間際らしいけど わざわざ事前に組み合わせる必要あるのかな?
89 名前:デフォルトの名無しさん mailto:sage [2022/03/29(火) 13:15:39.47 ID:2VxyfU6Gr.net] そういうのもういらん どうせすぐに廃れてメンテすらされなくなる
90 名前:デフォルトの名無しさん mailto:sage [2022/03/29(火) 15:16:45.92 ID:fQzr6FSKr.net] SvelteKitは本気で期待してる
91 名前:デフォルトの名無しさん mailto:sage [2022/03/29(火) 15:30:10.76 ID:SAtTzz3E0.net] そうか? むしろJSでフルスタックみたいなやつは廃れるどころかこれから伸びると思うけどな
92 名前:デフォルトの名無しさん mailto:sage [2022/03/29(火) 17:43:29.35 ID:tW3X9ADQa.net] そこまで求めるなら他の言語選ぶかな jsで完結したい人には良いんだろうけど
93 名前:デフォルトの名無しさん mailto:sage [2022/03/29(火) 17:51:35.82 ID:TwhF50F/M.net] >>86 同意
94 名前:デフォルトの名無しさん mailto:sage [2022/03/29(火) 18:50:23.14 ID:RfHYlyc80.net] フロントでjs以外の選択肢あったのか
95 名前:デフォルトの名無しさん mailto:sage [2022/03/29(火) 18:58:12.56 ID:SAtTzz3E0.net] あるけど無い(成熟してない)
96 名前:デフォルトの名無しさん mailto:sage [2022/03/29(火) 18:59:07.11 ID:xd8Xrmeo0.net] >>86 これ 作りっぱなしのプロダクトが多すぎる
97 名前:デフォルトの名無しさん mailto:sage [2022/03/29(火) 19:43:57.17 ID:0zgLg8Xwa.net] もうAngularに帰ればいんじゃね 学習コスト高いって言うけどどうせ他のも必要な機能揃えたら同じくらいの勉強量になるんだし
98 名前:デフォルトの名無しさん mailto:sage [2022/03/29(火) 20:35:56.30 ID:xd8Xrmeo0.net] ならんよ React一択 とにかく学習コストが低い Vue3の本が最近出たから立ち読みしたけど なんじゃこれって感じ 相変わらずthis使いまくりでバグりそうだし
99 名前:デフォルトの名無しさん mailto:sage [2022/03/29(火) 20:48:51.88 ID:tW3X9ADQa.net] >>91 いや、これはフロントとバックエンドの統合ライブラリだからバックエンドは別の言語でやりたいなって意味
100 名前:デフォルトの名無しさん mailto:sage [2022/03/29(火) 22:38:01.87 ID:a2KK+TKpM.net] >>95 this 使うのvue3ちがうよ。
101 名前:デフォルトの名無しさん mailto:sage [2022/03/29(火) 23:48:30.54 ID:xxVtcj7qa.net] blazor
102 名前:デフォルトの名無しさん mailto:sage [2022/03/30(水) 07:39:00.66 ID:ojoAdHT2M.net] BlazorはC♯で全部やりたいって人以外にはメリット無くね……
103 名前:デフォルトの名無しさん mailto:sage [2022/03/30(水) 09:43:48.12 ID:zC4eLKs90.net] ×ゲームでしかない
104 名前:デフォルトの名無しさん mailto:sage [2022/03/30(水) 10:47:39.46 ID:iu76Nwkv0.net] Reactを使うのかVueを使うのかについて個人的なモチベーションを整理したかった https://zenn.dev/marokanatani/articles/compare_vue_and_react > VueはEasy、ReactはSimple わかる
105 名前:デフォルトの名無しさん mailto:sage [2022/03/30(水) 12:16:39.31 ID:OOkK5m9Na.net] まぁvueは個人開発の延長よね
106 名前:デフォルトの名無しさん mailto:sage [2022/03/30(水) 23:06:07.37 ID:ZV6rQOSL0.net] vueはフレームワーク独自のルールが多かったり業務でちゃんと使うにはVSCode等のエディタの拡張機能が無かったら辛かったりで、慣れすぎてしまうと悪い意味でvue以外が使えなくなってしまう感じがする
107 名前:デフォルトの名無しさん mailto:sage [2022/03/31(木) 01:46:33.94 ID:86aTlM7E0.net] たしかにいまvue(nuxt)で開発してるけど わりとめんどくさいとこあるね typescriptを使わなければそうでもないのかもだけど
108 名前:デフォルトの名無しさん mailto:sage [2022/03/31(木) 10:50:34.39 ID:oSy/YhOk0.net] vueは確かに使ってると楽なんだよね ただ、何でもフレームワークがやってくれるから根本のプログラミングに対する考え方が深まらずにvueをどんだけ長く使っても「ただvueに慣れた」で終わってしまうことになると思う reactはちゃんと使おうと思ったら ・javascriptの文法 ・関数型プログラミングとは何か ・副作用とは何か みたいに、深いとこまで突き詰める必要があるからreactを使いたくない人はこういうのを嫌がる その代わりreactに習熟すると他のjavascriptフレームワークや他の言語にも活かせるような考え方が身につくと個人的には思ってる
109 名前:デフォルトの名無しさん mailto:sage [2022/03/31(木) 11:20:24.39 ID:aHZxCmZf0.net] よくReactは関数型プログラミングって言われてるけどあんまり分かってないわ そもそも関数型言語に対する理解が足りないんだろうけど今まで書いてた手続き型言語(C++/Python)とそこまで書き方に違いがあるかって言われると謎だし 移行して違和感あったのは if (is_hoge === true && do_hoge()){} みたいなのだけどこれは関数型関係ないだろうしなぁ
110 名前:デフォルトの名無しさん mailto:sage [2022/03/31(木) 15:19:18.41 ID:F2XPsESOa.net] >>106 ぶっちゃけ関数型言語的なのはクロージャくらいだよ 型があると話が変わってくるけど素のJSならそれくらい
111 名前:デフォルトの名無しさん mailto:sage [2022/03/31(木) 15:58:23.58 ID:iKma4XC/r.net] useEffect地獄
112 名前:デフォルトの名無しさん mailto:sage [2022/03/31(木) 18:21:07.43 ID:k0INsa2ta.net] useEffectめっちゃシンプルだと思うけど
113 名前:デフォルトの名無しさん mailto:sage [2022/04/02(土) 21:07:33.40 ID:NF+PiVrF0.net] hooksで良いなと思った部分は副作用とマークアップ部分が綺麗に分離できるようになったことだな それによってコンポーネント内の副作用の影響等が把握しやすくなったり、カスタムフックで自分好みに複数のフックをまとめて抽象化出来たりするからコードの可読性も上がったように思う
114 名前:デフォルトの名無しさん [2022/04/02(土) 22:03:18.78 ID:phShoyKu0.net] createRootとrender分けろって警告で出したね。 シンプルじゃないなぁ
115 名前:デフォルトの名無しさん mailto:sage [2022/04/02(土) 22:39:16.37 ID:WPblCx5D0.net] その警告をしてシンプルでないとする理由がわからん
116 名前:デフォルトの名無しさん mailto:sage [2022/04/02(土) 22:48:49.10 ID:B/N6Fa/fa.net] ごちゃごちゃに書きたがる人っているよね
117 名前:デフォルトの名無しさん mailto:sage [2022/04/02(土) 23:53:46.13 ID:GrEAMzhIa.net] >>97 いや、抜本的に変わったのは3.2とかだったろ
118 名前:デフォルトの名無しさん mailto:sage [2022/04/04(月) 18:57:54.46 ID:TKeyZlO5M.net] スマホアプリのデータをWebでも編集できるようにしたくて 色々調べてく中でここにたどり着いたんだけど なんかWebフレームワークは乱立した感じになってるのね… 調べてもどれを使うべきなのかよく分からない githubの星くらいしか参考データもなく でも>>101 さんのリンク先記事が参考になった 別にそんなにライブラリは使わないし、規模の小さい個人開発はVue.jsで良さげなのかなと
119 名前:デフォルトの名無しさん mailto:sage [2022/04/04(月) 23:40:42.03 ID:EAh2hm0B0.net] webアプリ初心者が両方ちょこちょこ触ってみてvue使ってるよ なんかpinia好きだわ コード打ち込みはreactが楽しいね 正直たいしたものつくらないから優位性はよくわからん
120 名前:デフォルトの名無しさん [2022/04/05(火) 00:02:53.38 ID:4sgd/Hm90.net] reactはカスタムレンダラーがすごいらしい
121 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 02:34:36.17 ID:NrUXKx3F0.net] > 次世代のReact? Solid.jsについて https://zenn.dev/nicky/articles/754f0ca74c887a もうReactの天下も終わりかぁ早かったなぁ
122 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 06:54:29.03 ID:bH2gxj8m0.net] 100歩譲ってReactの終わりの始まりだとして、それ、React系の流れを汲んだ技術じゃん。今はとりあえずReact使っといて(本当に流行ってから移行しても)問題ないように見える
123 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 07:17:54.78 ID:HsXfDOwGM.net] Solidは仮想DOMを使わないため高速 さらにReactでの無駄なレンダリングも抑えている Reactを採用するモチベーションがない
124 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 07:54:01.75 ID:bH2gxj8m0.net] 仮想DOM使ってないから速いってのは木を見て森を見ずでは?
125 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 08:10:00.23 ID:VqqpMSri0.net] reactやvuejsでアプリケーションを構築しててパフォーマンスが問題だと感じる場面に遭遇したことはあるが、大量のデータをフェッチしていたり自分のコードの書き方が悪かったりで、reactやvuejs自体が問題に感じるようなことは無かったなあ
126 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 09:09:02.03 ID:+EK3ySaMM.net] 比較した?
127 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 10:11:51.52 ID:ZReMvbtfM.net] >>118 これいいね 週末に試してみる
128 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 13:26:52.69 ID:ETld5ZoPr.net] なんでReactは仮想DOMつかってるの? メリットはなんですかい?
129 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 14:59:22.43 ID:6a13xz8Z0.net] jQuery みたいに実DOM を扱わない。 仮想DOM変更時には、自動的にDOM木の差分を計算し、差分部分だけを実DOMに反映させる ただし、メモリは実DOM・仮想DOMの2つを持つので、2倍使う
130 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 15:19:17.06 ID:0YlujQsY0.net] 実際普及して移行ツールが出たら起こして
131 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 15:48:51.29 ID:raev6Saea.net] >>125 それ言われてハッとしたわ 今や差分検出と書き換えをやるメリットってほぼない気がする 本当に必要なのはJSXとHooksであって仮想DOM入らんかも
132 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 15:54:41.73 ID:raev6Saea.net] Reactの"次"が見えてきたな
133 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 16:30:16.36 ID:aekYSBQXM.net] Webフロント門外漢は知らないかもしれないけど実DOMの変更はレンダリング処理とか入ってそこそこコスト重いんだよ。 最近はtemplateのslotとかあって必要なとこだけ更新しやすくなったけど、それでも。
134 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 16:48:05.27 ID:SCn4t5fAM.net] 仕事中なのでこっそりドキュメント読んだだけだけどかなりよくできてそう Solid.js普及するといいね👍 個人的にRNよく使うからそっち方面もサポートしてくれれば最高です(仮想DOMないと流石に厳しいか?)
135 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 17:20:25.99 ID:u+FS9OX10.net] その重いっていうのを数字で見せてくれる人がいないのよね 正直10年前の比べてマシンスペックも上がったし 大した差はないんじゃないの? むしろ差分検出なんてことをやることのほうが重い可能性
136 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 17:54:05.17 ID:ETld5ZoPr.net] Solid.jsって名前がダサい
137 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 17:56:06.60 ID:u+FS9OX10.net] >>133 確かに 今の時代これはないわ
138 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 18:15:07.55 ID:3u8+O//Xa.net] これreactじゃなくてsvelteが死ぬんだろな
139 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 18:39:10.39 ID:zCnZtIiB0.net] 新しいのでてくるの
140 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 18:41:37.46 ID:6a13xz8Z0.net] 差分検出は軽いでしょ? 各ノードに、変更の有無のフラグを持つだけじゃないの?
141 名前:デフォルトの名無しさん [2022/04/05(火) 19:45:00.74 ID:wCKcIEh+0.net] もう速度くらいでシェアは変わらんよ 重要なのは開発体験の方だ
142 名前:デフォルトの名無しさん [2022/04/05(火) 20:26:33.63 ID:G2ThUmqoa.net] パフォーマンスばっかり言及されてるけどこれのスゴイ所はhooksのトップレベル制約、明示的なキャッシュ処理、依存関係の記述から開放されることだろう reactを踏襲しつつ弱点を見事に解消してる完全な進化系だからもうreactを選ぶ理由がない(レガシーのメンテ以外では)
143 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 20:35:42.86 ID:ETld5ZoPr.net] Solid.jsは誰がつくったの?
144 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 20:38:38.09 ID:3tK/podq0.net] これが流行るかは別だけどreactが文句のつけようのないものってわけではないよね 競合相手のvueがそれ以上に迷走してるだけで
145 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 20:41:35.88 ID:bH2gxj8m0.net] >>139 そこから開放されても、(広い意味での)状態の取り扱いは残るし、あんまり魅力的とは思わないな。 どうしてもReactを過去のものにしたいようだけど。どっちも使えば良いだけなわけで。
146 名前:デフォルトの名無しさん mailto:sage [2022/04/05(火) 23:59:41.42 ID:Pmd2Ul1s0.net] reactとnextjsってどっちがいいの?
147 名前:デフォルトの名無しさん mailto:sage [2022/04/06(水) 01:39:52.94 ID:xqee3k0P0.net] たまには Angular のことも思い出してあげてください
148 名前:デフォルトの名無しさん mailto:sage [2022/04/06(水) 12:57:39.21 ID:DIJBOrU7r.net] 誰も答えられないの? なんでReactは仮想DOMつかってるんすか
149 名前:デフォルトの名無しさん [2022/04/06(水) 13:07:19.26 ID:K22cA7Fi0.net] 仮想DOMを使うのは現状一番速度とコードの少なさでバランスが取れてるから あとReactは自由にレンダラーをすげ替えられるから、もっといい方法があるなら 仮想DOMを使わないReactレンダラーを作って実装してそれを使えばいい だからReactを離れる必要はない
150 名前:デフォルトの名無しさん mailto:sage [2022/04/06(水) 13:14:26.43 ID:S/lTt5hhM.net] マルチプラットフォーム対応とかかな? Solid.jsは仮想DOMを捨てたからモバイル移植が難しいと予想
151 名前:デフォルトの名無しさん mailto:sage [2022/04/06(水) 14:00:54.13 ID:7agkb2pSM.net] >>146 仮想DOMは使えば有利というものではないからそれは難しいところですね >>147 仮想DOMとマルチプラットフォーム対応は無関係ですね
152 名前:デフォルトの名無しさん mailto:sage [2022/04/06(水) 14:02:45.11 ID:S/lTt5hhM.net] 仮想DOMという抽象化レイヤでプラットフォーム間の差分を大部分吸収できるのでマルチプラットフォーム対応しやすくなるのでは?
153 名前:デフォルトの名無しさん mailto:sage [2022/04/06(水) 14:03:19.50 ID:6A9Aeuema.net] >>145 上で書いてるだろw DOM全体を書き換えるとブラウザの描画パフォーマンスが落ちるのよ jQueryおじさんがinnerHTMLに丸ごとぶち込むようなコードだよ 一方JSXはユーザーからはinnerHTMLに全部突っ込むコードを毎回生成しているように書いてるけど 中では差分だけ見てるというトリック これこそが仮想DOMのメリット
154 名前:デフォルトの名無しさん mailto:sage [2022/04/06(水) 14:09:22.87 ID:CIB91XNYM.net] >>150 そのメリットは仮想DOMを使わずとも可能なので仮想DOMのメリットではなく差分書き換えのメリットですね そして差分書き換えのみと比較すると仮想DOMを用いる分だけデメリットですね
155 名前:デフォルトの名無しさん mailto:sage [2022/04/06(水) 14:14:46.50 ID:6A9Aeuema.net] >>151 1番大きいのはユーザー体験だよ 該当箇所のDOMを丸ごと毎回生成する処理を書くだけでいいのだから 以前はDOMの状態をみて書き換える箇所を自分で判断してた それこそがjQueryなコードをスパゲッティにした原因なのよ
156 名前:デフォルトの名無しさん mailto:sage [2022/04/06(水) 14:18:36.04 ID:6A9Aeuema.net] パフォーマンス速くしたいからDOMの差分を自分で見る→コードがスパゲッティ 差分見るとスパゲッティになるからDOMを毎回丸ごと生成したい→innerHTMLに突っ込むしかなくてパフォーマンス劣化 この悪循環の無限ループ これを両方同時に解決したのが仮想DOMでありReact 俺が信者になったのはこれを意識した時だな マジで神だと思ったね
157 名前:デフォルトの名無しさん mailto:sage [2022/04/06(水) 14:19:52.73 ID:6A9Aeuema.net] ここにいるのに仮想DOMメリットを言語化できるやついなかったのな 上のような事実というか歴史的経緯があるんだよ しっかりと理解してくれ