Vue vs React vs Angular Part.3

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2019/06/12(水) 19:04:55.46ID:x67noP4p
実際どうなん?
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房が書き込んでも無視してください
2020/05/23(土) 17:25:41.30ID:VnQen1SJ
angular使い始めたけどいいなコレ。管理しやすさ◎
2020/05/23(土) 21:49:01.48ID:6QzvKnQh
今から始めるなら Angular はちょっと…
335デフォルトの名無しさん
垢版 |
2020/05/23(土) 22:53:11.76ID:wxErS6qw
Vueって書いてあるのにな
2020/05/24(日) 07:29:28.60ID:TmPUENeg
>>334
VueもReactも使えるよ!
2020/05/24(日) 07:51:13.57ID:390U+iwo
>>333
Reactと比較してどう?
2020/05/24(日) 13:57:54.47ID:rk0sziuW
Reactを使い慣れたならAngularってめっちゃ使いにくいと思うよ
コンポーネント1個作る旅に4ファイルずつ増えるのが発狂しそう
2020/05/24(日) 14:48:48.68ID:Y1ZXEm/L
jQueryが一番ラクじゃね?w
2020/05/24(日) 15:05:42.13ID:ZGIvWW4o
は、hyperapp...
2020/05/24(日) 15:06:04.29ID:TmPUENeg
>>338
どっちも使いにくいとは思わないかな。というかそんなの慣れの問題だから気にならなくなってしまったってのが正解かな。
2020/05/26(火) 11:48:31.01ID:09gtdxqe
angularでサービスを作成してDIして使うことは、普通にクラスを作成してnewして使うことに比べて何かメリットがあるのでしょうか?
2020/05/26(火) 14:46:33.17ID:5zsa2F3Z
JavaScriptコードだけで数万行を超えるような規模になったらメリットあるよ
2020/05/29(金) 19:17:47.54ID:f1mMBRWv
jqueryは単純に
生javascriptが書けない人が
利用してるだけだと思う。vue.jsは

教本で全部
済ませようとすると100%身に付かない。
塾の先生でもそう知っている人はいない。
2020/05/29(金) 19:52:39.01ID:uRkXoYhe
typescript じゃないと書けなくてゴメン
2020/05/29(金) 20:25:45.60ID:Jvc7lzH+
>>344
https://w3techs.com/technologies/history_overview/javascript_library/all/y
jQueryはウェブサイトの74.9%で使われてる
5年前に比べて13%も増えている
これだけの人が生JavaScriptをかけないとは思えない。
2020/05/29(金) 22:59:47.61ID:JzPA8cDe
趣味ならともかく仕事でjQueryを使えば簡単なところを自力で書いてるやついたら嫌だろw
2020/05/29(金) 23:00:55.14ID:JzPA8cDe
というか塾の先生ってなんや?
2020/05/30(土) 08:47:54.68ID:CjlhONpK
>>346
WordPressには必ずjqueryがついているが、WordPress自体が全サイトの35%
ということは残り40%くらいが非WordPressサイトなわけでそれらがjqueryを使っている

まあでもjqueryは便利だしよくできているよな
2020/05/30(土) 08:50:12.11ID:Ycwc5Pac
つまりWordPressがあれば、VueとかReactとかAngularはいらんわけや
2020/05/30(土) 08:54:02.70ID:Ycwc5Pac
>>349
もしWordpressがvueを採用してjQueryを排除すれば、、WordPress自体が全サイトの35%
ということは残り40%くらいが非WordPressサイトなわけでそれらがjqueryを使っている

となるのかな?

jQueryが使われていてもWordPressに含まれているものは省くっていうのなら
vueが使われていてもWordPressに含まれているなら同じように省くよね?
2020/05/30(土) 09:07:51.68ID:Ycwc5Pac
まあ俺としてはjQueryのシェアの高さより
Vue、React、Angularの1%未満という低いシェアのまま
数年もの間、伸び悩んでる方に危機感を持ったほうが良いと思うけどね

