Vue vs React vs Angular vs Svelte Part.9

レス数が900を超えています。1000を超えると表示できなくなるよ。
2022/01/16(日) 16:06:14.27ID:Zy2wxIp9
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/

★ここではjQuery, Ruby, C#, Blazorの話題は禁止です
★jQuery, Ruby, C#, Blazorキチガイが書き込んでも無視してください
Next, Nuxt, Sapper, Gatsby, VuePress, RedWoodなどはおk。
2022/02/24(木) 22:51:46.72ID:2P9y2eU6
何も考えずに使えて容量も小さくそれなりな見た目になるからTailwindCSSばかり使ってる……
2022/02/24(木) 23:29:43.63ID:7yKw4YOo
>>846
react(next.js)だとcss modules、素でゴリゴリカスタマイズする用
vue(2ベース、nuxt.js)だとvuetify、さらっと作ってしまいたい用
2022/02/25(金) 10:23:48.08ID:OnOgWVLR
>>842
TSと何かを勘違いしてない?
2022/02/25(金) 11:06:29.42ID:gEwvZxtg
TypoSxrypt
2022/02/25(金) 12:31:09.23ID:lLyzwXuY
Nuxt3っていつリリースされんの?
2022/02/25(金) 14:02:07.98ID:m/gyVPN+
reactのhookはすぐに受け入れられたのにVueのcomposition apiはなかなか受け入れられない謎
2022/02/25(金) 14:20:53.24ID:gEwvZxtg
後発だからすでにhookのツラミを知ってるというのもあるだろうね
2022/02/25(金) 17:17:52.05ID:XfOzyFvC
Hooksのツラミって?
2022/02/25(金) 18:00:45.39ID:OzLV5l9t
おじさんがGoスレで暴れてるのを見てしまった……
2022/02/26(土) 18:00:19.74ID:QXAwCwpt
>>852
新規案件が無いってことかと
2022/02/26(土) 18:27:13.35ID:xkMoRRzB
hook以降にReactに入門したけどhook無しのReact世界なんてイメージできないくらい馴染んでると思う。いや、クラスコンポーネントのソースも見たことあるし、読めはするけども
2022/02/27(日) 14:19:30.81ID:1NQDT1lQ
フック憎んでるのおじさんだけでしょ
2022/02/27(日) 14:40:59.19ID:s5yNJ4QJ
ReactをUIを記述するための一種のDSLと考えるならhookはあれでいいと思う
ただ一般的なプログラミングの習慣から考えるとhookは異質すぎる
関数トップレベルでしか使えない、依存関係配列地獄なんかは何故これでリリースしちゃったのか理解に苦しむレベル
2022/02/27(日) 16:10:02.02ID:OAiw6RqC
クラスコンポーネントはコンストラクタの問題とか
stateを生で触れるとかいろいろ問題があった
それ自体言語機能の問題的な部分も大きいのだがね

それはさておきHooksはコード量の削減と副作用の明示的な排除という目的が達成されるから明らかに良い

問題はJSの言語機能の限界ゆえあの様な形になったのをお忘れなく
2022/02/27(日) 16:26:12.59ID:s5yNJ4QJ
いや副作用排除は全然できてない
ここに副作用があります、ってマーカーにはなってるけど
2022/02/27(日) 16:33:35.07ID:tasksO6d
reactは副作用の分離をjsで楽にに実現出来る環境を整えただけでどう分離するかは完全に開発者の領分
自分の知識の足りなさを他者のせいにするのはみっともないからやめた方が良いよ
2022/02/27(日) 17:18:08.29ID:EFBHRlsv
>>861
それが関数型言語ですがw
副作用が起きる部分を外出しして
値をラップした型としてデザインするというのが関数型言語のアイデア
ラップした型から値を取り出したり設定する時に副作用が起きるがそこは目を瞑る
これがHooksによってできているのはお分かりだろう
2022/02/27(日) 17:59:02.56ID:c9v4owXb
HaskellのMonadとかもそういう事なの?
2022/02/27(日) 18:45:51.51ID:s5yNJ4QJ
>>862
楽にできてないんだなぁ
>>859で指摘したようにかなり異質だからねhookって
普通にライブラリ作るときにこんな制約持ち込んだらレビューでボコボコにされる

