Vue vs React vs Svelte Part.6

レス数が900を超えています。1000を超えると表示できなくなるよ。
1デフォルトの名無しさん
垢版 |
2020/10/27(火) 13:09:05.31ID:5aYZ+KyB
実際どうなん?
※Angularは残念ながら全く話題にならなかったのでSvelteに差し替えました
Vue
https://jp.vuejs.org/
React
https://reactjs.org/
Svelte
https://svelte.dev/
※前スレ
Vue vs React vs Angular Part.5
https://mevius.5ch.net/test/read.cgi/tech/1596029929/

★ここではjQuery, Ruby, C#, Blazorの話題は禁止です
★jQuery, Ruby, C#, Blazorキチガイが書き込んでも無視してください
Angular, Next, Nuxt, Sapper, Gatsby, VuePress, RedWoodなどはおk。
2020/12/30(水) 00:35:42.82ID:olxuh5fb
そもそもすれ違いだぞ
2020/12/30(水) 00:41:11.57ID:Zk/FBUc0
>>807
そういうことじゃなくて「色々出来る言語」を過大評価しすぎってこと
簡単に目的を達成できる方が重要なのに
色々出来るんやでだからすごいっていう考えが古臭い
2020/12/30(水) 00:56:40.62ID:lXmFrXZN
コード
2020/12/30(水) 00:59:28.01ID:nb9M1V+x
>>810
どうやらブラウザ(ユーザーエージェント?)も関係あるっぽい
Chromeでは書き込めず、Firefoxなら書き込めた
その他の情報も見てる可能性があるな
IPアドレスは変えてもクッキー消しても意味はなかった
2020/12/30(水) 01:01:03.26ID:eKh3SvG1
スレ違いなネタでろくに知識もないのに平気で一人で盛り上がってる感じ、またC#おじさんかよ。NGすとこ
2020/12/30(水) 01:12:42.10ID:lGcdPzxm
>>812
9月2日から10月10日までレスが3つしか付かなかった過疎スレだったんだよね
テーマに沿って話して過疎るか雑談でスレを伸ばすかのどっちかで雑談でもいいと思う
でないと話すことなくて過疎る
雑談が嫌なら来なければいい
2020/12/30(水) 01:42:40.61ID:zA1s3IaL
なんでjs前提のスレで他言語について話してんだ○イジかよと思ったけど。もともと過疎スレだったのか。
フロントエンドFrameworkはすでに別にスレがあるから、雑談スレでもいいかもね。
2020/12/30(水) 01:56:29.40ID:Cptlqs6D
みんなどうやったら良いSPAが作れるか議論したいんじゃないの
今更だけどスレタイで技術を限定するのは世界を狭めていると思う
C#おじさんはうざいかもしれないがまがいなりにもSPAを作る技術があるわけで
2020/12/30(水) 02:08:36.28ID:sThloFfy
わいはSSRの方がすこだ!
2020/12/30(水) 03:37:46.36ID:olxuh5fb
C#おじさんの自演ここまでくると怖い
本当に年内に病院に行くべき
2020/12/30(水) 05:45:50.88ID:WuRkJ7SN
>>816
Next.jsなら今はSSG推奨
2020/12/30(水) 06:08:39.70ID:npFXMZqI
時代はISR
2020/12/30(水) 06:38:08.28ID:Kz0vlNp0
>>813
C#おじさんいっつも最後にはそれ言い出すな。荒らしが荒らして伸びるより過疎スレの方がどう考えたって健全じゃん。
スレが伸びることが何の免罪符になると思ってんだか
2020/12/30(水) 10:00:04.98ID:TuVgzDLD
まあアホみたいにC#に反論して悪かった。
そりゃそうでそもそもスレチだわな。

React今更やり直してんだけど、スタイルってどうやってる?
Vueみたいにコンポーネントごとに書いといたらcssが一本ドーンとできるみたいな仕組みが欲しいんだが、見た感じなさそう。
css in jsでインラインスタイルみたいな感じで当てまくるのが王道なの?
2020/12/30(水) 11:50:39.35ID:mn0czGQ5
react というかNext.jsってpagesの中でscssをimport する時って
各エレメントにclassName={hoge.kage} って手動でクラス名を紐付けないと駄目なの?

