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/11(金) 11:44:19.91ID:SvRq3EqH
>>565
そういう意味なら、状態を完全に消せる銀の弾丸は無いよ。そこは反論する必要がないから反論がないだけでしょ。
2022/02/11(金) 12:21:02.96ID:w1QVAGsX
副作用馬鹿が湧いて出てる

2022/02/11(金) 12:38:22.93ID:vPovb78R
>>566
え?では「レス周辺に書いてある」ってどういうことなの?
2022/02/11(金) 12:55:51.45ID:SvRq3EqH
>>568
バケツリレーの件でしょ。揚げ足取りおじさん。
2022/02/11(金) 12:57:18.85ID:EYRBfzDS
なんで核心に触れないようにしてんの?w
結局よく知らんのでしょ?
2022/02/11(金) 12:58:20.03ID:vPovb78R
>>569
つまり俺のレス読めてないのに見当違いなレス返した挙句に人格攻撃までした奴がこのスレに居るってことなの?
2022/02/11(金) 13:21:47.23ID:227xjBzM
>>565
何でもかんでも和訳するのやめれ
2022/02/11(金) 14:05:34.08ID:901NTZe+
女の娘が一人で始めた食べチョクは、Ruby on Rails, React。
コロナで、漁業農産物などの取引量が30倍になったらしい

YouTube で有名な、雑食系エンジニア・KENTA のサロンでは、
Rails初心者用コースに、Docker, Heroku, CircleCI, Github Actions,
Reactではなく、Vue.js が入っているけど、

米国では、こんなにすごいポートフォリオを誰も作っていないと言ってる。
日本人の初心者は、10年以上のプロよりも上

それでも、Railsの年収は最高峰の1,300万円。
Node.js は900万円

ただし、米国はサラリーマンも全員がフリーランスで、いつでも解雇できる。
一方、日本は解雇できないから、滅多に雇わないので、
事前にすごいポートフォリオを作る必要がある
2022/02/11(金) 14:56:51.31ID:kVpyHF8c
でもKENTAってJavaScriptオフにするだけで突破されるような
セキュリティのセの字も知らんレベルの人間じゃん
2022/02/11(金) 15:02:00.82ID:79iMdFI4
ケンタって人本当に元GREEなの?
知り合いに聞いてみようかな
2022/02/11(金) 16:01:04.93ID:b7ODV/JX
Rustおじさん「今日も爆釣りだぜ」
2022/02/11(金) 16:17:02.90ID:WRuOVQdn
おじさんは議論じゃなくてレスバトルしてるだけだからなぁ
2022/02/11(金) 16:36:17.11ID:YP+zVxym
ケンタはバックエンドで日本一の凄腕エンジニアだからな
フロントみたいなゴミは一切やらないと明言している
だからフロントのセキュリティなどケンタのスキルには関係ない
2022/02/11(金) 17:03:54.73ID:96Ulyy5S
色々勘違いしてるみたいだけど、
ケンタってただの派遣だぞ
2022/02/11(金) 17:33:56.67ID:79iMdFI4
>>579
まじ?
2022/02/11(金) 17:38:20.83ID:YP+zVxym
ケンタは時給2万円以上
いまは会員数が多くて今年年収1億目指すといっていたからおそらく5000万はすでに稼いでいる

いま業界で活躍しているのはほとんどケンタのサロン卒だよ
2022/02/11(金) 18:13:59.79ID:79iMdFI4
rustスレが完全に壊れたので助けてくれ
やはりここに逃げるしか俺の生きる道はないか
2022/02/11(金) 18:34:43.29ID:Y4IhV391
敗走ですねわかります
2022/02/11(金) 19:04:36.79ID:XGwZjA15
ちょっと覗いたけど全部自演でしょ
2022/02/11(金) 19:57:12.67ID:CMLTRxyl
あっちでもおじさんが荒らしてるのはわかった
2022/02/11(金) 23:31:12.73ID:LZoT8zxD
>>578
中身のない話してないのに肩書きだけで判断か?
2022/02/12(土) 10:57:52.43ID:uPmUKTKl
>>586
中身の話はサロンで話している
日本でケンタを超える技術を持っているのはおそらく3名ほどしかいないぞ
そもそも時給3万を超えるようなエンジニアが日本にはほぼ存在しないからな
2022/02/12(土) 11:09:10.81ID:pEIoj4ie
>>587
その3人は誰だよw
2022/02/12(土) 12:12:32.50ID:MnXeYbkM
堀江とひろゆき
2022/02/12(土) 15:57:51.53ID:8ted8XK+
KENTA のサロンは、初心者から時給1万円を目指す人の話。
だからキャリアパスも、Ruby on Rails → Go のみ

