Vue vs React vs Angular Part.2

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2019/03/09(土) 22:02:33.71ID:47IMMy0/
実際どうなん?
Vue
https://jp.vuejs.org/
React
https://reactjs.org/
Angular
https://angular.io/
-
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
※前スレ
Vue vs React vs Angular
http://mevius.5ch.net/test/read.cgi/tech/1545395856/

★ここではjQueryの話題は禁止です
★jQuery房が書き込んでも無視してください
2019/04/18(木) 13:18:32.08ID:PeuY0IP9
>>412
それな。どうせどれ使っても数年で消える。
jQueryだけが今もこれからも使われて続ける
2019/04/18(木) 13:28:48.77ID:f6QMigdn
いいんだけどさ、forthスレやqbasicスレ、coqスレなんかにも「必要ないって言ってるでしょ!」ってムキになって書き込みに行ってるの?w
415デフォルトの名無しさん
垢版 |
2019/04/18(木) 14:17:31.95ID:rqGOrs8Z
一部にvue入れるのもアリだよ。検索や登録フォームはvueで置き換えると保守が凄く楽になるぞ。俺もそこから始めた。
2019/04/18(木) 14:22:13.48ID:+Qj1NZId
jQuery固執おじさんもいらない
2019/04/18(木) 16:15:08.38ID:FtQwjU5R
jQueryが神すぎて、これは捨てられない。
2019/04/18(木) 16:24:16.71ID:PeuY0IP9
>>414
いったことないで?全く知らん分野だし
2019/04/18(木) 16:24:58.29ID:PeuY0IP9
>>415
> 検索や登録フォームはvueで置き換えると保守が凄く楽になるぞ。

具体例で見せてほしい
2019/04/18(木) 16:27:28.57ID:uN7CTDaS
フォームはVueの練習には良いよね。
でも大きく要素が入れ替わらないTodoリストくらいだったらJQuery + HTMLのテンプレート要素で作ったほうが簡単に感じる。
テンプレート要素が適用しづらいなって思ったら使うべきか。
421デフォルトの名無しさん
垢版 |
2019/04/18(木) 16:34:11.27ID:rqGOrs8Z
>>406
だよね。angular思ったより全然使いやすい。迷う事が少なくていい。
422デフォルトの名無しさん
垢版 |
2019/04/18(木) 16:37:48.10ID:rqGOrs8Z
>>420
因みになんだけど、jQueryのテンプレートエンジンは何を使ってるの。俺はよくjsRender使ってた。
2019/04/18(木) 16:46:45.54ID:PeuY0IP9
>>422
俺は、lodash (underscore) のtemplateだな

https://lodash.com/docs/4.17.11#template
https://underscorejs.org/#template

このライブラリはテンプレート専用じゃなくて
通常のプログラミングでも非常に便利なライブラリなので
テンプレートを使うかどうかに関係なく組み込んでる。
424デフォルトの名無しさん
垢版 |
2019/04/18(木) 16:50:16.12ID:rqGOrs8Z
>>419
具体例いらんだろう。長くなるとスレチになりそうだし公式見てほしい。
2019/04/18(木) 17:13:10.20ID:PeuY0IP9
>>415
残念ながらフォームを作る場合に、DOM APIよりもvueは便利だが
jQueryよりも便利ってことはないんだよ
具体例、ないだろう?そういうこと
2019/04/18(木) 20:14:06.33ID:G2shfX5j
廃れるものを一通り勉強するってのも乙なもんだけどね。
2019/04/18(木) 20:19:22.93ID:IFD45nW1
jquery使うといつか必ず後悔するんだよな
2019/04/18(木) 20:29:07.13ID:PeuY0IP9
それはないな。DOM APIを使うのと(jQueryの方が生産性が高い以外)何も変わらんのだし
2019/04/18(木) 20:31:42.05ID:xDdfDEdP
そらWeb"サイト"作ってるところjQueryは使い続けられるだろ
元々フレームワークを使うのはWebシステムを構築する人向けなんだから