比較して申し訳ないけど、vueだとcss側に*{color:red}とか.main{border:1px;}、html側に<div class="main">と書くだけで
コンポーネント単位でdata-v-xxxx ってスコープ切って紐付けてくれるんだが、そういうのは無し?

前の人と多分同じネタかなこれ
2020/12/30(水) 12:16:17.47ID:TuVgzDLD
>>822
同じネタだと思う。
かつ、俺less使ってて、共通色とか基本サイズ数とかの定数値を、importしてるんだけど、これをきれいに解決する方法がわからん。
2020/12/30(水) 12:34:12.03ID:zA1s3IaL
横からだけど自分もそれ気になるなあ。
コンポーネントごとcssを別出しするとか色々あるみたいだけど、やり方が複数あって迷うなぁ。

Tailwind使ってるからスタイル自体そんなに充てないけども
2020/12/30(水) 12:54:00.12ID:mn0czGQ5
>>823
うーむ、Next.jsのgetServerSidePropsに惹かれて試してみたけど、こっちはVueと比べてCSSの考える事は多い感じかな

適当に書くけど、.main > * {color:red}とかやって、子コンポーネントに突き抜けたりしないだろうか・・・。
2020/12/30(水) 14:36:06.25ID:97VH6JZh
>>820
他人に過疎を味あわせたいというのは異常だし
おまえがこのスレに来なくて過疎を味わい他人がこのスレで雑談して楽しむのはwin-win
スレのテーマを話したい人がいるときに雑談で邪魔しないというマナーはある
2020/12/30(水) 17:44:12.92ID:zA1s3IaL
>>822
Reactだと、上記と同じことをするのはstyled-componentsかな。
エディタの補完が追いつくのかは気になるけど

https://qiita.com/taneba/items/4547830b461d11a69a20
2020/12/30(水) 18:55:12.14ID:olxuh5fb
>>826
とにかくお前はC#スレに籠ってろ
他の勢いがあるスレに関係ないことを書き込みに来てるのはわかってるんだ
2020/12/30(水) 20:27:31.52ID:/bDJ6XEP
「過疎スレだから」がスレ違い宣伝荒らしの言い訳ならprologスレとforthスレを盛り上げてこい。これは命令だ。
2020/12/31(木) 00:25:02.74ID:QWe6530o
Next.jsってアップデートされたけどVercel使わないとまともに使えん的になってきてそこそこの規模でも有料だし
少し大きくなったら年間数万ドルもかかるとかやばくねえっすか?
2020/12/31(木) 00:48:49.82ID:ZOSFby6D
ちょっと調べたけどnextって今そんなことになってたんだ。面白ー。
まぁまだゆとり向けフレームワークのnuxtちゃんがいますし...
2020/12/31(木) 07:16:28.08ID:kXsKi0cH
画像最適化やISR等の一部機能がVercel依存なだけじゃないの?
Vercelも自分とこのプラットフォームを使ってほしいだろうけど、客寄せになるNext.jsの人気は必要だから無茶はできないし
2020/12/31(木) 17:56:20.15ID:v+HdWO16
ReactのNext.jsのgetServerSideProps() に相当する機能ってVueのNuxt.js には無い?
DBアクセスとか、必ずサーバー側で実行して欲しい処理を書きたい
2020/12/31(木) 20:12:22.49ID:n8r8zFZ6
ある
が基本的すぎてドキュメント読んでないのがバレるぞ
2020/12/31(木) 23:11:57.32ID:v+HdWO16
asyncDataやfetchだとrouter-link、nuxt-linkでページ遷移するとクライアント側で実行されちゃう認識だけど
それ以外にも必ずサーバサイドで実行される(ロジックの中でfs.readFileSyncが使える)方法あるの?
2021/01/01(金) 01:01:38.63ID:I6jeM+Zp
getServerSidePropsの意味するところを俺が誤認してたみたい失礼。

asyncDataをサーバ側に限定する方法はない
ServerMiddlewareを使えばサーバ側で動くAPIを作れるから、それをクライアント側から呼ぶ形が一般的
2021/01/01(金) 01:11:21.91ID:/+4IUuLb
やっぱりページごとにAPI作るのがNuxtの流儀か