>>863
副作用が起きる場所をラップ(抽象化というが)して外に出すのは関数型でなくプログラミング一般的なプラクティスな
オブジェクト指向でもDIとかあるだろ?
hookがポンコツなのはせっかく抽象化したuseうんたらってのを関数内で直呼びしちゃうこと
このせいで副作用と関数の結合度が高まって扱いにくくなってる
関数のパラメータとして副作用を渡すなりOOPだったらDIするなりもう少しやりようがあった筈なんだがねぇ
2022/02/27(日) 18:54:40.69ID:3V0YV2cN
おじさんの考えるフックの理想的な実装ってどんなの?
jsで良いから例を出してみて
2022/02/27(日) 18:57:07.53ID:EFBHRlsv
>>864
基本はそうだよ
あとはラップした値が違う型を連鎖呼び出しできるようにするbindという操作があればモナド
2022/02/27(日) 18:58:57.93ID:c9v4owXb
>>867
は〜なるほど、勉強になりました!
2022/02/27(日) 19:01:51.31ID:s5yNJ4QJ
>>866
hookじゃどうやっても理想にならん
本当に必要なものは副作用をコンポーネントに注入するための自然な経路
それは一般的なプログラミング習慣では関数のパラメータだったりOPPでいうDIだったりする
関数の中で副作用であるhookを直で呼んでる時点でダメダメだ
2022/02/27(日) 19:02:58.48ID:JNA4H9cB
hooksをawaitできる仕様ができたらいいんだけどな
2022/02/27(日) 19:03:38.95ID:WHdgNr4m
いやフックじゃ無くて良いからこうすれば良いって言うコードだしてみて
2022/02/27(日) 19:20:22.54ID:s5yNJ4QJ
>>871
既に答え出してるが?
関数の引数やOOPでいうDIって
2022/02/27(日) 19:27:07.02ID:TBrVUWzX
>>869
>>872
同じ事繰り返し言ってるだけでなんも解決できてなくてワロタ
2022/02/27(日) 19:28:40.10ID:s5yNJ4QJ
>>873
そりゃ最初から一貫して答えを言ってるんだからずっと同じことになるだろ
2022/02/27(日) 19:42:59.04ID:EFBHRlsv
>>868
JavaScriptで唯一信用できる型は何か?というとそれは関数だけ
つまり値を関数でラップすれば副作用は外出しできる
単純明快なこの発想をReactのランタイムに実装したものがHooksとなる
Reactチームの頭の良さには脱帽する
2022/02/27(日) 19:45:36.89ID:TBrVUWzX
次スレではワッチョイ入れて荒らしはNGしましょうね〜
2022/02/27(日) 19:56:22.90ID:c1tXQcrg
言葉はいらないからコード書いてみろってw
2022/02/27(日) 19:59:14.13ID:2GGoVw4G
>JavaScriptで唯一信用できる型は何か?というとそれは関数だけ