平たく言えば例えばスタンドアローンアプリをWebに置き換える様な案件向け
別にそういうモノを作る予定なんてないって人はjQueryは使い続けてても全く支障はないと思うよ
2019/04/18(木) 21:46:16.31ID:fWketiWf
基本jquery使う限りアングラーさんしかないのか
2019/04/18(木) 21:47:32.38ID:FtQwjU5R
tsとjqは相性悪いからangularもビミョー
2019/04/18(木) 22:20:30.68ID:PeuY0IP9
>>429
Webシステムじゃよくわからん。
JavaScriptを一切使わないWebシステムだって有るんだし

> 別にそういうモノを作る予定なんてないって人はjQueryは使い続けてても全く支障はないと思うよ

ずっとそれを言ってる。ウェブであちこちのサイト見て、
そのサイト、アプリで作ればいいのに?って思うことある?
そういうことだよ。ウェブで皆が見てるものの大半は、アプリ用のフレームワークなんか使っちゃダメ
2019/04/18(木) 23:11:25.60ID:975/tdja
流行の移り変わり前提ならAureliaになるんかね
2019/04/18(木) 23:16:27.84ID:rt2qFRnt
>>433
なぜ?
2019/04/19(金) 00:19:18.93ID:ZJZT2sL1
暇な天才達がおもちゃを作り

凡人の我々が疲弊する
436デフォルトの名無しさん
垢版 |
2019/04/19(金) 00:56:42.83ID:nz9XNE8t
実務の世界ではwebは運用を考えないといけないから
ビルド必須なのは辛いんだよね
JAM Stackにバリバリ行きたい気持ちはあるのだが
結局はjQueryを使った無難なサイトがメインになって
しまう
エンジニアは運用の視点を忘れたらいけない
サイト制作にはjQueryが必須だと思う。

でもSPAで作る時は日本語のドキュメントがまだ出て
来てないような最前衛の実装方法で暴走するけどねw
2019/04/19(金) 01:05:48.22ID:mPb3RkdR
いい加減>>1読め
2019/04/19(金) 07:03:38.13ID:SkMw1Cjg
>>432
君には一生縁のない世界みたいだからおうちにおかえり
2019/04/19(金) 07:15:41.26ID:GnXLTXUb
>>438
反論できなくなったときの言葉だねw
2019/04/19(金) 08:37:31.56ID:gmGy9oTC
ちょっとしたサイトなら、jQuery, Lo-dash のテンプレートエンジンで十分。
Underscore.js のテンプレートエンジンを使ったフレームワークが、Backborn.js

フレームワークを使うのは、データベースを使うような、web アプリ

Ruby のテンプレートエンジンの ERB でも、基本は、文字列を連結していくような原始的なもの
2019/04/19(金) 08:55:09.83ID:p/ztoCUW
本当にちょっとしたものならそんな何万文字ものライブラリいらんだろ

const template = ctx => `
<html>
<head><title>${ctx.daimei}</title></head>
<body>${ctx.naiyou}</body>
</html>
`

const data = {
daimei: '題名',
naiyou: '内容',
}

const html = template(data)
2019/04/19(金) 10:13:16.52ID:ZJZT2sL1
Vue試してみてるけど
Vuexってもしかして必須か
コンポーネント間の簡単な操作でも複雑に感じたわ

それならもうAngularみたいに全部入りでいいじゃんと思いました
2019/04/19(金) 10:19:03.41ID:JukS+GDU
>>442
世界中でどれか一つに統一されるならAngularをおしたい。
慣れた時の開発効率やわかりやすさはAngularだと思う。
2019/04/19(金) 11:22:56.56ID:GnXLTXUb
>>440
かいてることめちゃくちゃ

> ちょっとしたサイトなら、jQuery, Lo-dash のテンプレートエンジンで十分。
「ちょっとした」の意味がわからん。
そもそもテンプレートに大きいも小さいもないだろ

> フレームワークを使うのは、データベースを使うような、web アプリ
データベースならウェブアプリだけやなくウェブサイトでも使うし
それはフレームワークを使う理由にはならん。

> Ruby のテンプレートエンジンの ERB でも、基本は、文字列を連結していくような原始的なもの
文字列を連結ってなんのことを言ってるんだか。内部の実装の話なんか関係ないだろ
2019/04/19(金) 11:29:00.68ID:nz9XNE8t
lodashのテンプレは確かに便利
これは同意する
2019/04/19(金) 11:31:53.09ID:GnXLTXUb
>>441
> 本当にちょっとしたものならそんな何万文字ものライブラリいらんだろ
何万じゃサイズがわからん。