逆にjQueryの方がシェアが伸びてるという皮肉
脱jQueryが叫ばれた頃よりも10%もシェアが増えているからね
一方同じ期間で、Vue、React、Angular全部合わせて1%にしかなっていない
JavaScriptLibraryを使わないサイトも同じぐらい減って、jQueryを使い始めていることが想像できる
2020/05/30(土) 09:54:10.71ID:CjlhONpK
>>351
すまん
日本語がわからん

ちなみにjqueryが伸びているというのはそもそもReactやvueとか単純にこれらのフレームワークを使える奴が圧倒的に少ないから
エンジニアの中でも使える奴が少ないからな
Webサイト制作している奴らには使えるはずもない

せいぜいjqueryしか使えないんだよ
あとはWebサイトの数 >>>>>>>> SPAアプリの数
2020/05/30(土) 12:18:55.92ID:MlE9UdsR
GoogleのCore Web Vitalsで表示速度・インタラクティブ性・読み込みの安定性を重視して検索順位を決める方針、
これは明らかにWordPressのクソみたいな重くて表示バラバラで途中で広告ロードされて間違ってクリックする低品質なサイトをぶっ潰す方針ってことだよな

もちろんReactとかであってもきちんとレンダリング処理をコントロールしないと同じことが言えるわけだが
さらにGoogleはレベルの低いこのWebフロントをなんとかしたいのだろう
いつまでもゴミのようなWordPressに頼っている現状ではWebの未来は暗い

まあWebもPWAとかに変化するからついてこいよっていう意味も含んでいるのかもな

とにかくjqueryゴミカスサイトは淘汰されていく方針になってきたってわけだが大量のゴミ処理はそう簡単に消えないからうまくいくのかもわかんねえ
2020/05/30(土) 12:39:52.72ID:JOE68Vvm
>>353
WordPressに35%含まれてるから実質40%とかいう言い訳しないで
普通にjQueryは74.9%で使われてると言えばいいって話

そうしないとWordPressのjQueryがvueに変わった時に
vueのシェアが35%になっても
WordPressに35%含まれてるから実質0%ということになる
2020/05/30(土) 12:42:46.15ID:JOE68Vvm
>>353
> ちなみにjqueryが伸びているというのはそもそもReactやvueとか単純にこれらのフレームワークを使える奴が圧倒的に少ないから

違う。フレームワークを使う "必要性が圧倒的に少ない" から。
jQueryの代替じゃないんだから、脱jQueryなんて意味がない言葉だったんだよ。

「ウェブサイトはオワコン。これからはウェブアプリの時代だ!」というふうに
"正しく言っていれば" みんなから冷ややかな目で見られていただろうねw
2020/05/30(土) 12:45:07.75ID:JOE68Vvm
>>354
JavaScriptフレームワークを使ったサイトは重い
jQueryを使うのが一番軽い。

なにせ素のHTMLが最初に表示され(この段階でページとして認識される)
そこにJavaScriptを適用する方式だから。

これと真逆のJavaScriptを全部読み込んで実行しないと中身が出力されない
フレームワークよりも圧倒的に軽くなるんだよ
2020/05/30(土) 12:55:05.10ID:nbUOPAO3
prototype.js、jQueryはCSSのセレクタがそのまま使えるのが革命的だった
2020/05/30(土) 13:04:50.05ID:JOE68Vvm
>>358
prototype.jsは使えません

jQueryのCSSセレクタは後にJavaScriptにquerySelectorAllとして導入されたが
jQueryと違って返すのは単なるDOM要素の配列でループが必要なので
結局劣化版にしかならなかった
2020/05/30(土) 14:04:43.55ID:nbUOPAO3
>>359
え、そうだっけ?っと思って今調べたら$内の記述が確かに違うね
2020/05/30(土) 15:20:36.38ID:JOE68Vvm
prototype.jsの$はDOM APIの単なる省略でしかないんだよ
prototype.jsのメインはプロトタイプ(つまり基底クラス)の拡張

それにたいして関数型のスタイルを取り入れたjQueryはセンスがいいよな
CSSが関数型の思想なのでウェブの標準にうまくマッチしている