その場合の信用できるできないの判断基準ってなんなんだろう
2022/02/27(日) 20:13:08.94ID:ELboLLxR
>>874
コードはよ
2022/02/27(日) 21:14:33.08ID:c9v4owXb
>>875
細かいことはわからんが柔軟なJSの関数なら型の制限も高階関数の埋め込みもメモ化も思いのままだもんね。
2022/02/27(日) 22:21:21.20ID:BXZ4hEXt
>>875
もう少しわかりやすくたのむ
2022/02/27(日) 22:45:41.12ID:OAiw6RqC
>>878
コンストラクタを持っていること
JSではこれ以外で型を識別することはできない
2022/02/27(日) 23:00:03.32ID:2GGoVw4G
信用できる型というとまずtypeofが思いつくが
2022/02/28(月) 00:16:09.83ID:baVmurqk
instanceofの話か。でもそれは『型』の意味する範囲が狭すぎないか
2022/02/28(月) 14:40:19.31ID:SiFuECBY
DIライブラリ使えば済む話を延々文句言い続けるおじさんって一体
2022/02/28(月) 14:52:40.67ID:8jlA4tTP
あ、今急になんとなくわかったかも
俺がreactに求めてるのはvdomとvの接続だけだったのかもしれん
状態をどう管理するかだとか、vdomをどうやって構築するかなんてのは、正直おせっかいでしかない
別にvdomをmvvm(この場合はmvvdommになるのか?呼び方がわからんが)で管理したっていいはずなんだよな
なんなら古のformsスタイルだって行けたはずだ
vdomをどうやってvと接続するか、vdomをどう構築・変更していくか、は本来なら直交してる概念の筈なのに、全部セットでreactというパッケージで提供してしまったところがダメなんだ
この抱き合わせはライブラリ的でなく、お節介なフレームワーク的なやり方と言わざるを得ない
2022/02/28(月) 14:54:05.60ID:8jlA4tTP
いやmvdomvmか。略し方はどうでもいいが
2022/02/28(月) 15:21:21.07ID:Msb6WRSo
>>886
その発想は悪くないしアイデアがあるなら実装すれば?
評論家みたいに言うだけじゃ何も評価されない
Reactは仮想Domのライブラリの一つでしかない
数年前はオレオレ仮想Domライブラリは結構あった
全部死んだけど
もし君のアイデアが優れたものなら他の人が流用したり
盗んだりするだろう
2022/02/28(月) 15:33:49.09ID:baVmurqk
>>886
そういう用途なら違うの使えばいいだけじゃん
2022/02/28(月) 15:39:42.00ID:8jlA4tTP
自分で作れとか違うの使えってのはアマチュアプログラマならそれでいいんだけど
仕事でやるとなるとどうしてもシェアが支配的なフレームワークを使わざるを得ない大人の事情も察してくれたら助かる
2022/02/28(月) 15:43:20.33ID:U3U0kmfi
あんたアマチュアじゃん
2022/02/28(月) 15:45:22.89ID:8jlA4tTP
>>891
また盤外のレスバを始める気ですか?
そういうのはよそでどうぞ
2022/02/28(月) 16:01:33.23ID:WsZ2wPze
日本じゃvueのほうが支配的じゃね?
2022/02/28(月) 16:06:30.95ID:Msb6WRSo
ちなみにReactは仮想Dom部分はちゃんとライブラリになってるから
単独で使うこと可能だよ
イベントとかもDomと同じものが実装されてるからReactの仮想Domの上にオレオレフレームワークを作ることは不可能ではないと思う
2022/02/28(月) 16:32:02.24ID:baVmurqk
フレームワークが決まってるならそれに合わせた設計をするだけじゃん
2022/02/28(月) 16:36:26.00ID:P00j5x5J
次スレはワッチョイ必須だな
2022/02/28(月) 17:57:07.90ID:SiFuECBY
>>894
数年前ちょっと流行ったな
状態管理をreactに依存しないパターン
reactはjsxのレンダリングだけを受け持つ
結局消えてなくなったけど
2022/03/01(火) 13:08:43.56ID:Vgav0J5W
>>886
わからない状態で書き込んでる癖にイキるな
次からは投稿文をママに見てもらってからにしな
2022/03/01(火) 14:49:26.12ID:F9Vxi+y6
煽りだけしたいのか
2022/03/01(火) 14:55:59.81ID:abCbtqz5
成りすましを疑うレベル
2022/03/02(水) 20:25:39.81ID:0t5gt6uu
Reactのテストにはみんな何使ってる?
やっぱJest?
2022/03/02(水) 22:11:04.65ID:7B1Vixyo
>>901
俺はjest
だけど使ってるっていえるほどテストしてないやw
2022/03/02(水) 22:53:39.89ID:MO+ZrbWq
テストなんかめんどくせえし手動でいっかいきりにきまってんだろ
2022/03/03(木) 06:19:08.22ID:XelSrFhE
>>902
なるほど、ありがとう。Jestで使ってるjsdomはスクレイピングで使ったことあったけど、ブラウザ動作のエミュレーションもこんなに出来るんだって感心したわ。

>>903
いやいや、アップデート毎に手動で検証するの面倒くさいやん。手動検証するよりテスト書いてる方が楽しいし。
2022/03/03(木) 09:07:59.53ID:xrXvw6Zl
>>901
storybookのplay関数を使って目視で確認しながらやるのもいいよ
jestでそのstoryを丸ごと流用できるからテストの工数も増えないし、何より目でしっかり確認しながらテストできるのがかなりでかい
2022/03/03(木) 10:20:04.24ID:8QQBVbSl
storybookって糞重くね?
2022/03/03(木) 11:34:28.82ID:7C3IVuZ6
TSだとクソ重いけど高速化出来るよ
2022/03/03(木) 12:32:03.57ID:XelSrFhE
>>905
ありがとう。
なるほど良さそうだ。目に見えるのはありがたいね。
2022/03/03(木) 13:38:59.66ID:8QQBVbSl
>>907
どうやるの?
公式に書いてある情報?
2022/03/03(木) 15:09:58.45ID:7C3IVuZ6
公式ではないけどTSのReact Docgenがクソ重いのでそれをやめる
なのでstorybookのmain.jsにreact-docgenを使うようにする。

