Vue vs React vs Angular vs Svelte Part.8

■ このスレッドは過去ログ倉庫に格納されています
2021/05/23(日) 13:42:32.51ID:qRfDE337
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/

★ここではjQuery, Ruby, C#, Blazorの話題は禁止です
★jQuery, Ruby, C#, Blazorキチガイが書き込んでも無視してください
Next, Nuxt, Sapper, Gatsby, VuePress, RedWoodなどはおk。
2021/11/05(金) 21:04:41.58ID:HNjaHz2P
JWTやマイクロサービスを踏まえるとクライアントで状態を持つのが前提になってきてるもんね
クライアントでの状態管理は必須
245デフォルトの名無しさん
垢版 |
2021/11/06(土) 01:35:43.68ID:KzRf88RA
Reduxは最近出ているReactの技術書では全く取り上げられなくなったな
2021/11/07(日) 13:05:03.32ID:KYnmGIyk
改版を期に削除されたりしてるよね
2021/11/07(日) 16:59:15.63ID:pmlswJxv
狂信者はいるけどみんな大嫌いだったもんな
Context APIで全部解決出来れば楽なんだけどね
選択できる自由があって贅沢な悩みではあるけど
2021/11/07(日) 23:09:54.55ID:KYnmGIyk
useCentextよりもRecoidの方が明解でいいと思うけどな
2021/11/07(日) 23:56:40.78ID:RgCygfEf
recoilじゃなく?
2021/11/08(月) 00:01:11.85ID:aD8GeuEA
ごめんタイポ
2021/11/08(月) 08:32:50.39ID:qDbA6fow
このへんはredux一強から戦国時代に入った感じかな。大勢が決まるまでは情報収集しつつ様子見。
2021/11/08(月) 16:26:00.60ID:xjEl3UJL
このままrecoil一強になってreduxの息の根止めた方が世界の為
Reduxのあれをするにはあれやこれやが追加で必要でもっと勉強して下さいとかニートじゃないと対応出来ないって
2021/11/09(火) 09:40:57.48ID:hmMXDnhU
Reactの入門ググったら未だにRedux Toolkitとか勧めてる輩いるもんな
2021/11/09(火) 09:57:30.93ID:jAAjeJaM
記事が古いんじゃねえの
2021/11/09(火) 14:28:44.10ID:cbbOFy6t
ReactってTypescriptじゃないと人権ないの?
2021/11/09(火) 14:40:58.21ID:YGzOoPm7
そんな話聞いたこと無いが
2021/11/09(火) 15:20:58.65ID:2nzyInOc
Typescriptなんて逆に消えそう
2021/11/09(火) 15:39:50.35ID:hSKkwOCy
typescriptはjavascriptに吸収されるんじゃね
2021/11/09(火) 18:43:32.60ID:7EO+JSDz
GraphQL使ってる?
2021/11/09(火) 19:57:04.69ID:8prLI4eF
使ってない、RESTで事足りてしまう。
いつかGraphQLがバシッとマッチする用途でシステム組んでみたい
2021/11/09(火) 20:35:24.40ID:xw/MlvaO
直接は使ってないけど、実は間接的に使ってる
2021/11/09(火) 22:15:56.16ID:8dYQVpnE
RESTの倍ぐらいSQLクエリ走るの見ると使う理由あるのかな?って思っちゃう
リクエストは減るんだろうけど
プロジェクトによるんかね
2021/11/09(火) 22:20:10.24ID:qOqV7S2Y
聞いてるとRDBと相性悪そうだね
ドキュメント型DBならどう?
2021/11/09(火) 22:39:09.81ID:QGVM/tnv
GraphQLの好き勝手なクエリに対応するのはドキュメント型じゃかえって厳しいだろ。
2021/11/09(火) 22:47:37.81ID:qOqV7S2Y
カラム指向DBでは?
2021/11/09(火) 23:15:01.32ID:QGVM/tnv
カラム指向DBって最適化の方向が違うだけでデータモデル的にはRDBと変わらんじゃん。
2021/11/09(火) 23:28:35.57ID:qOqV7S2Y
じゃ、じゃあグラフ指向DB!?
2021/11/10(水) 06:54:57.52ID:iBRAurlT
>>257
TypeScriptの型は少量で滅茶苦茶雄弁なコメントみたいなもの。おかげで新しいライブラリもサクサク使えるし、バグに震えることなく安眠できる。
2021/11/10(水) 09:23:53.75ID:GIiHYAMJ
>>263
どれも一長一短
テーブル結合ではなく複数のサービスからのレスポンスをjoinする目的の物だからどんなデータベース使おうが総クエリ数は増える
ただマイクロサービスには最適だしフロントエンド開発も楽
GraphQLに合わせるんじゃなくて各サービスに合わせたデータベースの選択が最適解じゃないかと
2021/11/10(水) 12:56:42.12ID:uIoFdyUA
>>268
どこで妥協するかだけの話
普通の強い静的型付け言語をしてきた人たちから見ればTypeScriptはヌルくて甘いとなるし
型なし言語をしてきた人たちから見ればTypeScriptは面倒くさい
公平に見ればTypeScriptは中途半端な妥協の産物
2021/11/10(水) 13:05:43.43ID:uIoFdyUA
>>269
あとは更新よりも読み出しが多いケースならば
読み出し毎に各DB各サービスに問い合わせるよりも
読み出しに合わせた複合DBを保持してそこも常に更新維持するなど
無駄なクエリを減らして高速化の方向もありますね
272デフォルトの名無しさん
垢版 |
2021/11/10(水) 16:04:43.59ID:bCpyzFAG
もうrecoil使ってええか?
2021/11/10(水) 17:57:01.79ID:gwDfdVe9
TypescriptはAltJSとして生まれたもの
実際JSより格段に安全に組みやすくなったしそれで十分
TSが選べる環境ならJSを使う理由は一切ない
生のCSS組んでる奴なんてとっくに全滅してるやろ
2021/11/10(水) 18:13:52.95ID:uIoFdyUA
>>273
Wasm上でのフレームワークも進化していてJavaScriptを使わずにフロントエンドが組める時代になりつつあるので
中途半端な立ち位置のTypeScriptをいずれ使わなくなるかもね
2021/11/10(水) 18:26:43.21ID:iBRAurlT
WasmはWasmだけで完結できないので……
2021/11/10(水) 18:35:53.64ID:iBRAurlT
というか他の言語使おうが結局DOMを触る必要があって、余程上手にラップしないとJS的なフワフワ世界に突っ込む上にオーバーヘッドが出る。それなら最初からTS|JSでええやんってなる(なってきた)。
今後のことはわかんないけどね
2021/11/10(水) 18:42:00.78ID:Hhh+omDu
wasm自体が未完成だから未来の覇権は誰にも読めない
それこそTS→wasmが可能になってるかも知れんし
2021/11/10(水) 18:54:14.88ID:CZzEz7+S
TS使っても現状anyだらけで、意味あるんかいなって思う
2021/11/10(水) 19:25:27.12ID:iBRAurlT
>>278
そうはならんやろ……。たまにas使ったりはするけど
2021/11/10(水) 20:10:18.31ID:uIoFdyUA
>>275
既にWasmだけで完結できるようになっている
JavaScript部分はWasm呼び出す固定コード

