jQueryはJavaScriptの議論を殺しましたか?[閉まっている]


7

Stack Overflowには、JQueryのトラブルシューティング/使用法に関する質問としてタグ付けされた100,000を超える質問があります。これを、JavaScriptの問題のタグが付けられたスタックオーバーフローに関する124,000の質問と比較してください。私たちは、JQueryに起因する、Stack OverflowでのJavaScript関連の質問のほぼ半分に非常に近いです(SOで質問を受ける他のいくつかのJSフレームワークのマージンはプラスまたはマイナス)。

私が得ていることは、jQueryは言語ではなく、JavaScriptが存在するすべてのシナリオに適用する必要があるすべてのフレームワークではなく、すぐにキャッチされます(そしてすぐに食)Stack Overflowなどのサイトでのディスカッション/問い合わせのソースとしてのJavaScript。

jQueryはJavaScriptスターを殺していますか?次世代のWeb開発者は、DOM操作の手段としてのJavaScriptのパワー、シンプルさ、および使用について、しっかりと把握していませんか?これは、物事の自然な進化と、コーダーのエゴに典型的な私が提示している視点(つまり、これはアセンブリプログラマーが.NET / Java / Web群衆をどのように見るか)ですか、それとも本当にこれが終わりの始まりですか?真のJavaScript開発者ですか?


6
こんにちはブライアン。この質問はかなり議論のように聞こえ、議論を誘います。これらの種類の質問はStack Exchangeでは推奨さません。ディスカッション志向を少なくするために編集できることはありますか?ありがとう。
アダムリア

2
@Anna Lear-私の謝罪-StackOverflowのFAQを、ここに質問を投稿する方向性として解釈しました。•ソフトウェア開発に関する専門的な議論に興味がある専門家のプログラマーは、プログラマーに質問してください。-私は確かに役に立たないおしゃべりに貢献したくありません。質問が削除されれば理解します。これはもっと理論的な議論の場だと思いました。
ブライアン

3
私の質問がなぜ議論の余地があるのか​​知りたいのですが、それでも議論を誘います(したがって、不適切です)が、「cinとcoutの矢印が間違っていると思いますか?」大丈夫?programmers.stackexchange.com/questions/101234/…。これは確かに、有限なQ&Aだけでなく、ソフトウェア開発に関する知的討論の場になると思われます。-ただ言って...
ブライアン

2
私たちのFAQは精神をかなりよく捉えている/伝えていると思います
アダムリア

3
質問で非常に強く暗示されているように、現在の世代は以前のものほどJavaScriptが得意ではないためJQueryを使用するという提案は、なぜこれが議論の余地があるのか​​についての質問に答える際に指摘すべき明らかなことです。(FWIW私はJQuery以前の時代を思い出しており、クロスブラウザーで機能させたい場合、DOM操作は単純ではありませんでした)。
Peter Taylor

回答:


1

jQueryがJavaScriptのディスカッションを殺したという議論を確かに行うことができ、この傾向グラフはそれをサポートします:http : //www.google.com/trends? q=jquery%2C+javascript

これは、選択したメッセージボードでも簡単に確認できます。いつでも「JavaScriptでxxxをどのように行うのですか?」質問が出てきたら、答えが「jQueryを使用して、yyyを実行する」の形式になることはほぼ間違いありません。

私は、より高いレベルのフレームワークの観点からJavaScriptを議論することがより一般的になっていると言う方がより正確だと思います(これがjQuery /プロトタイプまたはノックアウト/バックボーンまたはnode.jsのようなものかどうか...)


3
ただ、使用jQueryとYYY行う非jQueryの私からの自動downvote被る答えはSOの質問をタグ付け。
マイケル

@kekekela-おそらく議論のどちらかの側に裏付けされた最も独創的なもの。トレンドラインが反転した場合は、すぐにカウンターポイントを辞任しました。少なくとも私は返信から、オンラインをすべて利用するのではなく、jQueryでコードを補完する才能のあるインテリジェントな人々がた​​くさんいることを知っています。
ブライアン

3
@StuperUser保存された数行のコードは開発者にとって便利なものですが、90kbはエンドユーザーにとってペナルティです。もちろん、jQueryの場所は、 あなたが言うように多くのDOM操作またはイベント$(foo)がありますが、ページにすべてを取得する方法<img>などの単純なタスクに対するデフォルトのSO回答になります。エンドユーザーへのペナルティは不当です。
マイケル

1
@マイケル、同意する。アプリケーション全体で数行のコードが保存されるたびに、それらを保守する必要があります。JSを適切に使用するのに十分なスキルを持つ開発者を採用/トレーニングする必要があり、ライフサイクル全体で多くの時間/お金がかかる可能性があります。高速なダウンロード速度とブラウザキャッシュにより、90kb以上を節約できます。それをいつ使用し、いつ使用しないかを知っているとのことですが、デフォルトに$('selector')して賛成投票を期待するのではなく、より多くのユーザーが回答を修飾することを期待しましょう。
StuperUser 2011

1
@StuperUser +1インターネットの不一致が説明されたときに、議論ではなく同意に変わったときに喜んでいます。
マイケル

12
  1. いいえ、jQueryはJavaScriptを殺すのではなく、言語を展開します。
  2. CLIとして、またはサーバー側スクリプト用にJavascriptを使用するNodejsがあります。

jQueryの概要。私は2001年からDOM APIを使用してプログラミングしており、jQueryのようなシンプルで十分にテストされたDOM APIを使用すると、APIではなく実際の問題にさらに取り組むことができます。

また、2005年には未加工のJavascriptでDOMを操作しましたが、ほとんどの場合、クロスブラウザーでDOMを機能させるために費やしました。