1万文字 = 10KB程度ってことでいいのか?
何万文字 = 数十KB、画像1枚分もなくて、
ADSLや光回線なら0.1秒以下、スマホの128kbps制限中でも
2〜3秒程度でダウンロードできるサイズ
だよね?

今度から「僅かなサイズのライブラリ」って書いてくれない?
意図的に多く見せようとしてるようにしか見えないからさw
2019/04/19(金) 11:35:38.96ID:GnXLTXUb
>>441
あとそのコードは単なる文字列中の変数埋め込み
テンプレートエンジンを名乗るなら、ループと条件分岐ぐらいは
対応してないとだめだろう
2019/04/19(金) 12:33:46.65ID:p/ztoCUW
>>447
だから簡単なものならそれで十分だろうと言ってるんだが。
そんなもの必要に応じて関数書きゃいいだろう。
2019/04/19(金) 12:37:15.37ID:p/ztoCUW
テンプレートエンジン固有の構文覚える方がめんどいわ
2019/04/19(金) 12:53:32.50ID:pVA6rbms
>>443
でもAngular人気ないよね
日本ではなく世界の話
https://2018.stateofjs.com/front-end-frameworks/overview/
世界二万人超の開発者に対するアンケートの結果みたいなんだけど
Angularは「使ったことあるけどもう使わない」
ってのが飛び抜けて多い
なんでこんな嫌われているのか全然わからないけど
2019/04/19(金) 13:14:05.01ID:p/ztoCUW
確かにせっかくの大規模アンケートなんだから理由も見たかったよな。
2019/04/19(金) 13:32:46.93ID:ZJZT2sL1
破壊的な変更が原因でしょう
また大幅な変更あるのではとリスクを嫌ってる
2019/04/19(金) 14:22:40.05ID:GnXLTXUb
WebComponentsの登場で
今のフレームワーク全滅するっていうのになw
2019/04/19(金) 15:33:13.76ID:y1N4KfNl
>>450
本来のjavascriptと解離が大きいのがな。
やっぱ通用するスキルが身につくことが重要よ。
2019/04/19(金) 16:06:37.80ID:eZFOlDYz
どこぞの人気投票らしきもの
https://pbs.twimg.com/media/D31uY7qUwAISCPT.jpg
2019/04/19(金) 16:08:56.45ID:9mBO7kZI
>>453
それも結局はXHRと一緒なんじゃない?
原始的で汎用的なものを提供するけど結局ラッピングされたものの方が使いやすいってなると思う
2019/04/19(金) 16:21:41.87ID:GnXLTXUb
>>456
> それも結局はXHRと一緒なんじゃない?

なんでXHRの話なんか出てくるんだ?
UIコンポーネントの話なんだが

> 原始的で汎用的なものを提供するけど結局ラッピングされたものの方が使いやすいってなると思う

そりゃラッピングされたもののほうが使いやすいでしょw
だからjQueryの方が使いやすいんだし。

問題は、WebComponentsをラッピングしたものは、AngularやVueやReactとは別のものになるってこと。
AngularやVueやReactもWebComponentsを考慮しつつ開発してるんだろうが、
WebComponentsが最終的にどうなるのかわからないし、
WebComponentsがない時代の設計をWebComponentsに最適化するのは大変。
どうせWebComponentsに最適化された新しいフレームワークが出るに決まってる。
そしたら今のフレームワークは全部おさらばw
2019/04/19(金) 16:54:49.69ID:p/ztoCUW
>>455
ひとつだけステッカー貼ってアピールしてるのが哀愁を誘うなw
2019/04/19(金) 17:14:03.31ID:22g/XrvX
>>457
html5だかECMAScriptだかの標準仕様を持ち上げるって意味では一緒じゃね?
WebComponentsもXMLHttpRequestも逆に何が違うって言うんだよ?
2019/04/19(金) 19:30:52.27ID:PWe5dNBv
なんも作ってない人ってなんでこんなにわかりやすいバカさを露呈しちゃうんだろうね。
461デフォルトの名無しさん
垢版 |
2019/04/19(金) 19:50:06.07ID:n8mFcZJ1
web componentに過剰に期待しちゃダメだよ。仕様を大きく超えて肥大化した今のフレームワークのほんの一部を標準化しますってだけ。
少し触ってみれば分かるが期待とは別物。到底現状のコンポーネントが置き換わるレベルじゃない。
2019/04/19(金) 21:06:05.48ID:GnXLTXUb
>>459
> WebComponentsもXMLHttpRequestも逆に何が違うって言うんだよ?

