Vue vs React vs Angular vs Svelte Part.9

■ このスレッドは過去ログ倉庫に格納されています
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/14(月) 15:24:13.92ID:4hG04sUJ
>>638
hooksは関数のトップレベルでないと正常な実行が保証されない
2022/02/14(月) 15:24:34.35ID:KlVj6RDR
https://reactjs.org/docs/hooks-rules.html
Don’t call Hooks inside loops, conditions, or nested functions.

ってことかと
2022/02/14(月) 15:38:01.12ID:KlVj6RDR
正直俺のレベルだとこんなくらいしか思いつかない

コンポーネント作ってpropsにタイムスタンプ用意して
変更されたらメソッド呼び出しみたいな……

type Props = {
timestamp: number;
}
const TempComponent: React.FC<Props> = (props) => {
const foo = useSuperComplexFooManager();
const { timestamp } = props;
useEffect(() => {
if (timestamp === 0) return;
foo.hoge();
}, [foo, timestamp]);
return null;
}
export default TempComponent;
2022/02/14(月) 15:47:41.25ID:KlVj6RDR
React.createRefならループ中に使ってもok?
だとしたらforwardRefでどうにかいけるかも

const TempComponent = forwardRef((props, ref) => {
const { hoge } = useSuperComplexFooManager();
useImperativeHandle(ref, () => ({
hoge,
}));
return null;
});
2022/02/14(月) 16:09:48.94ID:11/AMapb
サンガツ
なるほどuseRefを使うとサブコンポーネント内部状態を参照できるのか
こりゃ便利だ
2022/02/15(火) 09:56:36.41ID:jZRA5L/z
親子の参照はtree構造では良く使うのにいちいちrefを経由しないと使えないのめんどくさいね
この辺りは他のフレームワークでよくある継承でコンポーネントを拡張する&親子の参照はただのインスタンス参照って方式のほうが直感的でわかりやすいかな
2022/02/15(火) 10:23:25.29ID:iNjbZ+Gv
普通だと親が子のデータを管理するからここまで手間は増えないよ
親のuseStateとContextで賄える
2022/02/15(火) 10:31:18.31ID:jZRA5L/z
普通ならそうなんだけどフックのトップレベル制約の都合で状態やプレゼンテーションロジックを子コンポーネントに預けないといけなくて辛いねという話の流れではなくて?
2022/02/15(火) 14:24:18.35ID:+57I4T89
ReactNativeのSSRってのは無いのかな
2022/02/15(火) 15:08:44.00ID:6z6Nq8Ea
どういうこと?
2022/02/15(火) 15:32:59.86ID:+57I4T89
ロジックもレンダリングもサーバーサイドで完結できないかなって思った
ブラウザは機能不足、WebViewは遅い、なのでネイティブがいい
でもネイティブの酷い開発者体験はどうにかして回避したい、というワガママ
2022/02/15(火) 16:10:32.61ID:/0MPsAKI
ExpoのOTAアップデートが限界だろうね
2022/02/16(水) 02:37:57.40ID:yTo1vhWy
フロントエンド改修するのにReactかVue3で迷ってる
世の流れ的にいくならReactにしない理由はないと思うんだけどなんか好きになれんのよな

Vueはテンプレートの構文がわかりやすくて好きなんだけど、結局typescriptとの親和性の観点でtsxで書く流れになってきてるから、tsx使うならReactでよくねとも思う
Reactだと依存配列書き忘れとかも以外とやりがちで、Vueはcomputedがその辺全部いい感じにやってくれるから自分的な差はそこくらいかなあ