対してVue、React、Angularなどのフレームワークは
単なるオブジェクト指向のアプリケーションフレームワークでしかない
jQueryの代替になんてなりようがなかったんだよ
2020/05/30(土) 17:16:32.62ID:MlE9UdsR
正直、WebサイトごときにReactとか使う気にはなれない
だがGoogleが求めているのはReactとかの方向性ではないか?と思うのだが
もちろんいずれReact連中は無くなる予定だし
2020/05/30(土) 17:40:52.11ID:F50PHIbH
recoil実戦投入はさすがにまだ早い?
2020/05/30(土) 19:45:54.00ID:YaiqOZJe
機能たくさんあるサービスでVue使ったらコンポーネント増えすぎて管理大変だったという思い出
Reactとか使うべきなかね
2020/05/30(土) 20:28:00.60ID:MlE9UdsR
そういやWebサイトはComponentに分けるとか無理だ
あの長ったらしいLPとかComponentというよりごちゃごちゃした感じで情報詰め込んで見る奴の思考を停止させるわけだから
むしろまとまりがあるComponentなんか使ったらむしろ作るほうが大変だな
2020/05/30(土) 21:49:42.17ID:JOE68Vvm
>>362
Googleが求めてるのは、利用者が欲しい情報に正しくアクセスできること
だからサイトの作り方でランクを変えるべきではないし、
新しい技術を使っているからといってランクを上げたりはしない

ランクを変えるとしたらページがどれだけ早く(快適に)表示できるかだが
単純なHTMLページの速さに勝るものはない

jQueryを使う場合はJavaScriptオフでも、HTMLの文章自体は見れるわけで
Googleの求めているものに一番理想的
むしろSPAの方が本当に検索できるか?を常に意識しないといけない。URL設計は特に大事
JavaScriptで表示するページでも検索できるようになっているとされているが保証はない
だから検索されたいページ(ブログの記事など)にJavaScriptのフレームワークを使うのは推奨しない
2020/05/30(土) 21:52:11.19ID:JOE68Vvm
>>365
そういうこと。ウェブページは全体で一つのものを構成してるのだから
小さいコンポーネントに分けるのが難しい。

ここだけでしか使わないようなものがたくさん生まれる。
どんなに事前に設計しても、あとからあいてるこの空間に入れればいいと
その時の都合で当初の設計にないものが追加される
2020/05/30(土) 21:55:32.30ID:JOE68Vvm
俺は最初から言ってるんだが、脱jQueryなんてありえなかったんだよ
脱jQueryを目的とするな。今問題が起きてないならjQueryから変えるのは新たな問題を発生させるだけ。
jQueryで困ってる場合(通常ウェブアプリ)はもともとjQueryを使うという方針が間違っていただけ。
それは"脱"jQueryという今まで使っていたjQueryはもう古いからやめましょうではなく
目的に応じた適切な技術を使いましょうという話でしかなかった
2020/05/30(土) 22:33:41.92ID:ci8WeWyx
bootstrap5楽しみだね
2020/05/30(土) 22:47:55.31ID:JOE68Vvm
>>369
せやね。bootstrap5はjQueryを使ってないけど、vueもreactもangularも使ってない
だからフレームワークのシェアが増えることはないけど
もしかしたらjQueryのシェアが減ってライブラリ使用なしが増えるかもしれないね

まあそんなことはなかった。jQuery使ってたとわかるのが楽しみだw
2020/05/30(土) 22:50:51.02ID:CCf2X36A
個人的にはjQuery、Vue.js→Webサイト向け
React、Angular→Webシステム向け

だと勝手に思ってる
2020/05/31(日) 02:36:06.59ID:e5GrMoxK
vueはリアルdomを作る前に
仮想domを作って効率よく差分するから
早いんだっけ。だからjqueryを使うとその効果が失われる。

だからvueの中に
jqueryを混ぜると仮想domの特性を
活かせないから辞めた方がいい。しかし参考書の多くは
リアルdom 構築後のソリューションが多く掲載してる。

