1. ホーム
  2. javascript

jQueryを使用しない経験的な技術的理由は何ですか?[クローズド]。

2023-09-25 15:41:05

質問

コンテキストです。 私は、一日中HTML、Javascript、CSSをハックしているフロントエンドの開発者の数に驚かされます。

を無視します。 jQuery ( または同等のヘルパーフレームワーク ) と を拒否する を使用することを拒否しています。私は JavaScript の達人について話しているのではありません、現場の毎日を生きる開発者について話しているのです。私は、技術的なメリットがあるとは思えない、言い訳や個人的な意見のような議論をたくさん受けますが、私が何かを見逃していないことを確認したいのです。

質問です。 jQueryを使用してはいけない経験的な技術的理由は何ですか?

私は宗教的または独断的な議論や主観的な意見"いくつかの他のフレームワークが優れているように"を探していない、jQueryは質問で比較可能なすべてのフレームワークのためのストローマンであると考えています。

どのように解決するのですか?

2015年にアップデートしました。

<ブロッククオート

2011年のこの回答では、jQuery、YUI、Prototypeなどのライブラリについて話しています。 や Prototype のようなライブラリについて述べています。2015年の今日、その理由はまだ適用可能です。 Angular、React、Emberのようなフレームワークにも当てはまります。この4年間で この4年間で技術は飛躍的に進歩し、ReactやEmberに対する偏見はかなり減りましたが ReactやAngularに対する偏見は、jQueryやYUIに対する偏見に比べればかなり少ないですが、同じような考え方はあります。 YUIに比べれば、ReactやAngularに対する偏見はかなり減りましたが、同じような考え方が、より少ない範囲ではありますが、今もまだ存在しています。 今日も存在しています。

2016年の更新情報です。

<ブロッククオート

数日前に公開された記事がとてもおすすめです。

  • なぜjQueryなのか? の著者であるMichael S. Mikowskiによるものです。 シングル ページ ウェブ アプリケーション の著者である Michael S. Mikowski 氏の著作です。

その記事は、基本的に、まさにこの質問に対する非常に詳細な回答です。 の質問に対する非常に詳細な回答です。私が以下の回答を書いているときに利用可能であったなら、間違いなくそれを引用していたでしょう。

オリジナルの回答です。

私はjQueryについて答えるが、それらは私がYUI、Prototype、Dojo、Extや他のいくつかの使用に対して聞いたことがある同じ議論です。私が聞いた主な議論。

  1. ファイルサイズ の場合、実際には84.6KBです。 jQuery 3.2.1 - の場合、平均的なウェブサイトのロゴよりも小さく、GoogleのCDNから提供することができ、ほとんどの訪問者のキャッシュにすでにある可能性が高いです。jQuery を使用すると、常に自分の JavaScript ファイルのサイズが小さくなるため、実際には より小さい ダウンロードが小さくなることを意味します。

  2. 速度 - 純粋なJavaScriptを書くのは速いかもしれませんが ポータブル を書くことは、ほとんどの人にとって不可能なことのように思われます。より速くても、すべての一般的なブラウザで動作しないウェブサイトは、現実の世界では役に立ちません。さらに、jQuery はかなり重い最適化を使って実際にかなり速く、リリースごとにさらに速くなり続けているので、つまらない例以外では、手で速いコードを書くのは実際にはそれほど簡単ではありません(*)。

  3. "知的財産権" - jQueryはオープンソースのフリーソフトウェアで、おばあちゃんのブログからAmazonまで、TwitterからBank of Americaまで、GoogleからMicrosoftまで、あらゆるところで利用されています。

  4. 他の論法がまともに使われているのを聞いた覚えがない。

(*) これは些細な例です: getElementById('someid') vs. jQuery('#someid')

getElementByIdを使った方が速いですか?はい、そうです。そしてもちろん、Blackberry 4.6がもはやドキュメントにないノードを返したときにキャッチするために、誰もが常にparentNodeをチェックしますよね? jQueryはそうしています。IEやOperaがIDではなく名前でアイテムを返す場合にも、jQueryは対応していますね。もしそうしなければ、あなたのコードはポータブルではなく、見つけるのが非常に難しい微妙なバグが発生することになります。そして getElementById は、人が見つけることができる最も些細な例です - イベント、AJAX、DOM の話はもう始めないでください...

更新しました。

実は、誰かがjQueryを使いたがらない理由を尋ねた結果、4つ目があります。このリストに載せるのを忘れてしまったのは、それが本当の答えではなく の欠如です。 ということです。その コメント 昨日いただいたコメントで思い出しました。これはリストに追加されるような "technical reason" とは言い難いのですが、それでも面白いかもしれませんし、実際に が最も一般的な反応かもしれません。

私が個人的に疑っているのは 主な根本的な理由 なぜなら、私は一度も使ったことがないのだから、それほど重要ではないに違いない。

それはかつて、最適化アセンブラ、コンパイラ、構造化プログラミング、高レベル言語、ガーベッジコレクション、オブジェクト指向プログラミング、クロージャ、または現在私たちが当然と考えるほとんどすべてのものに対する反応でした。かつて私たちがアプリケーションレベルで生の DOM API を手動で操作していたことを誰も覚えていないように、いつの日か、かつて私たちが 生の、飾り気のない、理解しがたい 16 進数 .