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/01/28(金) 13:45:11.84ID:YWAMkj5y
redux持ち上げてたやつ反省しろ
2022/01/28(金) 14:21:14.42ID:/PNsDlHJ
パフォーマンスに取り組もうとするとuseCallback地獄になってコードの見通しが最悪
依存性指定は間違えやすいのに間違えるとデバッグしにくいバグになって現れる
困ったものだ
2022/01/29(土) 07:46:05.80ID:PT9fjyp1
こういうパターンがあるのか。良さげ

コンポーネントをカスタムフックで提供する
https://engineering.linecorp.com/ja/blog/line-securities-frontend-3/
2022/01/29(土) 08:42:38.68ID:Alu86MyQ
普通のカスタムフックに見えるけど
うちのにもuseが大量に転がってるぞ
カスタムフックだらけだ
2022/01/29(土) 08:55:48.59ID:PT9fjyp1
結構使われてるのか〜
2022/01/29(土) 09:12:06.81ID:Alu86MyQ
>>240
関数が関数を帰す事をやってない人からみたら
目新しく見えるだけ
2022/01/29(土) 09:16:48.65ID:PT9fjyp1
>>241
いや、高階関数には親しんでるけど、カスタムhookには詳しくなくてね。
勉強になりました。ありがとう
2022/01/29(土) 09:17:07.12ID:7vtiEs09
ロジックと外観が密結合していてなんかもやもやするがこれが正解なのか?
2022/01/29(土) 09:20:42.85ID:Alu86MyQ
>>243

フック入門としては分かりやすくて良いけど
2022/01/29(土) 09:43:05.22ID:7vtiEs09
renderは分けたほうがいいよ