結果、真面目に教本に
沿って学習すると多くのロスが生まれる。悪循環が
生まれて半年どころの学習時間では済まなくなる。
2020/05/31(日) 02:37:27.64ID:e5GrMoxK
>>372
文章の組み立てが下手でスマソ
2020/05/31(日) 05:04:14.93ID:JRHRMyge
>>372
> vueはリアルdomを作る前に
> 仮想domを作って効率よく差分するから
> 早いんだっけ。だからjqueryを使うとその効果が失われる。

それは論点をすり替えている。実際の所jQueryの方が速い。
なぜかと言うと仮想DOMを作って差分をだして、
結局その差分をリアルDOMに適用するわけだから、速くなるわけがない。

仮想DOMが速いというのは

1. まずページ全体のDOMを書き換えることとする。(jQueryで普通はしない)
2. ページ全体のDOMを書き方たら遅いではないか!(自分にツッコミかよ)
3. ページ全体のDOMを書き換えるけどそれは実は仮想DOMで速いんだ
4. そうやって差分で必要なとこだけDOMを書き換えるから速いんだ。

ページ全体のDOMを書き換えるなどという愚かな発想をし
その愚かな発想よりも速いと言っているだけ。つまりマッチポンプ

jQueryを使って普通に作るなら、最初から必要なところだけ
DOMを書き換えるので最初から速い。差分計算処理も不要。

このページ全体を書き換えるという発想は、もともとデスクトップアプリケーションや
ゲームの発想。デスクトップアプリケーションやゲームでも全体を書き換えると
遅くなるから必要なところだけ書き換えるというのはよく行われてきた
それをウェブに持ち込んだからこんな物ができてしまった。

もともとウェブでは必要なところしか書き換えないし、デザインはCSSで
制御するのが普通だからDOM操作も最小限になる。

それをやらずにDOM操作でデザインを実装しようとしたから
遅くなる方法を打ち消す仮想DOMなんてのが必要になった
2020/05/31(日) 05:26:17.06ID:OM55fPsS
そもそも速度のためにこれらのフレームワークができたわけじゃないし…
規模が大きくなってジェイ・クエリーとかで直接DOM操作するのが管理しきれなくなったからでしょ
2020/05/31(日) 07:42:19.68ID:TFlNfav4
未だにCOBOL最高って言ってるおっさんみたいだな
2020/05/31(日) 09:42:21.10ID:o76pWhWL
jqueryも仮想DOMも、ページ全体の構築後は一部だけ書き換え
どこから全体が出てくるんだ?
全体書き換えってことはページ遷移ってことだよな?
それならReactやvueのほうが圧倒的に速いんだけど?
2020/05/31(日) 10:10:06.97ID:FFfnQQzy
速度の為ってより構造化の為に使うもんなんやない?
2020/05/31(日) 11:40:21.71ID:PGtiFJnl
>>374
結局、vueにjQueryを混ぜると遅くなるの?
2020/05/31(日) 11:43:49.13ID:JRHRMyge
>>379
ならない

下手なコードを書けば遅くなるのは
プログラマの問題でしかない
2020/05/31(日) 11:47:50.50ID:JRHRMyge
>>375
そういうこと。なのに仮想DOMはリアルDOM "を全画面書き換える" より速いが
仮想DOMはリアルDOMより速いとかよく勘違いされてる

仮想DOMだけ書き換えても、リアルDOMには反映されない
仮想DOMからリアルDOMを書き換えるのと
jQueryでリアルDOMを書き換えるのは同じ
2020/05/31(日) 11:55:31.24ID:o76pWhWL
>>381
お前相当バカだろ
そこにSPAの概念がまったく入ってねーじゃねえか
実際の通信や運用を考えてからモノを言え
jqueryジジイは脳みそ停止してんだろ

あと同じなわけないじゃん
無知すぎる
2020/05/31(日) 11:58:01.25ID:JRHRMyge
>>377
> jqueryも仮想DOMも、ページ全体の構築後は一部だけ書き換え
> どこから全体が出てくるんだ?

ブラウザが持ってるリアルDOMとは別に
JavaScriptのメモリ内に同じ情報を仮想DOMとして持っている

