X



Vue vs React vs Svelte Part.6

レス数が900を超えています。1000を超えると表示できなくなるよ。
0001デフォルトの名無しさん
垢版 |
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。
0820デフォルトの名無しさん
垢版 |
2020/12/30(水) 06:38:08.28ID:Kz0vlNp0
>>813
C#おじさんいっつも最後にはそれ言い出すな。荒らしが荒らして伸びるより過疎スレの方がどう考えたって健全じゃん。
スレが伸びることが何の免罪符になると思ってんだか
0821デフォルトの名無しさん
垢版 |
2020/12/30(水) 10:00:04.98ID:TuVgzDLD
まあアホみたいにC#に反論して悪かった。
そりゃそうでそもそもスレチだわな。

React今更やり直してんだけど、スタイルってどうやってる?
Vueみたいにコンポーネントごとに書いといたらcssが一本ドーンとできるみたいな仕組みが欲しいんだが、見た感じなさそう。
css in jsでインラインスタイルみたいな感じで当てまくるのが王道なの?
0822デフォルトの名無しさん
垢版 |
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 ってスコープ切って紐付けてくれるんだが、そういうのは無し?

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

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

適当に書くけど、.main > * {color:red}とかやって、子コンポーネントに突き抜けたりしないだろうか・・・。
0826デフォルトの名無しさん
垢版 |
2020/12/30(水) 14:36:06.25ID:97VH6JZh
>>820
他人に過疎を味あわせたいというのは異常だし
おまえがこのスレに来なくて過疎を味わい他人がこのスレで雑談して楽しむのはwin-win
スレのテーマを話したい人がいるときに雑談で邪魔しないというマナーはある
0828デフォルトの名無しさん
垢版 |
2020/12/30(水) 18:55:12.14ID:olxuh5fb
>>826
とにかくお前はC#スレに籠ってろ
他の勢いがあるスレに関係ないことを書き込みに来てるのはわかってるんだ
0829デフォルトの名無しさん
垢版 |
2020/12/30(水) 20:27:31.52ID:/bDJ6XEP
「過疎スレだから」がスレ違い宣伝荒らしの言い訳ならprologスレとforthスレを盛り上げてこい。これは命令だ。
0830デフォルトの名無しさん
垢版 |
2020/12/31(木) 00:25:02.74ID:QWe6530o
Next.jsってアップデートされたけどVercel使わないとまともに使えん的になってきてそこそこの規模でも有料だし
少し大きくなったら年間数万ドルもかかるとかやばくねえっすか?
0831デフォルトの名無しさん
垢版 |
2020/12/31(木) 00:48:49.82ID:ZOSFby6D
ちょっと調べたけどnextって今そんなことになってたんだ。面白ー。
まぁまだゆとり向けフレームワークのnuxtちゃんがいますし...
0832デフォルトの名無しさん
垢版 |
2020/12/31(木) 07:16:28.08ID:kXsKi0cH
画像最適化やISR等の一部機能がVercel依存なだけじゃないの?
Vercelも自分とこのプラットフォームを使ってほしいだろうけど、客寄せになるNext.jsの人気は必要だから無茶はできないし
0833デフォルトの名無しさん
垢版 |
2020/12/31(木) 17:56:20.15ID:v+HdWO16
ReactのNext.jsのgetServerSideProps() に相当する機能ってVueのNuxt.js には無い?
DBアクセスとか、必ずサーバー側で実行して欲しい処理を書きたい
0835デフォルトの名無しさん
垢版 |
2020/12/31(木) 23:11:57.32ID:v+HdWO16
asyncDataやfetchだとrouter-link、nuxt-linkでページ遷移するとクライアント側で実行されちゃう認識だけど
それ以外にも必ずサーバサイドで実行される(ロジックの中でfs.readFileSyncが使える)方法あるの?
0836デフォルトの名無しさん
垢版 |
2021/01/01(金) 01:01:38.63ID:I6jeM+Zp
getServerSidePropsの意味するところを俺が誤認してたみたい失礼。

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

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

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

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

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

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

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

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

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

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

最近の人気で言うとTailwindCSSかChakra UIかという感じやな、chakraはreact専用だけども。
0858デフォルトの名無しさん
垢版 |
2021/01/02(土) 20:18:33.44ID:7UePDUod
tailwindとchakra uiはスコープだいぶ違うと思うが。
前者はCSSフレームワーク、後者はreact用uiツールキットでしょ
0859デフォルトの名無しさん
垢版 |
2021/01/02(土) 22:31:31.83ID:wubIjlLH
>>858
立ち位置は完全には同じでないけど、被ってる部分は結構あってサイト内にも比較ページがあるくらい意識されてるよ。
https://chakra-ui.com/docs/comparison
背景も使い所も全く別物なら公式がわざわざ用意しないからね
0861デフォルトの名無しさん
垢版 |
2021/01/03(日) 01:01:48.04ID:p2kXTSH1
全く別物ではないな中身見てないだろ
もちろん範囲外のものもカバーしてるけども
0862デフォルトの名無しさん
垢版 |
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もレスポンシブも同様にあるしな。

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

ただChakraは、使うのを止めるってなった時に地獄を見そうだな
react-bootstrapで地獄を見た私はそう思うぜ
0871デフォルトの名無しさん
垢版 |
2021/01/04(月) 00:31:45.14ID:iT2qTMUm
>>869
ゴミみたいなセンスだから優秀なライブラリを使うんだろうが
OSSタダ乗りおじさん舐めんな
0876デフォルトの名無しさん
垢版 |
2021/01/06(水) 19:42:43.06ID:V+n1SaTt
jqueryUIたいなライブラリー
なにか知りませんか?