WebComponentsはコンポーネントを作るAPI
いろんな人や会社がコンポーネントを作って配布することになるだろう。
ここが大きな違い。

XMLHttpRequestはそれ単体で使うものだが、
WebComponentsは、そのAPIを使ってコンポーネントを作る人と
作られたコンポーネントを使う人に分かれる
2019/04/19(金) 21:33:14.60ID:SkMw1Cjg
それって結局Reactとやってる事変わらなくないか?
464デフォルトの名無しさん
垢版 |
2019/04/19(金) 21:36:51.67ID:wiWuuxML
>>455
使ったことないアホどもの人気投票だろうな
2019/04/19(金) 21:40:08.98ID:GnXLTXUb
>>463
そうだよ?やってることがかぶってるから
WebComponents(ウェブ標準)に置き換わるって言ってんの
2019/04/19(金) 22:01:24.55ID:GSI3q7h6
>>464
使ってる人の数の非もこんなもんなんじゃない?
2019/04/19(金) 22:24:03.00ID:er92Du55
>>349によるとそんなもんだな。
468デフォルトの名無しさん
垢版 |
2019/04/19(金) 23:18:27.59ID:5jtmr99m
部下から尊敬される上司が行っている、たった一つの方法
https://www.youtube.com/watch?v=rHwmeu3R8VQ
仕事ができる人だけが知っている、すべてが好転する「黄金ルール」
https://www.youtube.com/watch?v=Kx6cN24EY6E
自分の生き方や働き方がわからない人に伝えたい「生き方の正しい選び方」
https://www.youtube.com/watch?v=VfxW0fqquIE
2019/04/19(金) 23:23:08.94ID:ZJZT2sL1
とにかくJSフレームワークは
他人のコードみたくないし保守したくない
作り逃げの案件しかやりたくねー
2019/04/19(金) 23:53:16.20ID:lpgW/kDH
>>465
置き換わるわけないやんどうせ機能ショボいのに
2019/04/19(金) 23:57:01.13ID:dMoQXjko
まぁwasmを独自タグ化できるとかならワンチャンなくもないかも知れんけど
ウェブ標準とReactなら大半の人はReact選ぶと思うけどね
2019/04/20(土) 00:08:48.19ID:V6hNb77K
それにしてもAngularはホント使ってるとこ見ないよね技術書展のサイトくらいしかまともに使ってるとこ見たことない
Reactは動画配信サイトの類とかでわりと使ってるところよく見る
Vueはライブラリとして読み込んでるサイトはわりとあるけどフレームワークとして(Vuex,vue-routerとか使って)ガッツリ作り込んでるところ半分くらいで他はjQueryとの共存でだましだましに使ってるんじゃないかとね
2019/04/20(土) 02:57:45.91ID:a8xtUdmI
この業界の闇が見れたよ
vue js 大規模

https://mobile.twitter.com/rei_ktrg/status/1119150597599404032/photo/2

https://mobile.twitter.com/andoshin11/status/1118694687794053120

https://mobile.twitter.com/ku_suke/status/1119053092069097472
https://twitter.com/5chan_nel (5ch newer account)
2019/04/20(土) 04:51:28.50ID:LA3ebzxs
vue,reactならreactのが好きだけどreduxがデファクト取ったのほんとつらい
2019/04/20(土) 06:58:25.30ID:lwVpLCzw
>>472
react,vueくらいならちょこっと作るのもそこまで苦じゃないけど
angularはなんか闇を感じるぞ。。
2019/04/20(土) 07:42:58.61ID:rcvSJkam
>>441
HTMLエンコードも、しないといけない。
「& < > "」などを、「&」「&lt;」「&gt;」「&quot;」に置換