そして仮想DOM伝導師いわく
「仮想DOMの情報をリアルDOMに完全に同期させるんです。
遅いと思った?思ったでしょう?でも差分をとってそこだけ反映させるから
遅くならないんです。仮想DOMの書き換えはリアルDOMより速いんです」

と言葉巧みに、仮想DOMからリアルDOMへ反映のコストを隠しつつ
仮想DOMの書き換えのみが速いと誤解させるようなことを言っている。

> 全体書き換えってことはページ遷移ってことだよな?
> それならReactやvueのほうが圧倒的に速いんだけど?

ページ遷移するな。History APIを使ってページ遷移してるように見せかけて
jQueryで一部分だけ書き換えればReactやvueよりも速い。
Railsに標準で組み込まれてるturbolinks(+jQuery)がこの仕組み
2020/05/31(日) 11:59:50.32ID:JRHRMyge
>>382
> そこにSPAの概念がまったく入ってねーじゃねえか

お前のレスを見る前に>>383を書いた。
SPAの概念はReactやvueの専売特許ではない
昔から Rails + turbolinks+ jQuery で同じことをしている
お前が無知なだけだ。過大広告に騙されやがってw
2020/05/31(日) 12:41:37.02ID:k/fS2Kff
Ruby 君かな
2020/05/31(日) 12:43:35.72ID:JRHRMyge
>>385
ちげーよ
2020/05/31(日) 12:47:08.02ID:o76pWhWL
>>384
お前相当なにもわかってないじゃん
コイツに説明するだけ無駄すぎた
jqueryクソジジイは一生jquery使ってろ
ただただ気持ちわりい
2020/05/31(日) 12:50:05.93ID:JRHRMyge
なぜかJavaScriptの話ではなく「俺」の話にすり替わってるw
2020/05/31(日) 12:50:33.12ID:pH0zoOzG
turbolinksがSPAって初めて聞いた
2020/05/31(日) 12:56:44.85ID:FFfnQQzy
>>379
大体速度を気にしなきゃいけない様なシビアな案件なんて殆どないしな

大レコード数のテーブルを生成するのだってその処理部分に関してはほぼ混ぜ様がないだろうし
2020/05/31(日) 12:59:27.17ID:FFfnQQzy
単純に言って混ぜるとソースが汚くなるのと
タイミング問題が起こった時に分け分からんくなるってくらいだろ
2020/05/31(日) 13:05:49.62ID:5WJ7AaAn
判った。jqueryは
あんま良くないけど、vue.jsと一緒に
使うと爆速になるってことね。
2020/05/31(日) 13:11:27.49ID:JRHRMyge
>>389
あれ使い方間違ってる人多いからね。
JavaScriptが発動しないといかって無効にする人

turbolinksはjQueryとの相性が良くて
最初にサイトを表示したときに全てのJavaScriptコードを読み込んで
あとはすべての要素が動的に増減する(無くなることもある)という前提で使うもの
jQueryはすべての要素を0以上の要素郡として操作するので非常に相性がいい
2020/05/31(日) 14:22:35.36ID:lymCwRQ/
あれだ、「コンパイラの最適化がどんなに賢くなってもアセンブラには敵わない」とかいうのと同じ。
2020/05/31(日) 14:31:17.31ID:JRHRMyge
>>394
それはコンピュータの最適化 vs 人間の最適化 という話なので
まったく関係ない話ですね
2020/05/31(日) 15:01:48.16ID:PGtiFJnl
無知ですまんのだが、リアルDOMでも仮想DOMでも最終的にはひとつのテキストファイル(html)になってブラウザが読み込んでレンダリングするってのは変わらないわけだよね。
リアルDOMと仮想DOMではその最終処理に向かう途中のどこに違いが生じるの?
2020/05/31(日) 15:11:00.06ID:JRHRMyge
>>396
その通り。テキストファイルになるわけじゃないけど
仮想DOMは速いとかいうビジネストークを無視すれば話は簡単

仮想DOMはJavaScriptのオブジェクトでしかないので
ブラウザを使わなくてもユニットテストがしやすいというのがメリット