>>276
もちろんDOM操作のみだとVanilla (生JavaScript)がWasmより速い
ところがDOM操作以外の処理が多いと逆転してしまいWasmが速い

さらにVanillaではなく仮想DOM系フレームワーク(ReactやVueなど)と比べると実DOM操作以外の処理が多いためWasmが圧勝になっている
2021/11/10(水) 20:14:12.10ID:iBRAurlT
>>280
お、マジ?
ソース出してソース
2021/11/10(水) 20:20:33.04ID:uIoFdyUA
>>281
各フレームワーク比較ベンチマーク
https://rawgit.com/krausest/js-framework-benchmark/master/webdriver-ts-results/table.html
2021/11/10(水) 20:23:51.07ID:aaWoihJJ
ベンチ
https://rawgit.com/krausest/js-framework-benchmark/master/webdriver-ts-results/table.html
を見ると素のJSが一番速い
ついでなんだかよく分からんフレームワークを2つ挟んで、
solidっていう非vDOM系のJSフレームワーク、
ついでやっとwasm-bindgen
wasm-bindgenってのはRustでwasmやる基礎ライブラリだからフレームワークまで行かない(素で使うのはキツイ)
Rustスレでドヤ顔で貼られてたdominatorってフレームワークはそれよりずーっと右(遅い)

DOMのAPIがwasm側に提供されてない現状でUIフレームワークにwasmベースのものを選ぶのはバカのすること