Ruby のERB では、
結果を出力するなら、<% = 式 >
しないなら、<% 式 >

<% # コメント >

地の文(Rubyの式以外)で、<% を使う、
または、ERBタグ内で、%> を使う場合は、% を2重にする(エスケープ)
477476
垢版 |
2019/04/20(土) 07:51:06.41ID:rcvSJkam
自己レス
>「& < > "」などを、「&」「&lt;」「&gt;」「&quot;」に置換

あれ? どうして「&」と表示されたのか?

「&」(全角なら「&amp;」)と書いたのに。
5ch のバグ?
478476
垢版 |
2019/04/20(土) 07:58:58.23ID:rcvSJkam
自己レス
>「&」(全角なら「&amp;」)と書いたのに。

「&」
ここには半角で「& a m p ;」(ただし、空白を除く)、
全角で書くと「&amp;」と書いているけど、「amp;」が表示されない!

なぜ?
2019/04/20(土) 08:22:32.49ID:kIPwVBjm
vueできますの人ってJQueryの延長で使えてるだけの人多いから危険だわ
Reactできますの人雇った方が安全
アプリとしての設計できるか否かと文法覚えたからコード書けますは違うから
Reactできるなら設計できると考えていい
2019/04/20(土) 08:31:55.09ID:bPC53Tje
>>478
2chの頃からUnicodeの表示には10進文字参照使ってるから
&のエスケープだけ効くようになってる
&amp;amp;と書けばいい
2019/04/20(土) 09:34:01.59ID:OSkkX2tB
>>479
Reactはそんなに難しいってこと?
2019/04/20(土) 09:44:58.55ID:V6hNb77K
ちゃんとしっかり向き合えば難しいって事はないよ
Reduxだって書いてれば慣れるし慣れればそれほど難解じゃない

一回ベタでJSX書いてそこから部品になりそうなものを切り出したら
次に似たような画面作る時劇的に手間が減ったりする
2019/04/20(土) 09:50:31.75ID:YjCevdff
Aureria使ってるけど全然難しくないぞ
Reactも難しくはないんだろう
むしろVueってそんなに簡単なの?
2019/04/20(土) 10:18:20.36ID:V6hNb77K
どのフレームワークも書き方が違うだけで構成する要素(状態、ルーティング、コンポーネント)は似たり寄ったりだと思うよ
ただVueの場合
<div id="app">

</div>
をルートコンポーネントとしてVueに関連付けるのにdiv涛烽フDOMをそのまま使えるっていうのが新規にはとっつきやすい一因だと思う
もちろん別ファイルに書いたルートコンポーネントをマウントすることもできるけど

DOMがそのまま→既存のサイトに追加できるって事で入りやすいんだろうけど
できたものはカオスなんだろうなって思う
2019/04/20(土) 10:49:02.44ID:lwVpLCzw
問題は非同期通信をどこに置くか、どう実行するかってとこでしょ。
2019/04/20(土) 12:02:30.90ID:aNolGhqF
そもそもそれSPAにする意味あるの?というところからだな
2019/04/20(土) 13:17:37.40ID:lwVpLCzw
そもそもただの静的なhtmlで十分てのはあるがそれはまた別の話だな。
2019/04/20(土) 13:50:29.73ID:OSkkX2tB
>>487
静的なHTMLは、サーバーに置いたHTMLを表示するだけ
動的なHTMLは、データベースなどにアクセスしてHTMLを動的に生成するもの

どちらもJavaScript使用の有無は関係ないのですよ
2019/04/20(土) 14:06:39.55ID:syajeBai
Reduxって他のフレームワークでも
汎用的に使えるの?

vueにはVuex があるし
2019/04/20(土) 14:20:12.59ID:Yj5VNfn5
>>481
Reactは設計や構造を考えられる人じゃないと
まともに動くモノは組めないからね
学習コストはAngularより低いけども設計力が必要