リアルDOMの状態は気にせずJavaScriptオブジェクトをテストするだけ
そしてユニットテストがブラウザに依存しなくなる
(ただしJavaScriptのオブジェクトからリアルDOMへの変換は
フレームワークがしっかりとテストしているはずという前提を受け入れる必要がある)

ユニットテストの場合に限ればリアルDOMを使わない仮想DOMの方が速いが
実際の製品では仮想DOMを使うので速くはならない

速度うんぬんではなく、テストをしやすくするためにリアルDOMから仮想DOMへデータを分離している
2020/05/31(日) 15:14:27.24ID:JRHRMyge
大規模なものを作るときは、小さいパーツに分けないとテストが困難になる。
大規模なものを大規模なままテストするのは難しい

その結果フレームワークでは、小さいパーツがたくさんできる。
それは素晴らしいことだと思うかもしれないが、
どんなものでも小さいパーツを作ればいいって話ではない
小さいパーツを作れば作るほどパーツを組み合わせるための処理、
インターフェースが増えてコードが膨れ上がる

ウェブサイトのような小さいシステムでは
逆にコストが掛かることになるんだよ。
そういう見極めができない人が、脱jQueryなどと叫んで
小さいシステムなのにフレームワークを採用して逆にコストを増大させている
2020/05/31(日) 15:17:00.98ID:JRHRMyge
作るものによって使う技術を変えるべきなのに
それができないエセ技術者が多い
新しい技術を知ったら何でもそれでやろうとする。
2020/05/31(日) 15:34:07.62ID:lymCwRQ/
>>395
ああすまん、あんたにレスしたつもりはなかった。
>>394はリアルDOMの操作を直接コーディングするのと仮想DOMの差分からDOM操作を生成するのとの
速度比較の話ね。
2020/05/31(日) 15:34:50.72ID:PGtiFJnl
>>397
ありがとうございます、すごくわかりやすくて腑に落ちました。
2020/05/31(日) 16:02:47.28ID:o76pWhWL
こいつは昔からいるゴミカスjqueryジジイでどこでも仮想DOMに噛み付く気持ちわりい粘着野郎
2020/05/31(日) 16:12:18.94ID:JRHRMyge
JavaScriptの話ができないやつは「俺」の話をしてしまうw
2020/05/31(日) 16:23:27.31ID:FFfnQQzy
>>396
tar zxvfで解凍するかtar zxfで解凍するかの違いとか想像してみるのはどうだい?
2020/05/31(日) 16:26:37.16ID:FFfnQQzy
>>395
よっぽどの職人とかじゃない限り凡人がコンパイラの最適化を超えるとかいい加減無理だろ
2020/05/31(日) 16:50:56.70ID:PGtiFJnl
>>404
「v」のある無しで展開時に詳細を出力するかどうかの違いということですよね?
これをjavascriptの話とした場合、展開時の詳細にあたるものは具体的にはなんなのでしょうか?
2020/05/31(日) 17:05:12.54ID:iwS1y3tF
初心者向けにはこの記事がわかりやすいと思う

https://www.google.com/amp/s/employment.en-japan.com/engineerhub/entry/2020/02/18/103000%3famp=1

簡単に言えば
・DOMの操作はきちんとやらないとレンダリングの負荷が大きくなる
・仮想DOMはDOMの操作を上手いことやってくれるので速い
・とは言え仮想DOMを使うこと自体がオーバーヘッドなのでDOMの直接操作を無駄なく行った場合よりは遅い
2020/05/31(日) 17:51:15.80ID:x+1l8ufV
https://i.imgur.com/IFVxEh2.jpg
2020/05/31(日) 18:21:47.85ID:87/vy3Ai
コンパイルした時点で仮想DOMなんてものは無くなるので、理論的には仮想DOMを使うことによるオーバーヘッドも消せるということか。
そして>>408を見る限りはコンパイラが優秀なので実際にオーバーヘッドを消せているということかな。
まあこの実験のデータセットがリアクトコンパイラにとって有利なものだったという可能性もあるのでもう少しデータの詳細が知りたいが。
2020/05/31(日) 19:07:31.06ID:5WJ7AaAn
Domが読み込まれる前の
createdの段階で実行するから
早くなるんだろう。この段階はelもrefも

