実際どうなん?
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つがどうなっていくのか色んな予想あるけどよくわからんなあ
■ このスレッドは過去ログ倉庫に格納されています