米国年収が高いのは、Rails, AWS Solution Architect の1,300万円

Rust, Elixir も、普及のキャズムを越えなかった。
バックエンド言語で唯一越えたのが、Rails, Go だけ。
他のフレームワークは、シェアが少ない

KENTAが終わらせた言語が、PHP, Scala。
KENTAがオワコン認定したから、新規プロジェクトが無くなった
2022/02/12(土) 16:29:09.49ID:XEJUc2Aw
今や大企業もケンタの動画を参考にIT投資を決めるようになってきているからな
すごい影響力だぞ
2022/02/12(土) 16:35:59.50ID:Wh0EjTLm
おいおいKENTAキッズがおじさんからIDコロコロをラーニングしちまったぞ
2022/02/12(土) 21:39:28.73ID:0ZYUS8tw
エンジニアに数学力が必要かってトピックでなんか言ってるけど
そうじゃないだろ感
2022/02/12(土) 21:41:00.54ID:zmuRKDML
KENTAの動画みたことあるけど、
ほっぺに汚いシミのある作文読んでるだけおじさんって印象しかないわ
2022/02/12(土) 22:04:47.06ID:Fy6RTNwo
ケンタが常々言ってるのはフロントみたいなどうでもいいことにエンジニア人生を掛けるなと言うこと
フロントはWebデザイナーと何も変わらない
エンジニアの中で最も底辺で能力がない奴がやることで金にはならない

時給1万を超えるにはバックエンドでRubyをやるべき
ケンタのサロンに入れば駆け出しエンジニアでも3ヶ月で60万はすぐに行くし80万へも最短の道で習得できる
2022/02/12(土) 22:09:30.13ID:6fHX/vJa
じゃあバックエンドでrubyやればいいじゃん
スレタイとなんの関係も無いよね
2022/02/12(土) 22:11:03.92ID:zOhO24og
わかったからスレチをやめろ
2022/02/12(土) 23:15:03.33ID:zeKxBusw
無駄にクソ複雑と言われたり、クソ簡単と言われたりする、いまいち実態を把握されてない感のあるフロントエンドの世界。
理解する気のない外野がグダグダ言ってるだけなのかな。ピンキリ激しいのは事実だと思うけど。
2022/02/13(日) 00:05:28.67ID:mUBeMgFR
フロントエンドの皆さんはjavascriptのクラス設計はどうしてるの?
typescriptが2012年、ECMAScript6が2015年なので比較的新しい技術のはず。