DOMの関わらない演算ヘビーな処理に特出しでwasmモジュールを使う、といったやり方が当面は賢いだろう
2021/11/10(水) 20:36:42.87ID:iBRAurlT
>>282
ありがとう。
しかしえらいプリミティブな内容だな。
並んでるフレームワークも機能がバラバラ過ぎてWasmが速いとは一概に言えないよ……。
てか普通にVanillaが最速じゃないか
2021/11/10(水) 21:00:19.65ID:N8HP2BZx
結局tsなんていらんかったんや
286デフォルトの名無しさん
垢版 |
2021/11/10(水) 21:58:30.80ID:30tM/jBf
>>282
Reactがあまりにも遅すぎなんだな
しかしそれでもReactがこれだけ使われてるということはDOM操作の速さは気にしなくて良いってことか
つまりWasmでも全く問題ないという結論になってしまうな
2021/11/10(水) 22:17:09.49ID:iBRAurlT
>>286
いや、ベンチマークテストの内容見ればわかるけど、Reactでそんな処理しないだろみたいな内容あるよ。苦手な処理がいくつか刺さった感じ。コードの小ささに降ったPreactより結果が悪い事からもそれが読み取れる。
遅いWasmで問題無いという結論の持って行き方もちょっと筋道立ってないように感じる。
2021/11/10(水) 22:18:43.57ID:Ey/Tzzo2
どういうDOM操作を行うかあらかじめわかっているならよけいなオーバーヘッドがないvanillaが速いのが道理だけど
このベンチマーク自体はどういう意味があるんかね。
289デフォルトの名無しさん
垢版 |
2021/11/10(水) 22:30:50.49ID:30tM/jBf
>>287
なるほど
Wasmで問題ないと思ったのはそのReactの件だけでなくて
素のJSであるVanillaとWasmの差がわずか6%しかない点も含めてそう思った
DOM操作のオーバーヘッドがあるからWasmは使えないという意見が嘘だと分かったことが大きい
2021/11/10(水) 23:46:06.12ID:uIoFdyUA
そうなんだよ
DOMの操作でのWasmの不利は誤差範囲
もちろん歴史の深さの差があるから今すぐではないけれどTypeScriptの天下は長く続かない可能性大
2021/11/10(水) 23:48:34.79ID:jE8+SBkG
wasm使ったWebアプリが未だに実用的に見たことがないんだが
2021/11/11(木) 00:22:14.37ID:JReQ08vz
バニラJSはえぇえ
やっぱ最強のフレームワークやな
2021/11/11(木) 04:16:04.08ID:y+7W6S26
バーニラJSって体感でそれくらい変わった?
2021/11/11(木) 07:22:47.47ID:NmOI3afO
>>289
あぁそうか、Wasmに速度を求めるわけでなくてオーバーヘッド食ってでもJS|TS以外の言語で使いたいって視点なら、それはそうか。
まぁでも、まだまだこれからだね。
現状では他の言語使うモチベーションがフルスタックフレームワークぐらいしか無さそう。
2021/11/11(木) 07:58:22.18ID:rsitJIsB
>>294
SSR/SSGをCSRと同一コードでDOM生成(HTML生成)させる言語も
JavaScript/TypeScriptよりRust等の方が圧倒的に速くてサーバーコストも下がりそうね
もちろん強力な静的型付け言語を使えて今よりさらに開発効率と質も上がるメリットもあるけれど
2021/11/11(木) 08:09:17.44ID:NmOI3afO
流石にRustでWeb系を書きたくないなぁ(パフォーマンスが求められる局所なら良いけど)。平衡して考えなきゃいけないレイヤーが増えすぎる。
静的型付け言語のメリットはTSで十分補えてるから俺は要らないかな。
2021/11/11(木) 08:43:10.77ID:mOmZ4ONp
c#でいいじゃん
VS使えばアホみたいに簡単に作れる
2021/11/11(木) 08:56:20.67ID:7Oo+2HXP
C#おじさんであったか
2021/11/11(木) 09:29:06.96ID:mOmZ4ONp
じゃあRust使ってろ
2021/11/11(木) 10:11:28.40ID:fzT5M9J5
流石にC#で作るとオーバーヘッドが半端ない事になるなぁ
2021/11/11(木) 11:08:54.97ID:NdjMldEA
新しいflash作ってるって話?
2021/11/11(木) 12:25:53.19ID:NmOI3afO
.NET, Web, Flash...!!