const useChecks = (labels: string[]) => {
const [checkList, setCheckList] = useState(labels.map(x=>false));
const handleCheck = useCallback((index: number) => {
setCheckList((checks) => checks.map((c, i) => (i === index ? !c : c))) }, []);
return {
labels, checkList, onCheck: handleCheck,
isAllChecked: checkList.every(x=>x) }

const App = () => {
const checks = useChecks(["a", "b", "c"]);
return <div>
<Checks {...checks} />
<button disabled={!checks.isAllChecked}>next</button>
</div>
}
2022/01/29(土) 09:52:17.20ID:7vtiEs09
>>244
理解できるかどうかでなく良し悪しの問題な
フックは元々コンポートから状態・副作用を抽出するためのものなのにrender hookパターンじゃあ取り除けてないどころかさらに強固に結び付いてるじゃないか?
俺が書いたごく普通のフックなら完全に見た目と振る舞いが分離してるので再利用性が抜群に高く、デフォルトの動作を提供するのも簡単だろ
2022/01/29(土) 11:30:56.31ID:Alu86MyQ
抽出?

2022/01/29(土) 11:39:03.04ID:BkpHeBcG
>>245
どちらかというと俺もそんな感じに書くな

選択肢や選択状態というデータと
チェックボックスという見栄えは
分離させておきたいかもってことで
2022/01/29(土) 14:54:58.79ID:+jFhk8/e
>>136
useStyleってv5ではあんま使わなくなった印象
2022/01/29(土) 15:13:12.86ID:+jFhk8/e
>>136
お前そもそもBootstrapすら使った事ないだろ
2022/01/29(土) 15:14:57.47ID:+jFhk8/e
>>235
useContex使うよりはrecoil使う方が楽だと思うけどなあ
2022/01/29(土) 19:12:41.17ID:xQSF1qR+
SuspenseってFlatListでどうやって使えばいいんだ?
253デフォルトの名無しさん
垢版 |
2022/01/29(土) 21:25:26.99ID:864llvBj
Flatlistに組み込まれないと無理なんじゃねーかな
2022/01/29(土) 21:29:33.14ID:hu0dsptD
hooks、逆に混乱する要素増やしただけじゃん
2022/01/29(土) 21:43:32.60ID:xaAFpCmk
だよな
svelteの巻き返しあるかも
2022/01/29(土) 22:31:16.11ID:ZBsBaXWY
>>253
やっぱそうか
Microsoftが.netにasync awaitを導入した時みたいにライブラリ側も一気に対応してくれんと困るよね
そのあとサードパーティのライブラリも対応時間かかりそうだし
しばらくは混乱が続くのかなー
2022/01/30(日) 03:50:00.39ID:r2LSfyqT
ReactからSvelteに移行する人は元からReactでやる必要のない事をReactでやってた人だろうな
自称Reactヘビーユーザーとか言ってたのとかまさにそれ
2022/01/30(日) 11:11:15.26ID:tCzC1fsY
reactは場面場面で最適な書き方がガラッと違ってて統一感なくなるのがしっくりこない
非同期読み取り専用ならSuspense
入力系なら別の書き方、FlatListなら読み取りだけでもまた別の書き方、複合的な画面はカオス、みたいな
259デフォルトの名無しさん
垢版 |
2022/01/30(日) 12:41:32.79ID:pNxj8sgR
それは何使っても一緒では?
さまざまなライブラリを組み合わせる都合上仕方ないことかと
2022/01/30(日) 12:53:14.17ID:LWsZFFBD
Reactのコードって
ゴミゴミしいんだよなーー
可読性に難がある
2022/01/30(日) 12:58:54.46ID:LRHiyQzP
Reactはデータ構造がスッキリするから全体としては見通しが良くなる
2022/01/30(日) 13:06:36.70ID:Yv8lfaOV
大規模サービスを構築するならReactの方が良いけど
ちょっとした画面表示くらいならVueのほうが書きやすいんよね結局
だから日本企業に合ってるのはVueなんよ
2022/01/30(日) 13:11:05.43ID:DgfUQ907
svelteのREPL SZVg viewBox animationのHTML部

{#each Array(4) as row, row}

がある。
javascriptでは解釈されるのに、typescriptではrow,rowの重複が問題になると警告が出る。
この回避方法って分かります?
264デフォルトの名無しさん
垢版 |
2022/01/30(日) 14:01:02.68ID:ptxVZ4lJ
>>262
日本企業ディスりすぎだろw
2022/01/30(日) 19:25:52.18ID:ZU13Jy4b
>>262
ちょっとした画面だと思ってたものが壮大な画面になるのは日本企業あるある
yahooのトップページをみろ
いまだにあの古臭いデザインだぞ
2022/01/30(日) 19:56:11.11ID:BnqgoCwE
担当のお客さま複雑だと使ってもらえないって自分で言っときながら要件はめちゃくちゃ複雑なの出してくるんで呆れた
reactだと簡単に実装できちゃうから要件のんでそのまま作るけどMVCでシンプルな設計にした方がエンドユーザーは喜んだだろうな
2022/01/30(日) 20:12:24.88ID:F79hzdqm
ReactだろうがMVCだろうがエンドユーザーにはシンプルに使えるようにするのがお前の仕事だろ
2022/01/30(日) 20:36:25.75ID:Mi/4eGx6
そりゃ無理だね
複雑に使いにくく作るのがユーザー要件だから
2022/01/30(日) 20:54:46.23ID:F79hzdqm
そっか
じゃあ問題ない
270デフォルトの名無しさん
垢版 |
2022/01/31(月) 02:25:23.43ID:27zEm3X2
そこでサードライブラリを入れないで使えるAngularですよ
誰がやってもフレームワークの書き方
2022/01/31(月) 02:44:02.27ID:kjCw75+R
何も考えたくないならangularだね
Googleで使われてるし少なくとも数年後に捨てることはまずないし
捨てたとしても移行ツールは用意されるはず
2729
垢版 |
2022/01/31(月) 05:14:19.99ID:Ph6Okw9C
>>263
このスレは、荒らしが立てたスレです。
まともな人は、移動してください!

>>9-10
を参照
2022/01/31(月) 05:26:45.90ID:vLgC5D68
そのスレお前すら使ってないじゃん
先にお前が移動しろよ
2022/01/31(月) 06:59:29.82ID:f5fZPWiB
このスレになってから明らかに内容が良くなったし、あっち行く理由がない
2022/01/31(月) 20:04:14.52ID:ckOFtcve
>>233
使い回さないページ固有のコンポーネントにContainerやカスタムフックで分離して注入する
あと、propsですべてを渡すのは変更や修正に弱い
影響範囲なんて狭いに越したことはないだろ?

>>237
だから結局は小規模でもRedux(RTK)やRecoil使って上位で疎結合にしたら良い
下位は使い回すこと前提だから純粋な状態を保つようにする
2022/01/31(月) 20:21:33.23ID:FSK5xZBq
上位に副作用を集約して下位に流し込んでくだけ
特に変更に弱かった事例にもあたったことないな
これが変更に弱かったらreact以外の関数型も全部変更に弱いってことになる
2022/02/01(火) 10:33:40.98ID:GQYMskmN
https://engineering.linecorp.com/ja/blog/uit-baseline-for-front-end-development-in-2022/

みなさまこれは読まれまして?
jおじが喜びそうな内容になっておりますわよ
2022/02/01(火) 11:01:39.02ID:EriX4J2e
簡易で軽いサイトほど低機能や低レベルなライブラリ、プラグイン等で事足りてるってことは普通じゃないか
2022/02/01(火) 12:08:16.92ID:oWcgNNz/
だから僕はPreact!
2022/02/01(火) 13:07:04.03ID:7mffSkDW
WebはMVCでいいじゃん
VSCodeのような複雑なブラウザアプリケーションを作るときだけSPAを使えばいい
SPAを使うこと自体が目的になってちゃダメだ
2022/02/01(火) 13:26:35.91ID:ibhv2tch
また何もわかってないゴミクソが吠えてるのか
2022/02/01(火) 14:52:45.60ID:0IOClaGB
ちょっと複雑なフォーム作ることになった時点でもうReact使った方が楽
283デフォルトの名無しさん
垢版 |
2022/02/01(火) 15:49:19.28ID:6mdcUfy4
すまんが当社ではうちのフレームワークで作ってもらう規則なんだわ
物ができればいいってだけの10画面程度の小規模じゃないんだし好きにやってもらっちゃ困るよ
2022/02/01(火) 16:08:54.24ID:XW1MHiMg
>>283
ダメェ?
2022/02/01(火) 16:37:39.30ID:oWcgNNz/
>>283
うちのって言ってるあたり独自で不便で何なら遅いやつなんだろうな……
286デフォルトの名無しさん
垢版 |
2022/02/01(火) 16:41:51.56ID:7wJjRtdC
なんかesbuild使うのがこれからの常識になるのかな
まだプラグイン周りが充実してないから
足りない部分自作しなきゃいけないのが辛い
287デフォルトの名無しさん
垢版 |
2022/02/01(火) 18:34:14.71ID:pHWNICOb
このご時世にjQueryで金になる仕事なんてほとんど無いでしょ
2022/02/01(火) 19:59:39.42ID:J5v9RpnE
>>282
その時点でUX見直す方が楽
2022/02/01(火) 20:02:21.79ID:mlgA7CGA
う〜んこの気配。おじさんの加齢臭を感じる
290デフォルトの名無しさん
垢版 |
2022/02/01(火) 20:04:00.94ID:yOt4tsPX
いつでも見てるぞ
2022/02/01(火) 20:04:17.79ID:p8SdLc2x
エコシステム変わりすぎ多すぎ問題ははやく解決してほしいんだが
JS系のコミュニティって俺が俺がって感じで協調性ないから永遠に無理なんだろうな
2022/02/01(火) 20:13:22.91ID:oWcgNNz/
かと言って某言語みたく15年位ずっと同じフレームワークが第一線なのもそれはそれでちょっと……
2022/02/01(火) 20:19:05.28ID:p8SdLc2x
15年使われなくてメンテされてないのと
15年使われて磨かれてるのは全く別なのだがまあいいや
2022/02/01(火) 20:22:04.52ID:oWcgNNz/
それはそうだな。そういうニュアンスではなかったんだけど、すまんかった。
2022/02/01(火) 21:16:04.68ID:YoI1IuIQ
これ使っときゃテッパンっしょってのも楽っちゃ楽だよね
springとかmojoliciousとかlaravelとか
phpは必ずしもそうではないかもだが
2022/02/01(火) 21:36:15.98ID:VJwfpr2F
エンジニアリングをエンターテイメントとして捉えてるかどうかの違いかな
陽キャエンジニアにとってはそれを使って自分達がエキサイトできるかどうかが最も大事なこと
2022/02/01(火) 21:55:31.92ID:zbeL2VVW
モチベーションは開発における無視できない大きな要素って意味なら同意
2022/02/02(水) 00:12:35.92ID:mqKZfb5h
>>291
それを楽しめないと無理
最近だとまたviteというwebpackを置き換えるものが現れた
しかも作者はevan you
まさかのwebpackがオワコンになる可能性が
2022/02/02(水) 17:20:02.77ID:PSdK9kaF
日本でReact使ったまともなWebシステムがゼロなんだよなあ
海外はたくさんあるが
300デフォルトの名無しさん
垢版 |
2022/02/02(水) 18:25:52.36ID:4K/CuUGk
大きなシステムになるともう共通部品とかは他で作ったものがあるからそれ使うべきってなるし、
大きなシステムは外からの個人事業主とかの派遣さんにも来てもらうことになるけど
個人とかのいわゆる派遣さんに求められるのは皆と同じものを作ることであるという事実からReactなんか求めないからなぁ
2022/02/02(水) 19:12:52.57ID:shmGW+AQ
>>299
好きだよね。海外はー、海外はーっていうのw
2022/02/02(水) 19:17:46.89ID:0QTWcy7E
Reactのコンポーネントって並べるだけなら楽なんだけどデザイン変更したり動作をカスタマイズしようとすると途端に難しくなる
オブジェクト指向でプライベート変数にアクセスしたくなったときに似てる
2022/02/02(水) 19:39:44.60ID:VFBcmn4C
逆じゃね?
並べるのは手間だけどカスタマイズや連携は楽
2022/02/02(水) 19:39:49.84ID:wjF+5Nwm
>>301
比較が海外しかないじゃん
好きとかの問題じゃない

>>300
他ってなんだ
オレオレフレームワーク?

>>302
日本のプログラマーはアホしかいないから難しいらしいよな
俺には難しい理由がわからん
2022/02/02(水) 19:52:19.45ID:4K/CuUGk
>>304
他っていうのは他の業務でだよ
何百画面もあるようなデカい仕事受けるような会社だけじゃなく
しょっぱいシステム屋とかでもたぶん流用がデフォやで

例えば文字を数値に変えて変えれないなら0を返すToIntegerとか
そういう共通関数群が大量にあるからそれ使ってもらうってのはそれなりの大きさの業務では基本やで
2022/02/02(水) 20:32:36.99ID:wjF+5Nwm
>>305
そんな共通ユーティリティみたいなことは言ってない

フレームワークレベルでコレ使えってなってるのか?
デカい仕事ってバックエンドがゴミ部屋のようにめちゃくちゃな管理してフロントはショボいっていう仕事だよな
307デフォルトの名無しさん
垢版 |
2022/02/02(水) 20:56:20.06ID:F1Bh9Mbh
おじさん芸風変えたの?
2022/02/02(水) 20:56:23.20ID:shmGW+AQ
>>304
海外ってどこですかー?
北朝鮮も海外ですが?

具体的なことを知らんから
海外ってひとくくりにする
2022/02/02(水) 20:57:41.24ID:4K/CuUGk
>>306
例えば得意先コード入力したら得意先名が右のラベルに表示されるようなものとか
ReactやVueで作ってあってもどうせフロントの人らは仕様書みて部品はっつけて終わりやで
2022/02/02(水) 21:05:19.17ID:wjF+5Nwm
>>309
ルックアップコンポーネントみたいな奴だな
で、このスレと何の関係があるんだ?
2022/02/02(水) 21:11:40.10ID:4K/CuUGk
ん?日本でReact使ったまともなWebシステムがゼロなんだよなあ
からの流れだよ

結局のところ全体のフレームワークとしてバックエンドにまで絡めて既存の資産を捨てるほど大きなプロジェクトでReact使うことでの価値は無いってだけで
小規模のホームページとかそういうのならぜんぜん使ってもいいんじゃないっていう話だよ
2022/02/02(水) 21:19:45.20ID:VFBcmn4C
まぁクソデカSSRシステムに組み込めとか言われたらそうなるかもしれん。でも今後は変わるんじゃね?
2022/02/02(水) 21:36:33.87ID:wjF+5Nwm
いやほんとまともにReactとかで規模の大きめのシステム作れるやつがまったくいない
日本のプログラマーがゴミクソばかりで世界一のIT後進国だからな
2022/02/02(水) 21:45:08.40ID:kAVlvH6X
webじゃないがSikiっていう専ブラはreactだったはず
2022/02/02(水) 21:53:49.27ID:FnKL8+UX
ここの連中集めればReact技能者は集まりそうだけど技術選定と設計ですげー揉めそうw
2022/02/02(水) 22:18:45.71ID:/mav0pKx
好きなフレームワークで1人1ページ担当してがっちゃんこしよーぜ!
2022/02/02(水) 22:37:51.13ID:4K/CuUGk
じゃあおれバックエンドをVBScriptでやるわ
おまえらフロントすきにしていいぞ
2022/02/02(水) 22:39:20.46ID:mqKZfb5h
>>317
ごちゃごちゃと障がい者みたいにつぶやいてないで
一回自分でやれ
319デフォルトの名無しさん
垢版 |
2022/02/02(水) 22:58:02.85ID:U4FYar4x
じゃぼく「それjQueryで良くない?」って言う係
320デフォルトの名無しさん
垢版 |
2022/02/02(水) 23:36:32.04ID:lahnM78W
技術選定だとReact、Nextjsを選んだ以上にCSSどうするかはかなり悩んだな。
結局CSS Modulesが最良と判断したが。
321デフォルトの名無しさん
垢版 |
2022/02/03(木) 16:23:18.14ID:lgiX7Hgc
個人的にはUtility Firstなやつが楽かな
クラス名考えるの面倒だし
2022/02/03(木) 17:35:40.81ID:ebvxhmMF
いやもうnuxtで良くない?
2022/02/03(木) 18:48:10.96ID:6Dh6mPMN
今更vueって
2022/02/03(木) 19:47:20.12ID:7n8GI//Z
React/Next.js系がデファクトスタンダードだよな
2022/02/03(木) 20:28:23.89ID:Vl/Cta+D
>>324
それってデータあるんですか?
2022/02/03(木) 20:31:10.87ID:MXZ4rICE
wasmでdomが扱えるようになったらrustで書けるフロントエンドが流行るはず
たぶんrustで書けるreactがそのまま出てくるから結局react覇権になりそうだが
rustはtypescriptの利便性保ちつつより堅牢で高速だから欠点無い
2022/02/03(木) 20:34:08.26ID:Vl/Cta+D
マイナスが0になったら
流行るはずって思ってるやつ多いよな

LinuxでWindowsアプリが動いたら
流行るはずとかさ
2022/02/03(木) 20:43:12.09ID:MXZ4rICE
rust版reactとjs版reactの機能が同等になったら
新規プロジェクトでみんなrust版を選ぶようになるはずから
そうなったときがjs/tsの将来性が無くなる瞬間かもしれない

reactがrust版を出すんだったらvueとかsvelteもrust版出すはずで
結局今とフロントエンドライブラリの選定は変わらないのかな
2022/02/03(木) 20:48:01.47ID:Vl/Cta+D
rustの方が冗長なんだから、
そんなことにはならないって言ってるんだがw
2022/02/03(木) 20:48:33.70ID:Vl/Cta+D
なぜ劣る言語に変えると思うんだろうかね
331デフォルトの名無しさん
垢版 |
2022/02/03(木) 21:19:21.75ID:6wgPHS5H
wasmからjsをバインディングしてdom操作すんの?
馬鹿じゃね?
2022/02/03(木) 21:45:39.19ID:H8+FjILX
Rustは素晴らしく洗練された言語だけど、それはそれとしてフロントを書きたいかと言われると、パフォーマンス上の問題が出ない限りそうは思わない。ライフタイムとhookを並行して思考したりしてると著しく生産性落ちそう
2022/02/03(木) 21:57:49.98ID:6VHScWxj
>>326
もうあるよ
dioxusのweb版
まんまreact
これはパラダイムシフトは確実な気がする
フロントエンドは面白くなるぞー
2022/02/03(木) 22:05:06.01ID:XqWYVslw
>>333
これか
https://dioxuslabs.com/reference/web/

なんだこれは?
rustでフロントエンドしちゃってるよ
ヤバタニエン過ぎる

もしもだがdenoランタイムでこれができるようになったらマジでやべーぞ
2022/02/03(木) 22:11:48.24ID:H8+FjILX
>>334
別に(JSの立場は)ヤバくはないと思うけど、確かに面白いなこれ
2022/02/03(木) 22:12:16.95ID:P8bKJ2XT
よく分からんけどフロントをRustで書くメリットってなんかあるの?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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