管理サイト的なものを作っていて、9割のページがDBのデータを表示してるから
1ページごとにAPIを個別に作るのはしんどいんだよね
それか、router-link禁止で全部<a>タグでのみページ遷移するルールにするかって感じか
2021/01/01(金) 10:22:39.74ID:JSeY8OLT
>>822
普通にscssで書いてる
一般的なサイトと書き方変わらん
2021/01/01(金) 11:09:03.93ID:LgwM8ucz
>>838
コンポーネントにではなくて、サイト全体に書いてる感じ?
グローバルに効いちゃうって事?
2021/01/01(金) 12:13:22.88ID:JSeY8OLT
>>839
index.jsでsassをimportしてるからそんな感じ
といってもscssファイルはページ用とか変数用とかに分けてる
2021/01/01(金) 13:10:38.63ID:LgwM8ucz
>>840
なるほど。ありがとう。
となると、ちょっと設計方針変えないといかんな。
2021/01/01(金) 13:44:12.20ID:JSeY8OLT
>>841
あとビルドするときにscssをcssとして出力(package.jsonに記載)したほうがChromeのDeveloperで開発しやすいんでないかな
俺はそうした

jsにスタイル書くのって俺的には無理だったしscssの変数とかmixinどうすんのって感じだったから使ってない
2021/01/01(金) 20:12:23.69ID:/+4IUuLb
せっかくコンポーネントごとに分けてるのにグローバルな巨大cssを作るのもちょっとなぁ
scssだと入れ子が出来るだろうから素のcssよりゃマシだろうけど
844デフォルトの名無しさん
垢版 |
2021/01/01(金) 22:01:26.56ID:7dc3kU9y
>>842
package.jsonに記載って何を記載するんですか?
2021/01/01(金) 22:03:44.11ID:gR0w6/3v
いいからガタガタ抜かさずemotion使ってみろってw
846デフォルトの名無しさん
垢版 |
2021/01/01(金) 22:05:08.76ID:gOgGeOog
emotion は絶対にない。

linaria は許容できるけど
2021/01/01(金) 22:30:42.44ID:8TPOGttB
SPAで特定のページにnoindex付けたいんですがどうやるのが正解ですか?
今考えてるのは特定のページに入ったらjqueryでheadにnoindexをぶち込む方法です
2021/01/01(金) 22:34:56.11ID:JSeY8OLT
>>843
そうなんだけどさ、styled-componentの無理やり感が無理なのとjsがスタイルの記述ばかりになって見通し悪くなるし
あと使ったことないけどstyled-componentだとChromeのDeveloperToolでどうやって調整するんだろ

開発がWebアプリ系なら全体的にほとんど同じスタイルだからそれほど増えなくないかな

>>844
開発用パッケージにcss-loaderとsass-loaderとstyle-loaderをインストール
だったかな
2021/01/01(金) 22:40:09.79ID:HdS3p/N5
css in js だと goober が軽くてええな
850デフォルトの名無しさん
垢版 |
2021/01/01(金) 22:43:08.73ID:gOgGeOog
styled component と emotion は全く同じ位置付けなんだけど。
styled componentが無理矢理でemotionが無理矢理じゃないのが理解できない。

dev toolpの問題は結構前に解消されてるでしょ。

css in js を使用する人は何を実現したくて使用するのか聞きたい
2021/01/01(金) 23:02:42.71ID:gR0w6/3v
emotionはstyled component形式でも書けるけどメインはcss prop形式だよ。
css prop形式使わないならstyled component使えばいい。
わざわざemotion使うからにはcss prop形式使うでしょ。
styled component形式は移行のためのサポートと思っとけばいい。
852デフォルトの名無しさん
垢版 |
2021/01/01(金) 23:05:06.53ID:gOgGeOog
https://emotion.sh/docs/styled

インターフェイスは styled componentと変わらないと思うけど
853デフォルトの名無しさん
垢版 |
2021/01/01(金) 23:10:00.98ID:gOgGeOog
ちゃんと読まないでレスしてた