Reactに関しては得手不得手が分かれると思う
合ってる人なら即日使えるようになる
苦手な人は勉強しても駄目かもしれない
2019/04/20(土) 14:23:17.25ID:aNolGhqF
負の遺産が量産され続けてそう
数年後が怖いね
2019/04/20(土) 14:28:03.53ID:lwVpLCzw
設計や構造を考えないで動的に動くview作ろうってのがそもそも間違いじゃね?
と思うんだが。
2019/04/20(土) 14:34:34.23ID:OSkkX2tB
(汎用の)コンポーネントを作るという考え方で作れば良いんですよ。
そうすれば、全体を考えなくていい。
2019/04/20(土) 14:43:31.02ID:lwVpLCzw
んなこたない。
部品で分けても結局どう繋ぐかって問題は出てくる。
だからコールバックを引き回すのかreduxみたいな一周するパターンを使うのか考えるわけだ。
2019/04/20(土) 14:52:25.93ID:UeTDxeBd
まだプログラミング自体初心者だった頃に、個人で何か作ろうとしてみたりしてたときは、確かに設計なんかせずに順番に動くように動くようにプログラミングしてたわ。
496デフォルトの名無しさん
垢版 |
2019/04/20(土) 15:52:34.64ID:MO877tOl
reactもvueも適材適所でいいんじゃない?設計は別のレベルの話だろう。所詮道具なんだしさ。いやそれを議論するスレだったなw
2019/04/20(土) 16:20:16.32ID:aNolGhqF
大抵の人はjqueryを使う規模で十分であるが
jqueryで何か新しく書こうとなると辛い
そこで規模にマッチするのがVueになるからVueが人気
2019/04/21(日) 15:58:14.04ID:Nh7t/mMV
Angular覚えれば最強なんじゃね?
499デフォルトの名無しさん
垢版 |
2019/04/21(日) 16:13:30.43ID:+n/bTUR6
周りvue使う奴ばかりで俺だけReactだから取り残された感がある
2019/04/21(日) 16:20:10.40ID:0mpGXc/m
>>499
react出来るならvueもすぐ覚えられるやろ
2019/04/21(日) 16:30:06.97ID:O0Cyl0Uv
vueはreactの下位互換
2019/04/21(日) 16:32:17.78ID:o9+52jcW
>>501
どういう所に互換性があるの?
2019/04/21(日) 17:59:50.12ID:idC8t1Zb
create-react-app がデフォルトなだけって気はする。
2019/04/21(日) 18:59:32.38ID:HebMLUkK
互換性はないけど枠組みとしては確かに似たり寄ったり
2019/04/21(日) 22:33:06.57ID:HUpVr9Rv
Jqueryで足りないとは例えばどんな動作?
2019/04/21(日) 23:16:22.08ID:RrDR8c7C
>>1
2019/04/22(月) 00:44:30.62ID:gmJvG001
Reduxって親コンポーネントに偽装してReduxのステートをPropsとして受け取る感じなんだね
慣れてくればそれほどstateと変わらない感じ
2019/04/22(月) 10:42:02.31ID:aRCKiCHK
VueでTypeScriptってどうなの?
オーバースペック???
509デフォルトの名無しさん
垢版 |
2019/04/22(月) 10:51:29.31ID:YqOHOoCK
>>505
vdomとbindingはロジック部分を根本から変えた。後戻りできない部分だな。他はjQueryでも無理すれば代替できん事はないが。
2019/04/22(月) 10:54:01.25ID:7SFj5xSv
ロジック部分ってなに?

普通ロジック部分っていうと、UIは除いた部分のことだから
jQuery使っても同じはずだが?
511デフォルトの名無しさん
垢版 |
2019/04/22(月) 10:57:48.25ID:YqOHOoCK
>>508
ページ単位で小規模に適用する分にはvueにTSは必要ない。コスト上がるだけでvueのフットワークを殺す。
新規なら先日nuxtがv2.5で完全にTS対応したから最初からそっち使った方が良いよ。にしてもnuxt-tsはキモかった。
512デフォルトの名無しさん
垢版 |
2019/04/22(月) 11:21:42.95ID:YqOHOoCK
>>510
JQueryはdomが主役だがbindingはデータが主。だからデータ構造とそれを処理するロジックが根本から違う。これ以上はスレチになるから深くは説明しないが。
2019/04/22(月) 11:37:26.45ID:7SFj5xSv
>>512
つまり、jQueryに足りない部分 = DOM以外ってことですよね?
それは同じでしょ?
■ このスレッドは過去ログ倉庫に格納されています