Silverlightは死んだんだ
いくら呼んでも帰っては来ないんだ
もうあの時間は終わって、
君も人生と向き合う時なんだ
2021/11/11(木) 16:10:58.43ID:2q/mK0qR
Silverlightは死んでもいいけど光るちゃんは残して
2021/11/11(木) 16:41:04.31ID:y+7W6S26
海ちゃんと風ちゃんは?
305デフォルトの名無しさん
垢版 |
2021/11/12(金) 00:58:17.93ID:FSWGxHIH
ブラウザ自体が根本的に変化しないとこれ以上は無理やろ
結局はDOM JS CSSが最小単位でフレームワークが力技で現代風な開発環境を整えてくれてるだけだし
2021/11/12(金) 06:33:55.07ID:veqBK2Ly
ブラウザは頑張ってるよ。あんな複雑なアプリケーションなかなか無い。現代的な開発環境ってのは常に変化するからいちいち対応してたらブラウザのさらなる肥大化を招きそうに思う。
鳴り物入りで導入されたWebComponentsに関しては妙に使いにくくなっちゃったね感はあるけど……。
2021/11/12(金) 07:04:38.91ID:Bh62y6O8
へーーWebComponentsってどの辺りがダメ?
2021/11/12(金) 08:02:45.29ID:veqBK2Ly
継承やShadowDOMとかでコードが長く複雑になって気軽にコンポーネントを作りにくい。
気軽に作るのに役立ちそうなtemplateタグがHTML importが無くなっちゃった関係で疎結合化し難く使いにくい。
他にも使っててなんかあったけど忘れた。

まぁその代わり強力なカプセル化出来るし、ネイティブだから速いしどこでも使えるとかって利点も強いけどね。
2021/11/12(金) 08:35:54.75ID:Hc0qWDa6
>>308
普通React使ってるだけだから良くわからんけど、
WebComponentsってネイティブとか関係あるの?wasmじゃなくて?
2021/11/12(金) 09:22:51.94ID:veqBK2Ly
Web Components
https://developer.mozilla.org/ja/docs/Web/Web_Components
2021/11/12(金) 21:21:04.49ID:OglED5iY
いずれreactがラッパーになりそう
ある意味なってるのか既に
2021/11/12(金) 21:27:22.77ID:R0gkl0Z0
>>309
DOM APIのラッパー=jQuery
WebComponentsのラッパー=React
2021/11/12(金) 21:53:59.00ID:G/TVLntV
SPAで開発するとバックエンドはやることないよな
2021/11/12(金) 22:35:56.03ID:veqBK2Ly
ユーザの権限管理とか、セキュリティとか、スケールするシステム構築とか、キャッシュ管理とか、データ破損に備えたりとか、いっぱいあるんじゃね?
2021/11/12(金) 22:56:05.85ID:EfGXJx+x
>>314
あるねーー
クライアントにlogic持ち込みたくないわー!
2021/11/13(土) 12:01:16.35ID:1Vm1V334
バックエンドこそSPAの根幹でしょ
いわゆるホームページならSPAだけで成り立つけど
2021/11/13(土) 12:14:40.79ID:Pi5BpDZp
>>313
こいつの作ったSPAはセキュリティー保ててんのか?