このスレで「状態管理」という言葉が出てきて、あれ?と疑問が沸いたので…
2022/02/13(日) 01:05:29.08ID:qLNOvlC4
SPAだと状態管理というかある程度全体的に使えるデータが使えたらいいなと思うけど
結局画面ごとにAPI呼んでデータ取ってくるしそこまで巨大なアプリじゃなければ
状態管理するほどのデータは無さそうな気がするんだけどね
画面遷移でデータ渡せるし、グローバル的な管理って何か時代と逆行してるというか
トークンみたいなのぐらいしか使ってなかったわ
2022/02/13(日) 07:27:08.24ID:txwSwK3V
>>599
このスレで状態管理と出てきたらほぼReactHookの事でクラスは関係無いと思って良いかと。
クラスについては、そこそこ便利なオブジェクトリテラルが有るからあんまり使い道がない。状態を持つオブジェクトを(何回も)生成する時と、組み込み型を継承して拡張するときくらいじゃなかろか。
2022/02/13(日) 10:04:52.70ID:8X08gYL4
なんというか数学できないヤツってコードが汚いよね
2022/02/13(日) 13:07:50.24ID:0T+jzOg7
複雑なデータを表現する時はやっぱクラス便利よ
reactには直接関係ないけど
2022/02/13(日) 13:09:23.18ID:gSu1aBn1
たかがJavascriptごときがクラス扱うとか
正直なまいきだよな
2022/02/13(日) 13:10:04.38ID:dfoEbwcZ
Reactの関数コンポーネントはどこで値を保持してるの?
グローバル変数?
2022/02/13(日) 13:11:08.65ID:gSu1aBn1
>>605
this内のクラスじゃねーのあれ
2022/02/13(日) 14:27:27.69ID:mUBeMgFR
>>601
私はjavascriptのオブジェクトリテラルは、任意の関数で弄れてしまうので構造体に過ぎないと感じるが…
連想配列でswtich文を代替できたので、構造体と等価ではないけど。

いつ、何が状態を変化させたのか追跡するのが面倒なので、規定のインターフェース(プロパティ・メソッド)で内部変数を操作し
内部変数の状態に応じて処理を変えたい時にインスタンス内で問い合わる…これがクラスの使い方の王道と解釈している。
交換する変数の型を明記したインターフェースを事前に規定するので、確実に状態が管理される。
クラス設計=状態管理 じゃないかな、と。
2022/02/13(日) 14:47:03.56ID:txwSwK3V
>>607
> 任意の関数で弄れてしまうので構造体に過ぎない
その理屈で言うと、クラスで作ったオブジェクトもほぼ構造体です。
2022/02/13(日) 15:43:17.61ID:AQs5k9sa
>>605
コンポーネント内のプロパティに覚えてる
2022/02/13(日) 17:40:21.65ID:3CUrxwY5
>>607
コンテキストによって状態管理が表すものって変わるでしょ
あなたが言ってるのはクラスでの状態管理だしこのスレで言ってるのはアプリ内での状態管理
全く別の話
2022/02/13(日) 18:17:18.26ID:Wnt0ls+2
>>607
このスレでOOPなんて語っても、誰もOOPなんてやってないから意味ないと思うぞ
2022/02/13(日) 18:26:03.45ID:txwSwK3V
クラスベースだけがOOPじゃないぞ
2022/02/13(日) 18:46:46.47ID:mUBeMgFR
>>608
それは違う。
内部変数へアクセスする文字ラベルがインターフェースにリスト化・共有化されるので、
どのインスタンスがいつ内部変数を操作したのか追跡できる。
構造体はインターフェースを持たない。

>>610
別になる理由が分からない。
状態管理とは、どのレジスタにどんな数値が格納されているかを追跡できるかどうかじゃないの?
それはインスタンスの連携で構成されるアプリなので、不変だと思うが…

