質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

解決済

2回答

1408閲覧

JavaScriptでのJQueryの取扱について

退会済みユーザー

退会済みユーザー

総合スコア0

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

1グッド

0クリップ

投稿2019/01/28 08:14

JavaScriptの勉強をしているのですが、JavaScriptがWEB業界でどのように扱われているのかわからないので質問を書きました。
またJQueryの必要性についての質問は正誤ではなく意見を聞きたいので意見を教えていただければ幸いです。

質問 1

JavaScriptのライブラリであるJQueryが現在のWEB業界(可動しているシステムなど)でどのような立ち位置にあるのかしりたいです。
例えば、「アニメーション全般に利用されている」や「DOM操作に利用されている」などです。

質問 2

ブラウザ間も差がなくなりつつありJQueryでなくnativeコードで実装することも容易になってきているようですが、それでも使う理由は何でしょうか?

フロントエンドの開発環境はめまぐるしく進化していて、最近のブラウザでは十分な質、量のDOM/BOM APIが実装されています。もうDOM操作やイベント処理のためにjQueryを覚える必要はありません。また、ReactやAngularそしてVueなどのフロントエンドライブラリの流行により、DOMを直接操作することはアンチパターンとなりました。jQueryはそれほど重要ではなくなったのです。このプロジェクトは、jQueryでの書き方の代わりとなるネイティブでの書き方(IE10以上)をまとめます。

引用元 You Don't Need jQuery

質問 3

JQueryは遅いと聞きますが、nativeで実装できることならnativeで実装するべきでしょうか?
基本的なことであればnativeコードでも十分かけるように思えます
書き方比較

s8_chu👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

JavaScriptのライブラリであるJQueryが現在のWEB業界(可動しているシステムなど)でどのような立ち位置にあるのかしりたいです。

「ちょっとしたことをやるのには便利なライブラリ」程度の位置づけです。

ブラウザ間も差がなくなりつつありJQueryでなくnativeコードで実装することも容易になってきているようですが、それでも使う理由は何でしょうか?

たとえばWordPressのような、「基本骨格がJavaScript外で出来上がっている仕組み」にちょっとしたアコーディオンとかウィジェットを足すような場合、jQueryでやるのが適任、ということもあります。また、jQueryには多様なプラグインがありますので、「それらを使いたい」となればjQueryが必要となります。

JQueryは遅いと聞きますが、nativeで実装できることならnativeで実装するべきでしょうか?

個人的には、「もともとjQueryが入っていて、それを消すことも考えられない環境」あるいは「特定のjQueryプラグインを使いたい」というような場面であればjQueryを使って問題ないかな、という感覚です。

アニメーションなどは1フレームの描画に間に合えば全く問題ないし、クリックイベントも数十ミリ秒遅れたところで人間が知覚できるものではないので、もはやjQueryで組むのは煩雑すぎる巨大なシステムを組み立てる場合でもなければ、「jQueryの遅さ」が問題になる例は限られると思います。

投稿2019/01/28 08:29

maisumakun

総合スコア145121

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

これはWebページがどのようなものであるかの歴史的背景的なものもセットで覚えた方が良いでしょう。

JavaScriptがWEB業界でどのように扱われているのかわからない

WebページはHTMLとCSSによって構成されています。
HTML自体は文書構造を示し、表現出来る内容は大体WordやPDFと同レベルです。
凝ったデザインはCSSを使ってHTMLを修飾して実現しましょうという思想になっています。

リンクとフォームによるGET/POSTリクエストさえあれば、
世のほとんどのWebアプリを実現することが可能です。

アクセスした人を判断し、xxさんいらっしゃい等のデータを出し分けるために、
アクセス者にふさわしい動的に変化するHTMLを返すサーバを構築して実現します。


JavaScriptはページの再読込を挟まずに、HTMLを後から書き換えるために作られ、採用された言語です。
マイクロソフト社はJavaScriptでHTMLを書き換える一連の流れを指して、
動的にHTMLが変化するDHTMLと名付けていた頃もありました。

2003年にGoogleがGoogla Mapを発表してから、爆発的にJavaScriptブームが訪れ、
後付でWebサーバからデータを受け取りページの再読込を省略して画面を書き換える主砲が流行りました。

しかし、JavaScriptがデフォルトで用意しているXMLHttpRequestはめちゃくちゃ書きづらく、数多くのエンジニアを恐怖のどん底に叩き落としてきました。
また、動的なHTMLの書き換えに関してもブラウザ毎にサポートしている機能がまちまちで、
JavaScriptエンジニアはいたるところでAのブラウザとBのブラウザで動作を変えるif文をあちこちに挟む事になり、
何がしたいのかよく分からずバグだらけのWebサイトになってしまいました。

この現場に応える形で2006年に登場したのがjQueryです。

  • Ajaxを簡単に発行出来る
  • 簡単な命令文でDOMを操作出来る
  • 豊富なクロスブラウザ対応、流行ってる全てのブラウザでも動作する

今2019年現在、IE11を含め多くのブラウザの足並みが整いましたので、
クロスブラウザで必須だったjQueryはその役目を終えようとしています。
まぁ、簡単に書けるという部分でjQueryはまだまだ人気ライブラリですけどね。


JavaScriptのライブラリであるJQueryが現在のWEB業界でどのような立ち位置にあるのかしりたいです。

DOM操作に関しては既にjQueryは不要になりつつあります。
移行先として用意されているJSフレームワーク(React, Vue.js, Angularなど)はどれもNode.jsの学習が半必須という事もあり、また過渡期特有のライブラリ戦争みたいになっていてまだ普及しているとは言い難いのが現状です。

しかし、アニメーションに関してはJSフレームワークでの実現が難しいという点から、
CSSアニメーションで実現できないフレームや時間単位で制御したいものはまだまだjQueryのお世話になる可能性はあります。

ブラウザ間も差がなくなりつつありJQueryでなくnativeコードで実装することも容易になってきているようですが、それでも使う理由は何でしょうか?

jQueryのメソッドチェーンはシンプルに記述できます。
また、エラーを出さずに緩やかに着地する挙動が好まれるシーンもあります。
(逆にエラーにならず、原因が分からずにハマる事も多々ありますが……)

jQueryは遅いと聞きますが、nativeで実装できることならnativeで実装するべきでしょうか?

実装する「べき」とまでは思いません。
手続き的にDOMを操作するならjQueryのメソッドチェーンはとても簡潔で読みやすいですね。
速度面も、結局DOMを触る箇所がクソ重く、ネイティブで書いたからといっても回避出来るわけではありません。

jQueryを既にそれなりに触れるなら、DOM操作を覚えるためにNativeの書き方を必死に覚えるより、
JSフレームワークの勉強に費やした方が得でしょう。
jQueryやネイティブのDOM操作が手続き型的なら、JSフレームワークのDOM操作は宣言的でバグが圧倒的に減ります。

まぁ、JavaScriptやNode.jsの知識がそれなりについてきて、
MDNのサイトをすんなり読めるようになってくれば、NativeでのDOM操作もすぐ分かるようになります。

投稿2019/01/28 09:29

miyabi-sun

総合スコア21158

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問