dev toolsでゴニョゴニョしたら
見えちゃいけないものも見えたりすんじゃね?
2021/11/13(土) 12:36:25.50ID:ORAg7Rz1
まぁFirebaseとか使えばセキュリティとバックアップの類以外はフロント側に持ってこれるけど
2021/11/13(土) 13:02:56.15ID:MewxXHvI
Nuxt3はいつですか
2021/11/13(土) 14:21:20.97ID:K1gkDUf1
SaaS使ったところでバックエンドのロジックをフロントエンドに持ってくる訳ねーだろ
どんな設定だよ
2021/11/13(土) 15:38:37.16ID:Pi5BpDZp
むかしのくらさばみたいなこーどかいてんだろ
2021/11/13(土) 15:53:50.44ID:m5D80op7
>>320
究極的にはフロントエンドで直接DB読み書きリクエストしてロジック全てをフロントで持つケースもある
現実のサービスのほとんどが様々な理由でその体系を取っていないというだけに過ぎない
・企業サービスロジック問題
・セキュリティ問題
・効率問題など
2021/11/13(土) 16:28:58.91ID:mDDZaPSw
いやそれただのデスクトップアプリでしょ
2021/11/13(土) 16:34:34.59ID:Tmt+B6uy
>>320
お前が知らないだけ
フロントでロジック組むシステムはいくらでもある
2021/11/13(土) 16:47:10.86ID:apU13Szq
作れるのはもちろんそう
ただバッドノウハウで
作ってるやつがバカというだけ
2021/11/13(土) 17:05:42.90ID:ORAg7Rz1
FirebaseのFirestore使うとクライアント側でDB(非SQL)のコード書くのよ。セキュリティルールと特殊なケース(Cloud Functions)だけサーバ側に書く。
ここに来る連中ならFirebase知ってるかと思ったけど意外と知名度低いのね。
2021/11/13(土) 17:15:15.23ID:m5D80op7
>>326
フロントのコードは改変実行される前提に立たないといけないからセキュリティ関係だけはサーバーで持たざるを得ないね
あとは公開したくないDBや公開したくないロジックがある時
それと複数DBアクセス多くて効率悪い時で例えばGraphQLなど挟んで解決
2021/11/13(土) 18:07:14.83ID:mghVe0kG
デスクトップアプリだって解析されれば同じ話
webだろうがなんだろうがサーバー側とクライアント側で独立したアプリケーションが動くだけ
2021/11/13(土) 21:05:52.32ID:1F+F4uLn
>>327
Firesroreはセキュリティルールをかなり複雑に書けるからユーザIDをごまかす手段がなければセキュリティ関係もフロントに書ける
DB自体に権限情報を持っておいてそれに従った読み書きができる
正直ルールがややこしいし普通にサーバサイドに置いたほうがいいと思うことも多いが
2021/11/13(土) 21:44:06.78ID:HEGCycYG
Firebaseエンジニアになりたいん?
おれ(´・д・`)ヤダなーー
2021/11/13(土) 22:09:28.66ID:doZZi1iE
外部サービスに依存しといてバックエンドは必要無いとか笑うわ
そもそもfirebaseっていうバックエンドを使ってることに気づいてないんかな
2021/11/13(土) 22:11:27.85ID:m5D80op7
>>329
それはサーバー側で頑張ってくれている、と同じ
2021/11/13(土) 22:21:36.24ID:ORAg7Rz1
出来るよって話しただけだよ。別にならなくても良いよ
2021/11/13(土) 22:21:46.75ID:zriWUxqt
>>331
そういうと思ったわ
2021/11/14(日) 00:11:34.09ID:TIZIlibM
ログインありならログイン等認証サーバは必須としても
そのサーバ自体にはここで言うロジックは直接関係ないので他は全てブラウザ側というのは可能だし実際にあるよね
2021/11/14(日) 04:38:21.32ID:ZK9v1uDr
>>313
POSTを受け取ってJSONを返すんだよ
2021/11/14(日) 04:41:54.91ID:ZK9v1uDr
>>318
まぁ無くなるって事はないだろうけどGoogleだけしか提供してないインフラに頼るってのは一抹の不安があるなぁ
2021/11/14(日) 13:17:24.54ID:Y8o9GJuk
データベースでベンダーロックインとかマジ勘弁
2021/11/14(日) 13:27:58.13ID:Ih4goFSP
できるかできないかの話だったからできるよって話しただけなので、皆好きなもの使えば良いと思うな
340デフォルトの名無しさん
垢版 |
2021/11/15(月) 10:11:30.63ID:nyofewPG
フロントにDB置けないかなと真面目に検索した事はあるけどな
一時的なキャッシュ程度でもいいから
結局データ自体壊れる事がある(特にsafari)のが分かって全面的に諦めた
2021/11/15(月) 11:02:15.24ID:lcFG4zSj
ブラウザのキャッシュストレージを1サイトで100MBとか使ってもいいものなのか?
みんなが使いだしたらやばいよね
2021/11/15(月) 11:11:00.37ID:wYO/ump4
そんなん保守として扱いきらんやろ、エンドユーザが少数で決まってるならともかく
2021/11/15(月) 11:23:22.65ID:WeNmeh05
キミたちは最先端でかつこの世に数少ない貴重なSPAフロントエンジニアなわけだが当然年収は1000万超えてるよね?
安売りしてる奴がいたら今すぐ転職して1000万未満は断ってくれ
2021/11/15(月) 12:29:39.59ID:S8DLS27l
よしわかった、会社紹介してくれ
■ このスレッドは過去ログ倉庫に格納されています