jQueryを使用しない経験的な技術的理由は何ですか?[クローズド]。
質問
コンテキストです。 私は、一日中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や他のいくつかの使用に対して聞いたことがある同じ議論です。私が聞いた主な議論。
-
ファイルサイズ の場合、実際には84.6KBです。 jQuery 3.2.1 - の場合、平均的なウェブサイトのロゴよりも小さく、GoogleのCDNから提供することができ、ほとんどの訪問者のキャッシュにすでにある可能性が高いです。jQuery を使用すると、常に自分の JavaScript ファイルのサイズが小さくなるため、実際には より小さい ダウンロードが小さくなることを意味します。
-
速度 - 純粋なJavaScriptを書くのは速いかもしれませんが ポータブル を書くことは、ほとんどの人にとって不可能なことのように思われます。より速くても、すべての一般的なブラウザで動作しないウェブサイトは、現実の世界では役に立ちません。さらに、jQuery はかなり重い最適化を使って実際にかなり速く、リリースごとにさらに速くなり続けているので、つまらない例以外では、手で速いコードを書くのは実際にはそれほど簡単ではありません(*)。
-
"知的財産権" - jQueryはオープンソースのフリーソフトウェアで、おばあちゃんのブログからAmazonまで、TwitterからBank of Americaまで、GoogleからMicrosoftまで、あらゆるところで利用されています。
-
他の論法がまともに使われているのを聞いた覚えがない。
(*) これは些細な例です: 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 進数 .
関連
-
[解決済み] jQuery の jquery-1.10.2.min.map が 404 (Not Found) を誘発する。
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] とは何ですか! (not not)演算子とは何ですか?
-
[解決済み] varキーワードの目的と、どのような場合に使用する(または省略する)べきですか?
-
[解決済み] Node.jsのmodule.exportsの目的と使い方を教えてください。
-
[解決済み] encodeURI / encodeURIComponentの代わりにescapeを使用するのはどのような場合ですか?
-
[解決済み] jQueryでJavaScriptオブジェクトから選択する際に、オプションを追加する最も良い方法は何ですか?
-
[解決済み] jQuery の Ajax リクエストがすべて終了するまで待ちますか?
-
[解決済み】AngularJSのスコーププロトタイピング/プロトタイピング継承のニュアンスとは?
-
[解決済み] 配列からオブジェクトを生成する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】HTMLのテキスト入力で数値入力しかできない。
-
[解決済み] Angularjs - 現在の日付を表示する
-
[解決済み] モバイルWeb HTML5フレームワークの選び方【終了しました
-
[解決済み] Chart.jsを使ってドーナツチャートの中にテキストを追加するには?
-
[解決済み] jQueryの$という記号の意味は何ですか?
-
[解決済み] javascript includes() 大文字小文字を区別しない
-
[解決済み] Javascriptで動的に命名されたメソッドを呼び出すにはどうすればよいですか?
-
[解決済み] jqueryはjavascriptのライブラリなのかフレームワークなのか?[クローズド]
-
[解決済み] Promise : then vs then + catch [重複].
-
[解決済み] querySelectorAllがない場合、ライブラリを使用せずに属性で要素を取得する?