css prop形式だと余計に css in js 使う意味ないでしょ。
それだと classNameをconditionで操作してるのと変わらないでしょ
2021/01/01(金) 23:19:20.92ID:gR0w6/3v
あのねえ、styled componentより後発でたったそれだけのことで人気追い抜くわけないでしょ…
知らないならドキュメント読んで使ってみなさいよ
2021/01/02(土) 00:13:03.58ID:gKf/Fv60
時代はtailwindCSS
856デフォルトの名無しさん
垢版 |
2021/01/02(土) 15:35:58.93ID:RXFdEIXY
tailwindかtacyonsどっちか迷ってる俺に推しの一言をどうぞ
857デフォルトの名無しさん
垢版 |
2021/01/02(土) 17:42:37.50ID:wubIjlLH
https://i.imgur.com/vOB4XJi.jpg
もはや比較の必要あるか?というレベルで大差付けてるけども

最近の人気で言うとTailwindCSSかChakra UIかという感じやな、chakraはreact専用だけども。
2021/01/02(土) 20:18:33.44ID:7UePDUod
tailwindとchakra uiはスコープだいぶ違うと思うが。
前者はCSSフレームワーク、後者はreact用uiツールキットでしょ
859デフォルトの名無しさん
垢版 |
2021/01/02(土) 22:31:31.83ID:wubIjlLH
>>858
立ち位置は完全には同じでないけど、被ってる部分は結構あってサイト内にも比較ページがあるくらい意識されてるよ。
https://chakra-ui.com/docs/comparison
背景も使い所も全く別物なら公式がわざわざ用意しないからね
2021/01/03(日) 00:49:54.47ID:U3X4E4MI
うんそれoverview読むだけでまったく別物だって分かるね
2021/01/03(日) 01:01:48.04ID:p2kXTSH1
全く別物ではないな中身見てないだろ
もちろん範囲外のものもカバーしてるけども
2021/01/03(日) 01:12:57.13ID:p2kXTSH1
例えば
Tailwindなら
<div className="w-full mx-4 my-2"></div>
Chakraなら
<Box w="full" mx={4} my={2}></Box>
で同じ結果になる。
colorもレスポンシブも同様にあるしな。

まぁ全く同じもので厳密に比較しないと死ぬ病気だったらすまんな、忘れてくれ。
2021/01/03(日) 01:16:24.80ID:U3X4E4MI
あほくさ。
上は単なるcssクラス
下はreactコンポーネントじゃん。
下はJSXで書いてるから似て見えるだけ。
実態はJS関数じゃん。
いったいどこが同じなのかw
cssなんて基本要素も甚だしいんだからそれで似てる言ってたらWeb用のありとあらゆるライブラリが似てるw
2021/01/03(日) 01:21:20.90ID:WJLaDztK
知らんけど使用感のことを言ってるんでしょ?
内部構造が別だからってギャーギャーつっかかってもしゃあないやん...
2021/01/03(日) 01:27:19.26ID:j7drLdmA
このフレームワーク流行ってるのか
使ってみようかな
趣味プロダクトのデザインマジで面倒だ
2021/01/03(日) 07:17:12.46ID:77GCy5PB
まあ>>859が正しいわな
どちらを使うかで迷う人が多いから、わざわざ比較ページでピンポイント比較しているわけで

ただChakraは、使うのを止めるってなった時に地獄を見そうだな
react-bootstrapで地獄を見た私はそう思うぜ
2021/01/03(日) 16:18:33.59ID:sJkgD0sU
materializecssってオワコンなの?
2021/01/03(日) 19:55:53.47ID:p2kXTSH1
https://i.imgur.com/2YClP8H.png
そーす
https://2020.stateofcss.com/ja-JP/

これ見るとまだオワコンではないと思う、他が大きく下げたものが多いから順位は上げてる。
TailwindCSSが断トツではあるけどね。
2021/01/03(日) 20:16:55.01ID:DBWyzvd0
でもお前らのゴミみたいなセンスじゃ何使ってもどうにもならないじゃん?
2021/01/03(日) 22:03:10.41ID:3GzJdVpR
はいはい
2021/01/04(月) 00:31:45.14ID:iT2qTMUm
>>869
ゴミみたいなセンスだから優秀なライブラリを使うんだろうが
OSSタダ乗りおじさん舐めんな
2021/01/04(月) 09:41:29.84ID:rgY6auQv
AWSのことかな?w
批判にあわてて援助し出したんだっけ?w
2021/01/04(月) 16:45:28.03ID:qovFEaH+
ちょっと何言ってるか分からない
2021/01/04(月) 17:33:54.18ID:v/b/bq9A
意味不明だな
2021/01/05(火) 17:59:59.74ID:DKe92MJE
スライムというワイルドカード
2021/01/06(水) 19:42:43.06ID:V+n1SaTt
jqueryUIたいなライブラリー
なにか知りませんか?