なんかここで選べみたいなのあります?
2022/02/16(水) 02:39:11.36ID:M+aaKIjO
サイコロ
2022/02/16(水) 09:42:10.90ID:LA+91iGg
XML文字列をパースしてReactNodeを生成したい
EVALで出来ないかな
2022/02/16(水) 10:02:19.35ID:XlkkFeep
つ DOMParser
2022/02/16(水) 11:11:36.19ID:CMcpZLXP
vueはとっかかりはホント楽だよなあ
でも流れとしてはReactのがよさげっての悩みどころ
2022/02/16(水) 12:05:58.95ID:XlkkFeep
Reactは状態管理のライブラリが〜みたいなややこしそうな話題が飛び交い、触ってみると実際ややこしく感じるけど、最初が混乱すること多いだけであとはわりとぬるい。
ペットボトルみたく入り口だけキツイ。という個人の感想です。
2022/02/16(水) 12:56:27.25ID:re4+z6VY
reactは選択の幅が広いからそれを楽と捉えるか苦と捉えるかの違いだろな
使ってみて合わなければ他の選択肢が沢山あるってのはやっぱ魅力よ
2022/02/16(水) 13:03:27.73ID:OAb5AWjq
reactは従来のコーディング習慣と違いすぎるのが嫌い
JSXリテラルはキモいけどまあシンタックスシュガーと考えればギリギリ許容範囲
しかしフックはIF分やループ中で使っちゃダメってのが非常識すぎて耐えられない
2022/02/16(水) 16:53:40.65ID:9208qGMd
>>658
使えますよ
2022/02/16(水) 20:05:01.77ID:CZttmVO4
>>658
気持ちはわかる
確かにハマりどころは多い
2022/02/17(木) 12:01:42.35ID:w+/1Lj7H
よわよわエンジニアの俺は無事vueを選びました
2022/02/17(木) 12:21:29.09ID:OzlxMNFt
Svelteこそ易しいと思うんだけど、そうでもないんです? 情報が少ないとか?
2022/02/17(木) 12:41:38.57ID:3qJ3MVN8
なんだかんだでMVVMの方が好きだな
UIの振る舞いを記述するならオブジェクト指向の方がメンタルモデルとも一致するし実装上の変な罠も少ないから簡単でメンテナンス性も高い
レンダリングは確かに関数の方が簡単だけどね
2022/02/17(木) 12:56:35.11ID:OzlxMNFt
俺は関数畑なのでReactがしっくり来たけど、そのへんは人に寄るよね
2022/02/17(木) 13:36:09.37ID:D3Kp3a02
>>663
どのmvvmの事?

angular?
knockout?
2022/02/17(木) 16:12:10.27ID:I7WC7Zfj
アトミックデザインってSPAに合わなくない?
カタログは綺麗になるだろうけどディレクトリがごちゃごちゃになる
普通に機能目的別にコンポーネント分けた方がスッキリする
2022/02/17(木) 19:13:53.80ID:Ru9+sq7u
>>662
情報が少ないってのはかなりネックだね
それだけでもゼロベースから導入するのにそこそこ高い能力が必要になるからな
2022/02/17(木) 19:25:43.29ID:OZi8jI3k
ゼロベースで大変なのはJS系はどれだって同じだ
2022/02/17(木) 19:47:58.98ID:mjDg/nR6
タスクランナーとか周辺ライブラリ選定して、設定とか全部書いてた頃に比べたらだいぶ良くなった
2022/02/17(木) 20:08:23.60ID:NEaK+e9H
多様性とか要らねえんだわ
tscを集中的に強化して他のエコシステムをはやく駆逐してよ
2022/02/17(木) 22:32:33.59ID:+LogEHPO
>>662
趣味なら良いけど仕事では使いにくいね
2022/02/17(木) 22:47:31.25ID:OzlxMNFt
>>667
>>671
なるほどね〜。まだまだこれからって感じか
2022/02/18(金) 00:29:30.37ID:PaBs7/1m
Vueでspaログイン認証作ってるんだけどjwtの知見って必須なの?
2022/02/18(金) 00:39:19.42ID:e8a3Yeks
フロントでログイン認証とかそんな恐ろしいことできねえわ
2022/02/18(金) 00:39:35.85ID:uafM90mr
jwtなんかべつにいらんよ
ログインなんか普通になんもせずにPOSTしてるのがほとんどだよ
2022/02/18(金) 01:53:25.40ID:TADg4zOp
なんちゅうアドバイス...
2022/02/18(金) 06:54:28.62ID:IqCRW1xd
JWT使うなら有効期限短くしてちゃんと使い捨ててくれよ!