コンテキストの意味が不明瞭なので、状態も不明瞭なんじゃないかなと感じてます。
2022/02/13(日) 19:10:21.77ID:txwSwK3V
>>613
内部変数というのはプロパティの事?
(C等の)構造体は実装やメモリ的にはpaddingで表現できるとしても、コード的には文字ラベルがあなたの言うところのインターフェースだと思うけど。
何れにせよクラスで生成したオブジェクトも、オブジェクトリテラルで生成したオブジェクトも、JSにおいてはほぼ等価です。
あるいは、ひょっとしてプライベート変数の話です?
2022/02/13(日) 19:20:23.40ID:3CUrxwY5
あー
これRustおじさんか
2022/02/13(日) 19:28:10.07ID:txwSwK3V
あー、そうかも
2022/02/13(日) 19:40:53.06ID:0WNBUZNL
>>609
どういう仕組みで?
2022/02/13(日) 20:07:13.39ID:bi2TTbe4
React HooksのuseStateがどういう原理で実現されてるのか
https://sbfl.net/blog/2019/02/09/react-hooks-usestate/
2022/02/13(日) 20:10:44.93ID:3CUrxwY5
Rustおじさんは全部主観で決めてかかってくるから分かりやすい
2022/02/13(日) 20:18:28.79ID:0WNBUZNL
>>618
なるほど…よく読まんとわからんね
しかしよく理解できるな
2022/02/13(日) 20:24:42.86ID:YYiu+dAA
Reactのソースコード読まなくてもPreactなら簡単に実装されてるから簡単に読める
2022/02/13(日) 21:18:37.07ID:MILRPz6f
ほう
そもそもリアクティブってどうやって実現してるんだか
2022/02/13(日) 21:25:54.90ID:fGHLySCJ
アクティブっていうぐらいだから
ActiveXを使ってるんだろ
2022/02/13(日) 21:41:33.67ID:HvK/So9I
ニキビにも効きそう
2022/02/13(日) 21:49:25.72ID:iTaXvFH/
最近web系やってみようとフロントは何にしようかと思ってたけどいっぱいあるし
もうさくっといけそうなvueでいいや
フレームワーク的なところは使わんし
2022/02/13(日) 21:50:34.47ID:0XmpoZ/W
何かイベント起こるとrenderに食わせた関数が呼ばれ仮想DOMツリーを作る、古い仮想DOMツリーとの差分のDOMを更新する。一つの変更が仮想DOM更新中に全部に波及してリアクティブな操作になる(ちょうてきとうな説明)
2022/02/13(日) 22:38:35.53ID:YntYJuXt
>>626
なるほど
しかし仮想DOMツリーって複雑で膨大なのに速度的に問題なさそうですごいな
どこか階層の一部だけ更新されるとjsオブジェクトとしては全体を更新してるのかねえ
どうやって階層の一部だけ更新してるのかさっぱりわからんわ
2022/02/14(月) 00:25:16.59ID:FwYo3TXm
>>617
render時に対象のVNodeに保存されてるComponentオブジェクトを取り出し、useStateが呼び出された時はそのComponentのプロパティであるhooksという配列に値を設定される
配列なんだから呼び出された順番でインクリメントされる
これがHooks
2022/02/14(月) 06:36:57.18ID:CZHjqgIJ
>>627
仮想DOMツリーが巨大かどうかは組み方に寄るし、(仮想DOM操作のような)実DOMに触れないJSで完結する処理はかなり高速。遅い処理はuseMemoとか使おう。
2022/02/14(月) 11:16:31.13ID:jHAJjTzR
kami.map((a, i) => (
<Kaminoke {...a} onNukege={() => handleNukege(i)} />
)

コンポーネントの再計算のたびにラムダが生成されてDOMの更新がかかってる?
回避方法がわからない
2022/02/14(月) 11:25:46.39ID:KlVj6RDR
>>630
useCallback
2022/02/14(月) 11:29:37.10ID:IpeVw0MS
>>631
ループ中はhook使えないのでわ?
2022/02/14(月) 12:00:34.48ID:4QEGKYDA
単体要素向けに作ったフックを配列向けに組み直すテクニックはありますか?

const foo = useSuperComplexFooManager()

const foos = []
for (let i = 0; i < n; i++) foos.push(useSuperComplexFooManager()) // opps!!

useSuperComplexFooManagerは前任者が作ったものですがあまりにも難しくメンテナンスできません
この中身には手を入れずそのまま再利用して配列向けにしたいです
2022/02/14(月) 12:40:27.43ID:jFb8p0Sw
俺だったら難しいこと考えずフックをコンポーネントでラップしループの中でコンポーネントを生成する
2022/02/14(月) 13:05:27.03ID:4QEGKYDA
それだと親から各hookのメンバにアクセスしたい時に困りますね
2022/02/14(月) 14:03:26.14ID:80dDJ7BV
const foos = [1...n].map(i => useSuperComplexFooManager())

でいけんじゃね?
useRefでこんなコード書いてるけど
2022/02/14(月) 14:46:58.32ID:HfVNEtCi
それはループと同じだと思うけど…いいの?
2022/02/14(月) 15:19:06.67ID:80dDJ7BV
ループNGルールは何が要求してるのかい?
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?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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