jQueryが登場する以前は、多くの人がブラウザの違いやバグの修正に時間を費やしており、独立してほとんどコードを共有していませんでした。私たちは同じ仕事と同じ間違いを何度も繰り返しました。jQueryはこの義務から解放されました。現在、多くのjQueryプラグインを使用して、主に問題のフィールドに取り組んでいますが、ドキュメントのはるかに複雑な操作も実行できます。DOMの頭痛から解放されただけで、クロージャーとJSイベントループの本当の力を知ることができました(すべてのjsプログラマーは必見です!)

ほとんどのJavaScriptプログラマーはjQueryを使用してDOMを操作するため、ほとんどの質問はこの領域とjQueryに関するものです。

jQueryに代わるものがあります。

  • プロトタイプには多くのエントリポイントがあり(混乱を招きます)、時限爆弾が含まれてます(組み込みオブジェクトにいくつかのメソッドが追加されていますが、まだオブジェクトに含まれていないメソッドのみが追加されています。ブラウザ開発者が近い将来にそれらを実装するとき、オブジェクトが動作を変更し、多くのサイトが機能しなくなります。開発者は、Webサイトを早急に修正する必要があります。)
  • RightJS(何も言えないが、素晴らしいAPIを持っているようだ)

Node.jsは急速に開発されている環境であり、数年後には主流のサーバー言語になる可能性があります。それについての私の印象は、言語をよりエレガントに見せることができる多くの機能がまだ不足しているということです。現在、コードを整理するには多くの労力が必要です。jQueryのようなフレームワークで修正できるのか、新しい言語バージョンでのみ修正できるのかはわかりませんが、誰かが対処できることを確認してください。Node.jsとJS全般には十分な勢いがあります。


ご回答有難うございます。私は、JQueryの多くの神話の1つとして私が見ているものの一部に触れたことを提出しなければなりません。StackOverflowには、「JQuery firefox」については5000を超える質問があり、「JQuery chrome」については5000以上の質問があります。「JQuery IE」では3k以上。ここでの全体的な見方には同意しますが、JQueryがタレントプールを破壊するのではないかと思う理由の1つは、あるブラウザーで別のブラウザーで何かが機能しないことを知って驚いた大量の人々であり、彼らには何の考えもないのです。トラブルシューティングを開始する方法。あなたの答えのために+1。
ブライアン

一部のプラグインが一部のブラウザーで動作しない、または期待どおりに動作しないという問題がありました(フィルターのチェーンを理解しないlivequeryなど)。フルバージョンのjQueryをロードしてデバッグしました。

@ブライアン-それは、これらの質問をする多くの人々が、クロスブラウザを動作させるために実際にが必要かを理解していないという事実と関係があると私は主張します。また、クロスブラウザで機能しない一部のHTMLまたはCSSも多数見つかります。それらの質問者の多くは、ブラウザに、特定のブラウザベースの問題をトラブルシューティングするための開発者用ツールがあることさえ知りませんでした。
Shauna、2011

8

.Net / AssemblyのアナロジーよりもC ++の標準ライブラリに近いと思います。またはさらに良いことに、.NetとC#。C#仕様には、.Netを使用する必要があると記載されていませんが、密接に結びついています。しかしとにかく、あなたの質問に関しては、ほとんどのWeb開発者はJavaScriptを気にしません。

実際、JavaScriptのDOM操作部分はかなりひどいものだと私は主張します(特に、さまざまなブラウザーを考慮すると、あらゆる場所で機能するものを取得するのが面倒です)。私はあなたがそこに何か他のものを入れて、より良い結果を受け取ったとは思いませんが、何年もの間それはフラストレーションのポイントでした(これもまた、通常はブラウザメーカーが原因です)。ほとんどの人はjQueryの前に何かを一緒にハックしてそれを1日と呼びます(そして、ほとんどの場合、「専門家」と宣言します)。jQueryは、誰も気に入らなかった部分を取り、より良い顔をします。それが今のところJSの主な用途(DOM操作)であるため、ますますjQuery(またはPrototypeなどの他のフレームワーク)がポップアップ表示されます。ご存じのとおり、私は平均的なWeb開発者がjQuery以前の優れたJS開発者であったとは思いません。

そうは言っても、JavaScriptは言語としてうまく機能しています。Node.jsは、実際の言語としての使用を取り上げた良い例です。一部のアプリで埋め込みスクリプト言語として使用することも検討しました(LUAに負けましたが、LUAのセットアップに時間がかからなかったためです)。


3

jqueryは、WebサイトのJavaScriptを開発する際の最も煩わしく退屈なタスクを抽象化します。DOMのトラバースは反復可能なタスクであり、困難な方法で行うことによるメリットはほとんどなく、多くの手作業が必要です。私が最近jQueryを使用しない唯一のケースは、サイトのモバイルバージョンです-リクエストを1つ追加しても100kの余裕はありません。同じことはajaxのロードでも同じです。

また、jQueryは、準関数型プログラミングを面白く見せます。これは、機能の概念をファーストクラスのオブジェクトとして開発者に非常に直感的に紹介します。いくつかの目の保養効果といくつかの非常に良いプラグインを投げます-タスクに完全に適した非常に印象的な小さなツールです。

標準のJavaScript-> JQueryは、C ++とmfcからwinformsとC#に移行するような感じがしました。


記録のために、私はこの答えが一番好きです。それは正直であり、jQueryが世界中の一部の人々によって適切に使用されていることを願っています-無料ではありません(モバイルでのjsダウンロードを考慮して+1)。引用統計に基づいていますが、ケケケラは正しいとマークしています-とにかく、すべての統計の3%が占めています。
ブライアン、
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.