データ抜かれても良いならまぁわりと雑でも良いと思うけど、パスワードとか個人情報みたいなデリケートなもの出てきたらさじ投げてAuthサービスとか信用できるライブラリ使うなぁ。生兵法危ないし。
2022/02/18(金) 16:30:43.10ID:iM7UJulb
reactの野良OSS、品質どうにかならんもんかねぇ
公式がもう少ししっかり整備してくれんとダメだな
2022/02/18(金) 16:38:45.20ID:iM7UJulb
つうかね
野良の分際でreact-*だとかreact-native-*って名前はダメでしょ
企業か個人の制作ですってわかるようなワード入れようよ
ウェッブの連中は何もかもが無責任で適当すぎて頭にくるぜ
680デフォルトの名無しさん
垢版 |
2022/02/18(金) 18:09:30.18ID:DCygpPrM
名前なんかつけたもんがちだからな
名前で管理すること自体が間違い
2022/02/18(金) 18:13:35.79ID:IqCRW1xd
OSSなんだから信用出来るものを選定したりちゃんと機能するように環境を整えるのも技術者の腕の見せどころ。
それにRustだろうがGoだろうがPythonだろうがJavaだろうがライブラリやフレームワークの命名規則なんてけっこうガバガバだゾ
2022/02/18(金) 18:38:24.98ID:QjRPAftj
それが当たり前と考えてる時点でもうダメなんだろうな
エコシステムが洗練されなくなる
多くの開発者が興味とは全く異なる部分で苦しむことになる
2022/02/18(金) 19:02:51.86ID:VJge2qpl
自分で作れば?
2022/02/18(金) 19:15:02.47ID:TAXpzSh0
Forkすれば?
2022/02/18(金) 19:51:16.27ID:tiifqQ9V
>>651
React は海外に多い。JSX も便利

一方、Vue.js は、下のスレに書いたように、
YouTube で有名な、雑食系エンジニア・KENTA のRuby on Rails サロンで、
初心者の転職用に、React よりも、Vue.js を勧めている

日本では、Vue.js の方が、転職に有利

スレ立てるまでもない質問はここで 159匹目
https://mevius.5ch.net/test/read.cgi/tech/1644673480/73
2022/02/18(金) 20:29:44.01ID:q1ySa1je
OSSを利用していないものだけが石を投げよ
2022/02/18(金) 21:22:26.26ID:xes3bnmd
>>685
ケンタそれは悪手だぞ
いまからReactに変えろ
688デフォルトの名無しさん
垢版 |
2022/02/18(金) 21:51:56.43ID:DCygpPrM
>>682
名前が早い者勝ちになる問題は解決策がないんよな
689デフォルトの名無しさん
垢版 |
2022/02/18(金) 22:28:25.42ID:Um4cr3Ro
そこでangularですよ
何も考えなくて良かろう
2022/02/18(金) 22:43:01.99ID:lIo2zGhM
>>673
これ言葉足りずだった。
railsとvueでspa作成しててそのログイン認証と状態保持にjwtをcookieに保管する方法してるんだけど、この形ってspa開発ではスタンダード?
2022/02/18(金) 23:08:17.30ID:e8a3Yeks
なんでjwtを採用してるのかをちゃんと説明できるならいいんじゃない
2022/02/18(金) 23:20:44.82ID:TADg4zOp
べつにjwtでなくても良いし
2022/02/19(土) 00:05:01.72ID:RzFkYtPT
>>689
angularってもうGoogleの社員しか使ってるの見たことねえ
2022/02/19(土) 00:08:54.14ID:UkMRjGML
Googleの社員なんて見たことない
695デフォルトの名無しさん
垢版 |
2022/02/19(土) 00:46:49.77ID:oEwkOcqo
>>689
Angularいいよな
2022/02/19(土) 00:49:53.85ID:RzFkYtPT
angularの良い点を教えてくれよ
なんかもう終わったものとして扱われてるけど
2022/02/19(土) 00:53:52.91ID:yc9OR0yy
オリジナルの開発者が逃げた時に
もう終わってたでしょ
698デフォルトの名無しさん
垢版 |
2022/02/19(土) 01:19:21.23ID:oEwkOcqo
>>696
良く言えば破壊的変更が少なく安定してる
学習曲線が、、と言われるがちゃんと調べれば最適解がありほぼ悩まない安心感
ただもちろん世間じゃreact優勢だし無理に薦めない
2022/02/19(土) 10:51:06.25ID:57Y9jhR0
Better angularを目指したのがvue
だったはずなんだけどだけどなんでこうなった
700デフォルトの名無しさん
垢版 |
2022/02/19(土) 10:59:28.03ID:XG+DQ0WV
reactはJSの動作をそのまま使ってるのがすごい
2022/02/19(土) 11:35:02.06ID:yc9OR0yy
reactはシンプルなんですよ
jsそのまんまって感じ
2022/02/19(土) 11:41:00.44ID:0E198k18
全然シンプルじゃない
hookの制約とか非常識すぎる
2022/02/19(土) 12:05:01.28ID:TtXtFDlb
>>689
Angularはいざ使おうとなったらマスターでも居ない限り調べる事やら覚える事が大杉だろ
その点Reactがjavascriptさえわかればなんとでもなる
2022/02/19(土) 12:16:47.78ID:yc9OR0yy
>>702
自分もあんま好きじゃないhookですけど
覚えること少ないし
機能自体はシンプルなんで
Vueより習得早いと思いますね
自分もあんま好きじゃないですけど