Reactで使いますが、
React用じゃなくても良いですので。
2021/01/07(木) 00:03:32.99ID:HeEo+TnW
JQuery UIでいいじゃんそれ
2021/01/07(木) 00:36:41.77ID:P60007ut
BootstrapとかMaterial-UIの事言ってる?
2021/01/07(木) 12:47:58.31ID:IsAkKduI
bootsrtapは?
2021/01/07(木) 15:12:43.36ID:BMEPnbk6
bootstrapよりどちらかというとvelocityとかじゃね
881デフォルトの名無しさん
垢版 |
2021/01/07(木) 19:07:40.82ID:XRImqR79
JQuery UIの主にインタラクションのような機能です。
Draggable
Droppable
Resizable
Selectable
Sortable

自前のコントロールを作ろうとすると必ずこの壁にぶち当たります。
2021/01/07(木) 20:50:34.46ID:ikfTGx5+
React に、そういう機能のコンポーネントは無いの?
2021/01/07(木) 22:24:29.72ID:8S5jtpKX
ないと思う
俺もjQueryUIのコンポーネント使いまくってるやつは移行が不可能
全部作らないといけないし
新規でやるときは使うんだが
2021/01/07(木) 23:16:04.95ID:3TLTtAUE
いや少なくともReact DnDでuseDragとuseDropはあるけど…?
そういうことじゃなく??
885デフォルトの名無しさん
垢版 |
2021/01/08(金) 00:07:17.50ID:BMLciGfP
ReactでjQueryUIを使う場合、
なのか問題とかあるのかな?
2021/01/08(金) 00:48:37.80ID:DKQwsFSV
仮想DOM のReact と、実DOMを更新するjQuery の更新タイミングを、
React のタイミングに合わせる必要がある

合っていないと、jQueryで更新しても、
その後、Reactでは更新していないと思われて、元の状態に戻ってしまう
2021/01/08(金) 02:03:55.07ID:BMLciGfP
>>886
それはなんとか大丈夫かな?

それよりもjqueryUIのベストなロードの方法はなんだろうか?
2021/01/08(金) 02:38:29.42ID:K8R3TNe9
いやだからjQueryUI互換のReactのコンポーネントライブラリが欲しいんだよ
なんやかんやいってjQueryUIの出来はめちゃくちゃいい
2021/01/08(金) 02:40:50.44ID:hM6lluL1
なんでUIライブラリ二重に使おうとするわけ?
野球帽の上にシルクハット被っても問題ないかな?と言ってるに等しいのでは?
これは問題あるともないとも言える。
可能不可能で言えば問題ないとも言えるが、バカに見えるという点では問題あると言える。
890デフォルトの名無しさん
垢版 |
2021/01/08(金) 02:44:47.94ID:BMLciGfP
>>889
jqueryUIよく知ってますか?
2021/01/08(金) 02:44:56.99ID:K8R3TNe9
>>889
バカはお前だろ
jQueryUIはコンポーネントライブラリだぞ
892デフォルトの名無しさん
垢版 |
2021/01/08(金) 07:47:08.14ID:c1yN1piV
俺はangular使ってるがmaterialUIがまんまそれに相当する
React にもあるはず。ちゃんと探そう
2021/01/08(金) 08:02:05.71ID:tSEaWM43
あちこちで言われてるんだからいい加減理解してほしいもんだけど
ReactとかはjQueryの代替にはならないの

ウェブサイト全体をウェブアプリに作り変える場合に使うもので
インターフェースはほぼ全部作り変えでUIを自分で作るためのものなの

jQueryだけじゃなくてブラウザ標準のDOM APIとも相性が悪い
全てをReactのやり方に置き換えるレベルじゃないと単に開発しづらくなるだけ

