実際どうなん?
Vue
https://jp.vuejs.org/
React
https://reactjs.org/
Angular
https://angular.io/
※前スレ
Vue vs React vs Angular Part.2
https://mevius.5ch.net/test/read.cgi/tech/1552136553/
※前前スレ
Vue vs React vs Angular
http://mevius.5ch.net/test/read.cgi/tech/1545395856/
★ここではjQueryの話題は禁止です
★jQuery房が書き込んでも無視してください
探検
Vue vs React vs Angular Part.3
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2019/06/12(水) 19:04:55.46ID:x67noP4p2019/06/12(水) 19:06:51.08ID:QtpMWUcX
>>1
スレ建て乙
スレ建て乙
2019/06/12(水) 19:11:10.66ID:MP1tRols
1. jQueryはシンプルに書けるVue・Reactは冗長
証拠 https://jsfiddle.net/t62b49mp/
JavaScriptのコードはこれだけ
$('.my-component [name="switch"]').change(function() {
$(this).closest('.my-component').toggleClass('active', this.checked);
});
2. 信者「Vueならこれだけで動く!」
嘘1 isActive=false
嘘2 new vue({data:{isActive:false}})
https://codepen.io/anon/pen/MxmrjP (動かない)
嘘3
new Vue({
el: '#app',
data: {isActive:false},
})
https://codepen.io/anon/pen/XGgpZV (変な動きをする)
3. 結論
jQueryはシンプルに書けるVue・Reactは冗長
証拠 https://jsfiddle.net/t62b49mp/
JavaScriptのコードはこれだけ
$('.my-component [name="switch"]').change(function() {
$(this).closest('.my-component').toggleClass('active', this.checked);
});
2. 信者「Vueならこれだけで動く!」
嘘1 isActive=false
嘘2 new vue({data:{isActive:false}})
https://codepen.io/anon/pen/MxmrjP (動かない)
嘘3
new Vue({
el: '#app',
data: {isActive:false},
})
https://codepen.io/anon/pen/XGgpZV (変な動きをする)
3. 結論
jQueryはシンプルに書けるVue・Reactは冗長
2019/06/12(水) 23:07:01.43ID:inilIjyq
相変わらず社会不適合者が粘着してんのな
2019/06/13(木) 11:30:36.40ID:euXigNzW
>>1乙
前スレの話題、無駄に冗長なコードよりは短い方が良いだろうけど
短さも保守性の一要素であって
同じく保守性に影響する型チェックや適切な分割などとトレードオフになることもある
WebサイトというよりWebアプリ向けのフレームワークとしては
最もスマートなHello worldが書けることより
規模や複雑さが増大したときに保守可能であって欲しい
前スレの話題、無駄に冗長なコードよりは短い方が良いだろうけど
短さも保守性の一要素であって
同じく保守性に影響する型チェックや適切な分割などとトレードオフになることもある
WebサイトというよりWebアプリ向けのフレームワークとしては
最もスマートなHello worldが書けることより
規模や複雑さが増大したときに保守可能であって欲しい
2019/06/13(木) 14:24:17.80ID:9Vo7Y55o
googleで「アヌス」って検索してたら
「新婚旅行で特別な体験」っていうタイトルがヒットしたので早速開いてみたら
ディオクレティアヌス皇帝の浴場レストランに行った話だった
「新婚旅行で特別な体験」っていうタイトルがヒットしたので早速開いてみたら
ディオクレティアヌス皇帝の浴場レストランに行った話だった
2019/06/13(木) 21:08:40.70ID:IEWBaGWA
ReduxもHooks対応かぁ
2019/06/15(土) 18:53:51.89ID:X2oQflww
>>7
ウチのポートフォリオサイトも対応しなきゃなぁ…
ウチのポートフォリオサイトも対応しなきゃなぁ…
2019/06/21(金) 08:24:19.26ID:Mu2odL0V
SPAのメリットってなんですか?
2019/06/21(金) 10:19:04.51ID:s9IHadCZ
ひろゆきがコラム書いてる
2019/06/22(土) 00:23:12.00ID:3TgqxsPN
>>9
【メリット】
・ネイティブアプリみたいに滑らかな画面遷移が可能。
・マテリアルデザインのガイドラインに沿ったUIライブラリが豊富。
・双方向バインディングによりHTMLの状態とJavascript オブジェクトの状態を一致させる事ができ、
jQueryを用いた泥臭いDOMいじり作業が不要。
・Cordovaでアプリ化してストアに登録する事も可能。
【デメリット】
・クローラがSPAに対応してない。SEO対策が必要な案件にはSSR必須 = サバーサイドのスキルも求められる。
・jQuery等のライブラリと比較して学習コストが鬼。特にAngular。
・Angular vs React vs Vue とスレタイにある通り、まだデファクトスタンダードが決まってない。
こんな感じかな。俺的には初心者には Vue → Nuxt がオススメ。
日本語ドキュメントが豊富で取っ付きやすい。
オススメしないのはAngular。TypeScript 必須 & 覚える事多い & 開発元の Google が最近Flutterばっか推してて将来 Flutter for web に喰われるかも。
【メリット】
・ネイティブアプリみたいに滑らかな画面遷移が可能。
・マテリアルデザインのガイドラインに沿ったUIライブラリが豊富。
・双方向バインディングによりHTMLの状態とJavascript オブジェクトの状態を一致させる事ができ、
jQueryを用いた泥臭いDOMいじり作業が不要。
・Cordovaでアプリ化してストアに登録する事も可能。
【デメリット】
・クローラがSPAに対応してない。SEO対策が必要な案件にはSSR必須 = サバーサイドのスキルも求められる。
・jQuery等のライブラリと比較して学習コストが鬼。特にAngular。
・Angular vs React vs Vue とスレタイにある通り、まだデファクトスタンダードが決まってない。
こんな感じかな。俺的には初心者には Vue → Nuxt がオススメ。
日本語ドキュメントが豊富で取っ付きやすい。
オススメしないのはAngular。TypeScript 必須 & 覚える事多い & 開発元の Google が最近Flutterばっか推してて将来 Flutter for web に喰われるかも。
2019/06/22(土) 00:33:07.00ID:3TgqxsPN
あ、もう一つ最大のデメリット忘れてたわ。
・基本的にはモダンブラウザのみ対応。古いPCを使ってるケチな会社…もといレガシーな環境では使えない。
・基本的にはモダンブラウザのみ対応。古いPCを使ってるケチな会社…もといレガシーな環境では使えない。
13デフォルトの名無しさん
2019/06/22(土) 02:31:23.59ID:e0kWbxTa よく自信満々で偉そうに思い込み騙れるな。
3つともIE9で見れるが。IE9はモダンブラウザですか?
3つともIE9で見れるが。IE9はモダンブラウザですか?
2019/06/24(月) 00:45:32.28ID:KMhG5DpC
なんか急に過疎ってんな
2019/06/24(月) 00:49:33.05ID:QJh3OZzw
みんな見限ったんだよ
2019/06/24(月) 01:02:21.54ID:eytL/XJT
他所で訊いてここが良いと言われたので、質問させてもらいたくやってきました
Vueをtypescriptで書いて、property-decoratorで@Emitデコレータを使いたいときに
外部ファイルからimportしたvueインスタンス(仮にextvm)に
イベントをemitしたいときってどうやればいいのでしょうか
this.$emit('call')
に
@Emit() call{}
は相当していますが
extvm.$emit('call')
を投げるにはどうすればいいのだろうかという疑問です
property-decoratorの公式も見てみたのですが
例は全部this.$emitの置き換えばかりで分からなかったので
詳しい方いらっしゃいましたらお教えいただければ幸いです
どうぞよろしくお願いいたします
Vueをtypescriptで書いて、property-decoratorで@Emitデコレータを使いたいときに
外部ファイルからimportしたvueインスタンス(仮にextvm)に
イベントをemitしたいときってどうやればいいのでしょうか
this.$emit('call')
に
@Emit() call{}
は相当していますが
extvm.$emit('call')
を投げるにはどうすればいいのだろうかという疑問です
property-decoratorの公式も見てみたのですが
例は全部this.$emitの置き換えばかりで分からなかったので
詳しい方いらっしゃいましたらお教えいただければ幸いです
どうぞよろしくお願いいたします
2019/06/24(月) 01:02:29.59ID:c9pCSAyJ
何を見限ったんです?
React?
React?
2019/06/24(月) 09:21:50.31ID:dhWW1aIx
>>17
jQueryおじさんの妄言だろ
jQueryおじさんの妄言だろ
2019/06/24(月) 13:44:24.48ID:VkFnTpt9
ViewModel for React使ってるやついる?
2019/06/24(月) 18:02:35.13ID:ICLwVQcV
ReactとVueどっちがおすすめ?
21デフォルトの名無しさん
2019/06/24(月) 18:12:51.55ID:TlmQ/GE6 jsがどのくらい出来たらvue.jsとかのフレームワーク習得が良いの?
html/cssコーダーとして4年くらいやってたんだけどjQueryでdomいじるくらいで他にライブラリ導入するくらい。
正しい記法やらも知らないし、js単体でのアプリケーション作成なども全く無理な状態。
html/cssコーダーとして4年くらいやってたんだけどjQueryでdomいじるくらいで他にライブラリ導入するくらい。
正しい記法やらも知らないし、js単体でのアプリケーション作成なども全く無理な状態。
2019/06/24(月) 19:15:28.51ID:vjsNfzGl
2019/06/24(月) 19:55:19.48ID:IpbvJOYB
結局はPWAっぽいものを作りたいかどうかだな
2019/06/24(月) 22:44:58.68ID:k1X9rXNU
TypeScriptはどっちみち必須になるだろうな
25デフォルトの名無しさん
2019/06/24(月) 23:30:41.44ID:TlmQ/GE6 なるほど。使わない人には必要ないと。
しかし今転職考えててスキルセット考えるとコーダー関連しかできませんだと、どうにも辛い状況なんですよね。
PWAだのSPAだの作れますと言える状態にしたいのは間違いないので、とりあえずjsの勉強始めます。
しかし今転職考えててスキルセット考えるとコーダー関連しかできませんだと、どうにも辛い状況なんですよね。
PWAだのSPAだの作れますと言える状態にしたいのは間違いないので、とりあえずjsの勉強始めます。
26デフォルトの名無しさん
2019/06/25(火) 01:08:11.49ID:y6XNwTlk google i/o 2019見た?
googleがweb.devにreactのガイドコンテンツ作るってよww
google謹製angularの立場wwww
googleがweb.devにreactのガイドコンテンツ作るってよww
google謹製angularの立場wwww
2019/06/25(火) 01:44:09.87ID:/1SkxROv
同時に勉強すればいいよ
2019/06/25(火) 03:36:11.36ID:sfPYxc02
>>25
転職サイトで経歴に書くならReactとか食いつきはいいよね
転職サイトで経歴に書くならReactとか食いつきはいいよね
2019/06/25(火) 06:50:25.49ID:SxemZYeq
>>16
やりたい事半分も理解できてないから正しい回答か自信ないけど、2つのtsコンポーネントでファンクションを共有化したいのかな。
であれば自分なら2つのコンポーネント用tsファイルとは別にexport class書いたtsファイル1つ作って、
static なファンクションの中に共有したいファンクション書くな。
後は2つのtsコンポーネント上でそれぞれ↑のクラスをimportして、
import { CommonFuncClass } from './CommonFuncClass.ts';
@Emit call{
CommonFuncClass.funcName;
}
みたいにすればいいんでない? 適当に書いてるから間違ってたらすまん。
やりたい事半分も理解できてないから正しい回答か自信ないけど、2つのtsコンポーネントでファンクションを共有化したいのかな。
であれば自分なら2つのコンポーネント用tsファイルとは別にexport class書いたtsファイル1つ作って、
static なファンクションの中に共有したいファンクション書くな。
後は2つのtsコンポーネント上でそれぞれ↑のクラスをimportして、
import { CommonFuncClass } from './CommonFuncClass.ts';
@Emit call{
CommonFuncClass.funcName;
}
みたいにすればいいんでない? 適当に書いてるから間違ってたらすまん。
2019/06/25(火) 14:58:20.86ID:0ge/8d0E
TypeScript使ってないと死んでしまう
2019/06/25(火) 15:04:15.58ID:9lHEQL1R
死んでも困らない
32デフォルトの名無しさん
2019/06/25(火) 15:05:28.37ID:7F89fU7n TypeScriptはあまえ
33デフォルトの名無しさん
2019/06/25(火) 23:31:08.98ID:sm3AeLff スレの趣旨から少しずれてすみません
VueJS使っていて
どうしても $.ajax() の利便性を用いたく(jsonpの利用等で)
VueJS中でこういった部分的なjQueryの実装をしている人はいますでしょうか?
VueJS使っていて
どうしても $.ajax() の利便性を用いたく(jsonpの利用等で)
VueJS中でこういった部分的なjQueryの実装をしている人はいますでしょうか?
2019/06/25(火) 23:32:26.85ID:lYvgz1Kc
キメラせずに素直にaxios使ってください
2019/06/26(水) 00:06:33.98ID:OukDf0at
2019/06/26(水) 02:09:39.85ID:vlY6iP+W
>>33
jQueryでDOMいじりしないならjQuery混在させても良いんじゃない?
ただajaxなんて使わなくても、Vueにはaxiosがあるからそっち使ったほうがいいよ。
(jQuery入れてると、jQueryしか出来ない馬鹿がjQueryをDOMいじりに使いやがるから)
あと、JSONPを使うのはCORSの制限回避の為? 素直にコンテンツサーバー側のCORS設定見直したほうが方向性としては正しいかと。
jQueryでDOMいじりしないならjQuery混在させても良いんじゃない?
ただajaxなんて使わなくても、Vueにはaxiosがあるからそっち使ったほうがいいよ。
(jQuery入れてると、jQueryしか出来ない馬鹿がjQueryをDOMいじりに使いやがるから)
あと、JSONPを使うのはCORSの制限回避の為? 素直にコンテンツサーバー側のCORS設定見直したほうが方向性としては正しいかと。
2019/06/26(水) 03:51:32.78ID:A3AE1MVC
むしろVueJS使わずに、jQueryにしたほうが良いのではないか?
2019/06/26(水) 04:41:57.12ID:BuTgnmsH
どうせやるんならVueよりもReactやった方がいいと思う
2019/06/26(水) 08:35:04.28ID:BcApMSVm
スレタイの3つがどうなっていくのか色んな予想あるけどよくわからんなあ
40デフォルトの名無しさん
2019/06/26(水) 08:54:25.99ID:qk5ECIA8 >>39
349 デフォルトの名無しさん sage 2019/04/11(木) 19:42:22.98 ID:GR4ezT/u
日本にいるとVue人気だから勘違いしそうになるがやっぱ採用実績はReactが圧倒してるんだな。475kサイト vs 64kサイトか……
しかしなぜかGitHubのスター数だけタメ張ってるw
Top JavaScript Frameworks For 2019
https://www.codementor.io/nikhil21tyagi/top-javascript-frameworks-for-2019-s8881i8ga
パフォーマンスについてはReactよりVueのほうがいいな。
AppRunってやつ速くて気になる。
しかしAngularいくらなんでも酷すぎる……
A RealWorld Comparison of Front-End Frameworks with Benchmarks (2019 update)
https://medium.freecodecamp.org/a-realworld-comparison-of-front-end-frameworks-with-benchmarks-2019-update-4be0d3c78075
349 デフォルトの名無しさん sage 2019/04/11(木) 19:42:22.98 ID:GR4ezT/u
日本にいるとVue人気だから勘違いしそうになるがやっぱ採用実績はReactが圧倒してるんだな。475kサイト vs 64kサイトか……
しかしなぜかGitHubのスター数だけタメ張ってるw
Top JavaScript Frameworks For 2019
https://www.codementor.io/nikhil21tyagi/top-javascript-frameworks-for-2019-s8881i8ga
パフォーマンスについてはReactよりVueのほうがいいな。
AppRunってやつ速くて気になる。
しかしAngularいくらなんでも酷すぎる……
A RealWorld Comparison of Front-End Frameworks with Benchmarks (2019 update)
https://medium.freecodecamp.org/a-realworld-comparison-of-front-end-frameworks-with-benchmarks-2019-update-4be0d3c78075
2019/06/26(水) 10:17:06.57ID:tKP4UJlx
毎回同じヤツが言ってるのか知らんが旧版のAngularJSをAngularかのようにミスリードするのはどうかと思う
2019/06/26(水) 11:19:59.87ID:+23jdxl3
Vue.js, jQuery は、併用できない
Vue.jsは仮想DOM で、独自のタイミングでDOMを更新するから、
jQueryで実DOMを変更しようとしても、元に戻ってしまう!
axios を使えば?
Vue.jsは仮想DOM で、独自のタイミングでDOMを更新するから、
jQueryで実DOMを変更しようとしても、元に戻ってしまう!
axios を使えば?
43デフォルトの名無しさん
2019/06/26(水) 12:36:54.61ID:qk5ECIA8 RubyキチガイがhttpクライアントライブラリであるaxiosでDOM操作するようですwwwww
2019/06/26(水) 21:22:06.32ID:BuTgnmsH
といいつつ大体共存してるんよねVue使ってるサイトって
2019/06/26(水) 21:43:55.15ID:LU29nklf
react + axios でええやん
2019/06/27(木) 08:05:58.08ID:kOFB541w
SPA自体が微妙
47デフォルトの名無しさん
2019/06/27(木) 19:53:10.03ID:8Wr3UmF0 全体から見たらほとんどのライブラリがjQuery要求するしなぁ
もちろん代替自体は進んでるけど、世の中新規案件より過去案件の保守しなければいけないポイントは増え続けてるわけで。
もちろん代替自体は進んでるけど、世の中新規案件より過去案件の保守しなければいけないポイントは増え続けてるわけで。
48デフォルトの名無しさん
2019/06/27(木) 20:06:51.85ID:pgi+u0Sx ふーんMath.jsとかlodashとかThreeJSとかjQuery要求するんだ。へぇ。
2019/06/27(木) 20:31:34.45ID:Sx1H26YL
ReactやAngularって5年後使われていると思いますか?
2019/06/27(木) 21:12:08.57ID:LqdKKGjf
うん
2019/06/28(金) 00:34:49.13ID:p9xekXNc
いや
2019/06/28(金) 06:44:40.28ID:vIsijqQP
電子化して働き方改革だあ!って号令のもと新規で社内システム作っちゃったから5年は面倒見ることになりそう、後輩が…
2019/06/28(金) 22:46:21.72ID:WUhg5hVA
React は残るんじゃない? バックが Facebook だし。
Angular が残るか消えるかは Google の気分次第かな。現にAngularJSは消えた様なもんだし。
Vue は Evan の個人開発だから、Evan の寿命が Vue の寿命かな。
Angular が残るか消えるかは Google の気分次第かな。現にAngularJSは消えた様なもんだし。
Vue は Evan の個人開発だから、Evan の寿命が Vue の寿命かな。
5433
2019/06/29(土) 01:05:21.67ID:kVSg4mo7 助言を沢山下さりありがとうございます。
JQueryとの併用を検討してみます。
JQueryとの併用を検討してみます。
2019/06/29(土) 01:19:30.63ID:9h5D+6Gj
実務ならそっちの方がいいかも知れんが学習が目的ならjQueryは完全に省いて
フレームワークの機能で賄う設計を身に着けた方がいい
混ぜる事を前提で進めるとどうしても設計的な欠陥に陥りやすい
フレームワークの機能で賄う設計を身に着けた方がいい
混ぜる事を前提で進めるとどうしても設計的な欠陥に陥りやすい
2019/06/29(土) 07:46:42.97ID:8bAr7lLW
react自体なくなっても結局ああいうものがまた作られると思うぞ。
2019/06/29(土) 10:45:14.45ID:0G7b8vyy
Reactは完成形だけど状態管理が後付けだからなー
2019/06/29(土) 11:18:41.10ID:Asw+lwoz
根幹的にはブレることは無いとはいえ、その辺はまだ発展中なんだよな
Redux Hooksも今月リリースされたばかりだし
https://react-redux.js.org/next/api/hooks
Redux Hooksも今月リリースされたばかりだし
https://react-redux.js.org/next/api/hooks
2019/06/29(土) 11:39:53.32ID:9h5D+6Gj
React Routerとかその辺も近いうちにHooks対応するだろうとかその辺の方向性は見えてるけどね
2019/06/29(土) 12:49:00.59ID:sC0e2JjM
公式じゃないのがね
2019/06/29(土) 13:14:38.94ID:/q2AArcU
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【いちご高騰】ヤマザキのクリスマスケーキ、いちご無し販売 [おっさん友の会★]
- 【日中対立】 朝日新聞のタイトル修正が中国逆ギレの火種か SNSで批判相次ぐ [♪♪♪★]
- ネット殺到「高市総理の責任」「完全に高市リスク」「負けるな」中国が水産物輸入停止→流石に総理批判の声も「どう責任取る?」 ★11 [樽悶★]
- 「ドラゴンボール」初の全世界キャラクター人気投票が開幕!212キャラからナンバーワンが決まる!! [ひかり★]
- ひろゆき氏 高市首相の台湾有事発言 「日本が得たものあまりない。経済的なマイナスは明確に存在」 [冬月記者★]
- 【マエケン】楽天入り最有力! 日米通算165勝の前田健太に2年契約オファー [鉄チーズ烏★]
- Redditの外国人たち、なぜか日本の江戸時代の『五人組』システムに興味津々。めっちゃ↑付いてるのに日本人の俺が知らない😰 [718678614]
- 【すべてが】𝗮𝗺͜𝗮͉𝘇𝗼𝗻ブラックフライデーSALE総合【いいだろ!】 [194819832]
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- なんかアレな漫画家が見つかる
- 【悲報】高市政権、ホタテ輸出の支援検討 [834922174]
- 置き配受け取り人さん、配達員に冷え冷えの飲み物を差し入れしネット大荒れ、ちょっとした善意なのにどうして😭 [152212454]