module.exports = {
typescript: { reactDocgen: 'react-docgen' }
}

あとstorybookは全部ビルドしようとするので必要なものだけビルドするようにするとか

const stories = () => {
return process.argv[4] === '-stories'
? [`../${process.argv[5]}`]
: [
'../src/components/**/*.stories.tsx'
];
};

module.exports = {
typescript: {reactDocgen: 'react-docgen'},
stories: () => stories(),
}
2022/03/03(木) 15:43:45.89ID:8QQBVbSl
>>910
storybookはあんま深入りしてないので
指摘は直ぐには解らんけど、
後で見てみます!
2022/03/03(木) 15:44:30.08ID:8QQBVbSl
>>907
糞重いのはtsだけなの?
2022/03/03(木) 16:15:55.61ID:7C3IVuZ6
jsでも沢山ストーリーがあったり重いプラグイン使ってたりすると遅いかと
その場合は二つ目に書いた必要なコンポーネントだけビルドするようにしたら良い
自分の環境だと20秒ぐらいかかってたのが2秒ぐらいになった
2022/03/03(木) 17:32:32.42ID:C6HSJF8/
コンポーネントからレンダリングに関係ないロジックを分離しろ、という習慣は間違いだったことに気付いた。
コンポーネントに関わるもの全てを密結合し神クラス(関数だが)にしたほうが、ずっと楽で再利用しやすかった。
どうせフロントの寿命は短い。カジュアルでよかったんだ。
2022/03/03(木) 19:46:02.22ID:cqHQsSV8
Vue2のSFP完成系ということでよろしいか?
2022/03/03(木) 21:20:31.78ID:0apx4zO0
コンポーネントによるでしょそんなの
2022/03/03(木) 22:10:01.18ID:mAysBGeY
Vue3派閥と戦ってる
なんか普通に負けそう
2022/03/03(木) 22:18:23.03ID:fxHVJI25
ほとんどの場合Vueのほうが書きやすいと思うんだよなあ
depsとかバグの温床だし、jsxも使えるし画面単位のコンポーネントはjsxよりもtemplateの方がメンテしやすい

割と変化激しいからVueの時代来る気がしている
俺の予想はよく外れる
2022/03/03(木) 22:53:58.27ID:5GVEVriD
BueはNativeで動かんし
2022/03/03(木) 23:06:06.30ID:CxPtyFsv
>>918
Vue2と3の断絶が悔やまれるね
Vue3.2なら悪くないどころかむしろ覇権取ってもおかしくないと思った
2022/03/03(木) 23:15:02.03ID:OzqlUzfy
veuはデルミネータ書き換えできるけどv-〜や@〜も別の識別子にかえられると嬉しいのだけど
他のフレーワークに組み込むときちょっと面倒
2022/03/04(金) 10:17:45.71ID:w/zWl7ko
よわよわエンジニア=Vueって認識ができちゃったのが痛い
まぁ実際そうなんだけども
2022/03/04(金) 10:37:42.90ID:tw4cyr50
よわよわでもできるということは優れたフレームワークということ
2022/03/04(金) 11:09:25.25ID:yoTd6F0f
技量や趣向や場面に合わせたもんを使えばええんやで
2022/03/04(金) 11:46:30.70ID:1WGYSUVB
まあ複雑だからすげえ!ってのはおかしいわな
2022/03/04(金) 11:50:23.46ID:tw4cyr50
難しいツールを使える優越感みたいなものを刺激するんだろうな
だからマウント大好きプログラマ達に変な人気がある
冷静に考えると道具としては最悪の性質なんだがねぇ…