jQueryのシェアは去年一年で3%増えました。主に今までなにも使ってないところが
採用するのがjQueryです。まだ増え続けています。
その他のフレームワークは0.1%増えるか増えないかだよ
https://w3techs.com/technologies/history_overview/javascript_library/all/y

殆どのところは開発効率が上がらないか逆に下がってしまって却下されてるんだろう
2021/01/08(金) 08:08:57.80ID:sdGloSCX
Webサイトは改修しやすくないといけないからな
Reactでガチガチに作っても運用の人たちが困る
2021/01/08(金) 08:12:22.84ID:A+Em08N2
Webサイト → バニラ or jQuery
Webアプリ → Reactとか

これで結論出てる
2021/01/08(金) 08:13:08.49ID:DKQwsFSV
Ruby on Rails では、Bootstrap を使うから、
その依存関係で、jQuery も自動的に入る

React は、コンポーネントとして使う
897デフォルトの名無しさん
垢版 |
2021/01/08(金) 08:50:47.46ID:BMLciGfP
意味も分からないバカが大量に沸いて出た。

あるいは、また自演坊の出現か?
2021/01/08(金) 09:21:04.83ID:Rc/BvzGB
Kentaだなってすぐわかる
2021/01/08(金) 09:44:49.72ID:A+Em08N2
UIくらい自分で解決しろよってことだなゴミカス
2021/01/08(金) 10:35:18.69ID:AdXs4K9l
う〜んこの特徴的な文章
2021/01/08(金) 12:05:31.74ID:hYPH6FIY
JQuery UIをぐぐってみた感じ、完全な代替品はreactには無いんじゃないの?
自分がスクラッチしたUIに後からjsの振る舞いを付けてくれるライブラリ群って事だよね。

react、vueの場合、uiとjsの振る舞いをセットでコンポーネント化してあるものがメジャーだから、それらを採用してcssハックで見た目をカスタマイズするしかないと思う。
(コンポーネントによってはslotとかで後から自由にuiを付けられるものもあるので、ぜひドキュメントを見てもらえれば)
902デフォルトの名無しさん
垢版 |
2021/01/08(金) 14:48:23.62ID:n+eqhbpb
あの、いまvueで実装してみたくてテストしていたんですが、
https://i.imgur.com/tRZJ97x.jpg
イメージとしては{{message}}のところにデフォで表示される1というメッセージがコンポーネントで作ったボタンを押したらqqqqしたいんです
で、画像のように書いたところalertは表示されるんですが、内容が変わりません
これはおそらくコンポーネントの中に{{message}}とdataも入れてあげれば変わるようにはなるとおもうのですが、
やりたいことはコンポーネントで作ったカスタムボタンを押したらそのコンポーネント外に書いてある{{message}}に値をセットさせたいのです

これってどのように実装すればいいんでしょうか?
903デフォルトの名無しさん
垢版 |
2021/01/08(金) 15:45:58.45ID:BMLciGfP
const element = <div id="A" />;

element.props.id = "B"; //--- TypeError: Cannot assign to read only property 'props' of object '#<Object>'

上記でエラーになるんですが、一度設定したプロパティを変更する事は可能?
もしかして出来なかったのだろうか...
2021/01/08(金) 19:38:17.54ID:hYPH6FIY
Emitを使えばいける。
vueのドキュメントのemitかstoreパターンの項を一度読んだ方が効率がいいと思う。
もしくはハンズオンの書籍で体系的に学ぶか。
またエディタはvscodeとか使った方が時短になります。
2021/01/08(金) 19:56:38.91ID:k0iEsoH9
プロパティは親からしか、変更できない。

dataとコンポーネントを紐付けている場合は、プロパティをwatchして変更を検知し、dataに反映する必要あり。
2021/01/10(日) 16:53:28.20ID:WtiCCgZ7
vue3、vue-cliのデフォルト設定だとローカルサーバーでtsファイルに定義したtypeの再コンパイルが走らなくてきっつー。
解決してる人いたら設定教えてくださいっす。
2021/01/11(月) 01:16:33.18ID:Nxf8SjHi
>>902
そんなあなたにvuex
レス数が900を超えています。1000を超えると表示できなくなるよ。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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