それとhookはガチで使わなくても
appの直下ぐらいで
viewの定義体を全部プロパティ経由で流しこめば
行けるんじゃないでしょうかね?
嫌いなひとは
2022/02/19(土) 12:19:18.80ID:yc9OR0yy
>>703
早いんですよねreactは習得が
未経験でもTodoぐらいの機能だと
初日でできちゃいますね
2022/02/19(土) 12:25:42.08ID:EtLZyrFy
みんなバリデータは何使ってる?
Ajvはクライアントで使うにはややファットだ
2022/02/19(土) 12:34:18.03ID:lqH+muYT
>>704
それやると今度はバケツリレーきついんだよね
気持ち悪いhookを使うかバケツリレーで疲弊するかどっちか
2022/02/19(土) 12:34:41.50ID:lqH+muYT
>>705
それは題材が単純すぎるだけ
2022/02/19(土) 12:36:41.80ID:lqH+muYT
ほらね簡単でしょ?って言ってる製品ってチュートリアルにそって手を動かしてるだけの場合も多いんで、あんましあてにならん
そこそこの規模の業務レベルのシステムを組んで初めてツラミが見えてくる
2022/02/19(土) 12:44:47.19ID:yc9OR0yy
>>707
で、次にuseContextを導入して
調整すればいい感じになりませんか?
2022/02/19(土) 12:51:24.09ID:lqH+muYT
MVVMは良かった
ごく普通のオブジェクト指向を知ってれば誰でもVMが書けた
あとはViewとバインドするだけ
ソースコードに無粋なXMLもスタイルも登場しない
ソースコードには振る舞いだけを書けばいいのだ
素晴らしい疎結合の世界
これなら研修を終えただけの新卒でもできる
オブジェクト指向は人間のメンタルモデルにフィットするこれが大事なことだ
ただViewを実装したフレームワークが残念だった
Microsoftはこの点について猛省しなければならない

reactは新卒には無理だ
関数型なんて初心者には理解できない
高階関数?美味しいんですか?
ループのなかで使ってはいけない?なんでですか?
ぼくが欲しいのはStateの配列であって配列のStateじゃないんですよ
memo?callback?いったいなんでこんなものを書かないといけないんです?
依存配列のせいでコードがめちゃくちゃ見にくいです
コールバックを修正したら間違いなく依存配列も直さないとダメだって?めんどくさすぎませんかね
2022/02/19(土) 12:52:24.10ID:lqH+muYT
>>710
それは気持ちの悪いhookを深い階層のコンポーネントに導入することに他ならない
コンポーネントの純粋さは失われて気持ち悪いこんになる
2022/02/19(土) 12:52:37.93ID:lqH+muYT
コンポーネントになる
2022/02/19(土) 12:56:23.78ID:yc9OR0yy
素性が判ったかんじ
2022/02/19(土) 12:56:36.83ID:EtLZyrFy
ライブラリが目先のシンプルさに囚われると逆に複雑な構築を強いられる事はままあるけど、その点、Reactは上手い構成だと思って使ってる。
合わないなら使わなければいいし、仕事なら慣れるしかない。

って、この人例のおじさんっぽいな
2022/02/19(土) 12:57:06.77ID:yc9OR0yy
だと思います
2022/02/19(土) 12:58:15.28ID:lqH+muYT
reactおじさん達は私にreactを売り込む時に純粋関数でUIがチョー簡単に書ける夢のような世界だと言いました
それがどうです?
現場のプログラマは副作用だらけのコンポーネントに疲弊してるじゃないですか?
そして副作用から逃げたら悪夢のような階層のバケツリレーですよ
コンテキスト?それは副作用だろ!
現実の世界は関数じゃないんですよオブジェクトなんです
そこをよくご理解いただきたい
2022/02/19(土) 13:02:27.69ID:pOD18rvW
関数型パラダイムとかReactについて行けない人が居るのはわかるし仕方のないことだと思うけど、こんなとこで愚痴られてもなぁ
2022/02/19(土) 13:03:36.61ID:yc9OR0yy
理解力のないメンバーに認識させるには
どうすれば良いでしょうか?