まあどのツールとは言わんけどね
頭の中に浮かんだものが答え
2022/03/04(金) 12:05:03.48ID:Tsu39F7a
なんだ? おじさんか?
次スレはワッチョイ入れましょうね。
2022/03/04(金) 12:25:23.31ID:tw4cyr50
きみおじさん好きだねぇ
それしか言わないじゃない
2022/03/04(金) 12:28:48.85ID:I6kjsxUD
よわよわエンジニアの俺はvueとreact両方試してreactの方がシンプルで正統派でかつ勉強してて楽しいと思ったけど、結局vue選んだ
簡単なアプリを実装するってなったらreactだとちょっと大げさに感じた
SNS見てるとフロントエンド以外のかけだしやバックエンドはその手間を嫌ってvueから始める人が多いし、vueがまた形成逆転する可能性は全然あると思う
2022/03/04(金) 13:01:31.21ID:tw4cyr50
hookがトップレベルでしか呼べない、条件分岐もループもNG
こんな冗談みたいな制約さえなければなぁ
あと依存関係配列とかいう河原に石積むような不毛な作業もなんとかならんもんかね
2022/03/04(金) 13:08:03.86ID:ZCbYdVe/
大元がfacebookっていうのがなんか嫌
angular...
2022/03/04(金) 13:25:24.28ID:pLRJ5fot
やっぱりおじさんじゃないかぁ。今日はID変えなくていいの?
2022/03/04(金) 13:38:24.44ID:tw4cyr50
>>932
IDとか別に気にしとらんよ
通信容量などの都合で切り替えてるだけだから
2022/03/04(金) 13:48:01.64ID:9xGeZwsU
格安SIM使いまわしてんのかよw
2022/03/04(金) 13:52:16.24ID:tw4cyr50
節約せんとだからな
2022/03/04(金) 17:11:39.43ID:XUQBJ/V1
>>929
純粋なSPA以外にReactを使おうとしてる人が多いんじゃないかな?
プログラマーが全部支配できない要素が入ってくるとReactは破綻するよ
2022/03/04(金) 18:07:04.89ID:w/zWl7ko
フレームワーク使っといて何言ってんだこいつ
2022/03/04(金) 18:13:11.47ID:yoTd6F0f
Reactでガチャガチャしてるところに横からDOM操作されたらそりゃ無茶苦茶になるけど、それはReactに限った問題じゃないような……
939デフォルトの名無しさん
垢版 |
2022/03/04(金) 18:45:52.56ID:W9GKw7yP
Reactは純粋なプログラミング力が問われる。だから力があるプログラマーが揃えば良いものができあがるんだろう。
だけど大半は技術ないのがほとんどだし、React使いこなせるやつが少ない、結果人が足りなくて比較的使いやすいvueを採用する。
今までweb制作でjquey振り回してたやつはvue選びがちだ。
ただ最近のトレンド見てるとvueからreactに移行しましたって人が多いけど、reactのツラミがまだわからないだけで、そういうのが2、3年後表面に出てきた時にどうなるかだと思う。
Reactにしましたがvueに戻しました、みたいな流れになってもおかしくない
2022/03/04(金) 18:59:29.82ID:JnVndlfp
レス乞食おじさん必死ですよ
2022/03/04(金) 19:06:49.52ID:HXnWKQMr
おじさんが意図的にせよそうでないにせよIDコロコロ変わるので、ワッチョイは必須
2022/03/04(金) 19:28:39.90ID:W9GKw7yP
おれはラスおじじゃないよ?
というかvueとreactの話してんのに何言ってんの?
ラスおじに取り憑かれてんじゃない?
頭大丈夫?
2022/03/04(金) 19:30:07.18ID:W9GKw7yP
やっぱり建設的な会話もできないゴミしかいないようだしこのスレはもう落としていいよ
いつ見ても役に立たない
2022/03/04(金) 19:37:38.47ID:yWG/nqUW
別にあんたがそうだとは誰も言って無いがね
2022/03/04(金) 19:43:55.25ID:uv3K1oo5
Vue3やります
デザイナーやディレクターがテンプレートじゃないと運営無理って言われました
コンポネントとstyled_jsxは無理だとさ
2022/03/04(金) 19:51:35.21ID:j7lWVGxT
フロントエンドなんかやってる程度のやつに力のあるプログラマーなんかおらんよ
DirectXとかフロントやってる程度のプログラマーじゃろくに作品ひとつ作れんやろ
レス数が900を超えています。1000を超えると表示できなくなるよ。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況