起きてないフェーズなんだから
jquery なんて使ったらモトメこうもない

台無しだろう。
2020/05/31(日) 19:12:25.04ID:5WJ7AaAn
>>410
モトメじゃなくて元もwww
2020/05/31(日) 22:15:08.01ID:JRHRMyge
>>407
> ・DOMの操作はきちんとやらないとレンダリングの負荷が大きくなる

そのとおりだが「きちんとやってないコード」っていうのがどういうものかって話なんだよな

ぶっちゃけ、どんなバカならそんなコードを書くんだよ?って
いいたくなるような話なんだよねこれ

現実にやりそうな「きちんとやってないコード」の例を
出せる人がいるなら見てみたい
そしたら(jQueryは)普通どうやるのかを俺は言えると思うね
2020/05/31(日) 22:15:41.30ID:JRHRMyge
>>409
> コンパイルした時点で仮想DOMなんてものは無くなるので、
誰がそんな話してるんだ?
無くなるわけないぞ
2020/05/31(日) 22:20:45.56ID:JRHRMyge
>>410
> Domが読み込まれる前の
> createdの段階で実行するから

もうJavaScriptの常識を忘れたのか?
DOMが読み込まれる前にJavaScriptを実行すると遅くなるだろ

jQueryの特徴の一つはDOMContentLoadedで処理をするというところ
レンダリングをブロックせずにDOMが読み込まれた直後に実行されるから速い

さらに最適化をするならば、</body>の直前でJavaScriptを読み込む
JavaScriptの実行はなるべく後で行うことで
すばやくレンダリングさせることができる。

というのは常識的な知識だったはずなんだがなぁ
2020/05/31(日) 22:22:33.40ID:JRHRMyge
結局仮想DOMのアイデアっていうのは

1. すげー遅くなるアイデアを最初に言って
2. それを改善するアイデアで相殺することで
3. 遅くならないということを、(遅いアイデアより)速くなる

と言ってるだけ
2020/05/31(日) 22:26:16.77ID:DRV8bcqm
>>415
お前が作ったわけでもねーしお前がweb準拠を策定しているわけでもねえのに何偉そうに吠えてんだよゴミカス
2020/05/31(日) 22:35:34.04ID:JRHRMyge
>>416
お前が世界を作った訳でもねーのに何偉そうに吠えてんだよゴミカス
2020/05/31(日) 22:37:06.99ID:lLPzLHf4
常識かもしれんが
バッドノウハウの類いに聞こえるな
2020/05/31(日) 23:01:44.07ID:DRV8bcqm
ゴミカスはDOM構築後にjqueryを読み込むから速いとかゴミ説明して勝ち誇ってるが
それは読み込んだだけでjqueryを何も実行しない(=jqueryを使っていない)だけだろ
これで速いとかアホかこいつ
2020/05/31(日) 23:14:07.26ID:lymCwRQ/
>>415
これは、DOMの直接操作なら常に最適な操作ができるという前提の発想だな。
最適操作が自明な範囲しか念頭に無いんだろうな。
2020/05/31(日) 23:16:48.38ID:JRHRMyge
>>418
うん。だから俺は<head>で読み込むようにしてるよ
ファイルサイズは80KB、gzip圧縮時でわずか30KBしかない

>>419
イミフw
HTMLはそのまま表示するのが一番早い。デザインはもちろんCSS。
ページの初回表示時はJavaScriptを使わず単にページを表示するだだけ
静的なHTML+CSSが早いのは誰にも否定できない

そしてjQueryはそこにユーザーのアクションに対して動きをつける。
つまりユーザーが操作するまではjQueryは何もしない。だから軽い。
JavaScriptを実行しなければページが表示されないフレームワークでは太刀打ちできない
2020/05/31(日) 23:21:06.36ID:JRHRMyge
>>420
> これは、DOMの直接操作なら常に最適な操作ができるという前提の発想だな。