一番確実なのは
コードを対比させて見比べさせる事でしょうかね?
2022/02/19(土) 13:05:44.59ID:lqH+muYT
そういうとこだよ
「ついていけない」という表現が自然と出てくるってことは内心では無意識に難しくて使いにくいフレームワークだって思ってんだろうな
2022/02/19(土) 13:07:30.13ID:yc9OR0yy
この人の指してるmvvmって
angularとかのイケてるのじゃ無い方のですからね
2022/02/19(土) 13:11:30.01ID:CvzWTrWt
>>721
そんな感じだよね
2022/02/19(土) 13:14:59.27ID:XlinVUCj
>>690
面倒くさがりな香具師のために、
誰かがRuby on Rails 用の各種プロジェクト generator を作っている

Boring Generators
https://github.com/abhaynikam/boring_generators

ログインは皆、Devise を使う。
Omniauth で、Facebook, GitHub, Google, Twitter など
2022/02/19(土) 13:21:20.15ID:57Y9jhR0
あれもダメこれもダメなら自分で作れよ
ワガママな乞食だな
2022/02/19(土) 13:59:41.44ID:EtLZyrFy
批判内容がふわっとしてるというか上の方で見た意見そのままなので、おじさんはReactエアプっぽい
2022/02/19(土) 14:11:39.62ID:TtXtFDlb
>>707
バケツリレーはコールバック地獄と似た様な構造で全世界的に問題になってるだろうしその内それに関するasync/awaitみたいな解決策は出てくるだろうね
2022/02/19(土) 14:42:37.09ID:UtJ5+OK2
世界的にとか主語を大きくする癖やめた方が良いよ
2022/02/19(土) 15:07:56.13ID:PBw8xajc
JSに暗黙的引数渡しみたいな機能があれば良いのだけどね
2022/02/19(土) 15:30:55.33ID:G1Uce/84
まだ全宇宙的までいってない謙虚さ
2022/02/19(土) 17:07:33.86ID:1iBin5YC
MVVMよりMVCのほうが全然よくね?
2022/02/19(土) 17:26:43.59ID:ZgwHHXdf
JSフレームワーク初心者だけど、vueが格段に分かりやすかった
というかvueが昔のhtmlファイルの構成を想像しやすいんだよな

Reactは単純なファイル構成にならない、というかページじゃなくシステムを作ってる感覚
2022/02/19(土) 17:58:12.54ID:l6YBVMYV
おじさん今度はvueに移ったのか
2022/02/19(土) 18:05:26.30ID:wIf+frVg
流石に違うんちゃう?
こういう疑心暗鬼、嫌だなぁ。次スレはワッチョイあったほうが良いよマジで
2022/02/19(土) 18:12:34.69ID:Q/4e3MFr
>>731
それはコントロール分割の程度の話で
reactもvueも変わらんのじゃないの?
2022/02/19(土) 18:36:43.80ID:TtXtFDlb
まあそりゃ元々がjQueryやってた感覚からするとvueが分かりやすくとっつきやすいって言い分は分かる
ただそれは使えてるってだけで使いこなしてる段階ではないと思う
2022/02/19(土) 18:43:11.89ID:Gaj/uCI/
vueは3になってグダグダになった
今はReact一択
737デフォルトの名無しさん
垢版 |
2022/02/19(土) 19:05:51.41ID:VUPxXfHX
海外で圧倒的な差がある以上それに逆らうと損するだけ。
どんどん優位性が広がるだけだから、どこかで折れる事になる。
なら早いほうが良い。
2022/02/19(土) 19:26:11.18ID:7YJ9GF0A
でもコンポーネントライブラリVueのほうが良さげなの多いんだよね
2022/02/19(土) 19:31:11.70ID:nQYk92P7
野良ライブラリが多すぎる
公式はろくに仕事せず無報酬の素人任せ
最終コミットが平気で数年前とかある
責任感なんてあったもんじゃない
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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