Reactで使いますが、
React用じゃなくても良いですので。
0881デフォルトの名無しさん
垢版 |
2021/01/07(木) 19:07:40.82ID:XRImqR79
JQuery UIの主にインタラクションのような機能です。
Draggable
Droppable
Resizable
Selectable
Sortable

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

合っていないと、jQueryで更新しても、
その後、Reactでは更新していないと思われて、元の状態に戻ってしまう
0888デフォルトの名無しさん
垢版 |
2021/01/08(金) 02:38:29.42ID:K8R3TNe9
いやだからjQueryUI互換のReactのコンポーネントライブラリが欲しいんだよ
なんやかんやいってjQueryUIの出来はめちゃくちゃいい
0889デフォルトの名無しさん
垢版 |
2021/01/08(金) 02:40:50.44ID:hM6lluL1
なんでUIライブラリ二重に使おうとするわけ?
野球帽の上にシルクハット被っても問題ないかな?と言ってるに等しいのでは?
これは問題あるともないとも言える。
可能不可能で言えば問題ないとも言えるが、バカに見えるという点では問題あると言える。
0890デフォルトの名無しさん
垢版 |
2021/01/08(金) 02:44:47.94ID:BMLciGfP
>>889
jqueryUIよく知ってますか?
0892デフォルトの名無しさん
垢版 |
2021/01/08(金) 07:47:08.14ID:c1yN1piV
俺はangular使ってるがmaterialUIがまんまそれに相当する
React にもあるはず。ちゃんと探そう
0893デフォルトの名無しさん
垢版 |
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

殆どのところは開発効率が上がらないか逆に下がってしまって却下されてるんだろう
0894デフォルトの名無しさん
垢版 |
2021/01/08(金) 08:08:57.80ID:sdGloSCX
Webサイトは改修しやすくないといけないからな
Reactでガチガチに作っても運用の人たちが困る
0896デフォルトの名無しさん
垢版 |
2021/01/08(金) 08:13:08.49ID:DKQwsFSV
Ruby on Rails では、Bootstrap を使うから、
その依存関係で、jQuery も自動的に入る

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

あるいは、また自演坊の出現か?
0901デフォルトの名無しさん
垢版 |
2021/01/08(金) 12:05:31.74ID:hYPH6FIY
JQuery UIをぐぐってみた感じ、完全な代替品はreactには無いんじゃないの?
自分がスクラッチしたUIに後からjsの振る舞いを付けてくれるライブラリ群って事だよね。

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

これってどのように実装すればいいんでしょうか?
0903デフォルトの名無しさん
垢版 |
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>'

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

dataとコンポーネントを紐付けている場合は、プロパティをwatchして変更を検知し、dataに反映する必要あり。
0906デフォルトの名無しさん
垢版 |
2021/01/10(日) 16:53:28.20ID:WtiCCgZ7
vue3、vue-cliのデフォルト設定だとローカルサーバーでtsファイルに定義したtypeの再コンパイルが走らなくてきっつー。
解決してる人いたら設定教えてくださいっす。
0909デフォルトの名無しさん
垢版 |
2021/01/13(水) 16:35:56.54ID:atGCk1//
jotaiっていうReact用の状態管理ライブラリめちゃくちゃ良いじゃない
なんでこれ話題になってないの?
0911デフォルトの名無しさん
垢版 |
2021/01/13(水) 17:03:02.91ID:mK+3gZUP
>>909
前スレでとっくに既出。

449 デフォルトの名無しさん 2020/08/31 02:31:14
Reactのrecoilいいな
useContextの欠点を補完してる
もうReduxなんか必要ねえは

460 デフォルトの名無しさん 2020/09/11 22:12:09
>>449
これも面白そう
Jotai, a New Granular State Management Library for React
https://www.infoq.com/news/2020/09/jotai-react-state-management/
たぶん日本語の「状態」からw
0913デフォルトの名無しさん
垢版 |
2021/01/13(水) 19:06:48.50ID:J1EgIBFs
女体
0915デフォルトの名無しさん
垢版 |
2021/01/14(木) 06:26:51.19ID:C2CclXL8
またみずちが変なこと言ってんなw
jQueryを求めてないって考えが間違いなんだってば

2021年1月時点のシェア 77.2%
https://w3techs.com/technologies/history_overview/javascript_library/all/y

2020年の1月から一年で +3.0%
今日の時点でシェア + 0.1%

需要は未だにjQueryが一番あるというのに
それを理解できないおじさん
0916デフォルトの名無しさん
垢版 |
2021/01/14(木) 06:47:13.36ID:mrWYZ3Pm
すなわち jQuery はウェブ制作板って事だろ。
0918デフォルトの名無しさん
垢版 |
2021/01/14(木) 07:58:35.14ID:mrWYZ3Pm
ここはム板だからjQueryはあまり流行らない。
しかし世界は依然としてjQueryで出来てるのだろう。

そもそも論としてウェブサイトはアプリじゃないので。
0919デフォルトの名無しさん
垢版 |
2021/01/14(木) 08:39:14.28ID:C2CclXL8
いい加減ウェブアプリではjQueryは適さないって言えばいいのに
なぜかjQueryを目の敵にしてるw
自分が使わないからって、みんなも使わないと思うんじゃねーよ
0920デフォルトの名無しさん
垢版 |
2021/01/14(木) 08:45:47.25ID:cF+v3Ffe
正直jQueryの話をされても、EVの話をしてる時に馬車の話を始められるような気分
レス数が900を超えています。1000を超えると表示できなくなるよ。

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