重要なのはそこ。最初から最適な操作ができるという前提の話をしている。

最適な操作でなければ遅くなる。理屈上はそのとおり。
では「最適な操作ができていない」というのはどういうときか?

そんなコードを書くやつがいるのか?という話をしている


仮想DOMというのは
1. 最適な操作にならない、奇抜なアイデアを持ち出す
2. 奇抜なアイデアを改善するアイデアを出す
3. (最適じゃない奇抜なアイデアを)改善したと言っている
2020/05/31(日) 23:35:08.81ID:pA4LVr9r
>>421
イミフじゃねえよ
jqueryが何もしないなら何もしねえだろが
それなら読み込みすらするなアホが
バカかコイツ
2020/05/31(日) 23:59:38.84ID:JRHRMyge
ああ、DOM構築後に何もせず、ユーザーが操作して初めて
JavaScriptの処理が走るって意味がわからんのかw
2020/06/01(月) 00:08:08.77ID:0Y4JhCWi
てめえが散々書いてることを自分でわかってねえだろがゴミ
jquery実行した途端におっせーじゃん
2020/06/01(月) 00:08:56.41ID:ZvU3LrYi
>>424
ユーザーが操作する前にハンドラーをアタッチするよね
現時点で存在しない動的エレメントの場合は監視もするね

まあそんなの揚げ足取りかな
2020/06/01(月) 00:18:03.32ID:Y6C/Hhni
>>425
じゃあJavaScriptオフにすれば?
なんでjQuery実行した遅くなるんだかw

> ユーザーが操作する前にハンドラーをアタッチするよね
> 現時点で存在しない動的エレメントの場合は監視もするね

存在しない動的エレメント(例 A要素)の監視をするならこれだけ
$(document).on('click', 'a', function() { .. })

内部的にはdocument要素に一つイベントハンドラをアタッチするだけ
さらに直接document要素にアタッチしているのではなくjQuery内部で
複数のイベントハンドラをまとめてるので、複数実行しても
DOM要素への操作は一回しか行われない。
2020/06/01(月) 01:04:02.53ID:ZvU3LrYi
jQueryは基本CSSセレクタで指定した要素に対して処理を指示するものだから、コードの簡潔化を図ろうとして極めて行くとCSSに詳しくなる
CSSのセレクタはhtmlの構造で決まるものだから、きれいなhtmlを意識する様になる
結果的にhtml、CSS、JavaScriptの3つの基本に詳しくなる

WebAssemblyは別にしてReactとかのWebフレームワークも最終的にはその3つが生成されるんだけど、見えづらいせいか少し基本を軽んじるきらいはあるんじゃないかな

ただ自分はVue使いなんだけど当然ながら素晴らしい
特にVueテンプレートファイルのhtml、CSS、JavaScriptを1つのファイルにまとめられるのは素敵
特にCSSのスコープ定義で局所化したりできるのは痺れる
WebPackの功績が大きいのかも知れないけど
Wpfのデータバインドを意識したモデル、ビュー構造も最高に好き
2020/06/01(月) 01:13:40.91ID:RpkIRyj6
WPFだと…?
2020/06/01(月) 01:21:29.25ID:Y6C/Hhni
まああれだ。雑誌編集者に対して
ボタンやらInputBoxやらアプリのUIについて
語っても殆ど意味がないのと一緒

ウェブの多くはウェブサイトで雑誌編集者が担当するような仕事
jQueryはそこに足りない動きや機能をちょっと追加するだけ
ReactやVueはアプリUIを作るためのもの
目的が全然違っている
2020/06/01(月) 02:00:33.56ID:8MAPJOWk
とりあえずこのスレ民のレベルはわかった
2020/06/01(月) 02:02:35.23ID:0Y4JhCWi
そもそもこのスレに来てわざわざjqueryスゲーを長文で連投しやがるガイジは今すぐ消えろ
構ってほしいんだろうがきしょいわ
テメーの好きな巣で一生吠えてろ
2020/06/01(月) 02:08:26.36ID:Y6C/Hhni
嫌なら見るな
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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