Work guide
ここ数年、「jQueryは終わった技術」「いや、まだjQueryで十分」などといった意見を耳にする機会が増えています。実際にjQueryは、フロントエンド開発の現場でどのように位置づけられているのでしょうか。
ここでは、なぜ「jQueryが終わった技術」と言われているのか説明します。また、今後フロントエンドエンジニアに求められるフレームワークについて、jQueryと比較しながらメリット、デメリットを交えて解説していきます。
目次
jQueryは、JavaScriptで書いていた内容を、短いコードで簡単にわかりやすく記述できるJavaScriptのライブラリです。2006年にリリースされて以来、多くのWebサイト制作に採用され、Web業界の発展に最も大きく貢献したライブラリと言われています。
jQueryの使い方には、jQuery自体をダウンロードする方法と、jQueryのCDN(Content Delivery Network)を読み込む方法があります。
CDNを利用すれば、インターネット経由でソースファイルのダウンロードが可能になるため、サーバーにjQueryのファイルをアップロードする必要がなくなります。サーバーの負荷の軽減や、Webサイト表示の高速化につながるので、今はCDNを使って読み込む方法が主流です。
実際にjQueryはどんなことができるのでしょうか。具体例を3つご紹介します。
jQueryを導入することで、非同期にデータをやり取りする技術であるAjax(Asynchronous JavaScript XML)を手軽に使えます。
Ajaxは、JavaScriptだけでも実装可能ですが、Internet Explorerのみ別途対応が必要であったり、コード自体が煩雑であったりするなど、面倒な作業がたくさん出てきます。しかし、jQureyを使用すれば、こうした悩みを一気に解消でき、わずか数行で実装できるのです。
jQueryは、セレクターでHTML要素を特定するので、CSSの知識があれば、動的な表現を短いコードで簡単に変更することができます。
jQueryを使用すれば、スクロールに合わせて表示されるフェードイン、フェードアウトのアニメ―ションや、画像をスライドショー形式で見せるスライダー機能などを容易に実装できます。
jQueryには、もともとデフォルトでanimeteというメソッドが用意されています。これは、任意のアニメーション効果を作成するためのメソッドで、大きさ、幅、位置などの変化をつけられるものです。また、メソッドチェーンを使って複数のアニメーションをつなげることもできます。こうした豊富なアニメーションを簡単に表現できるのもjQueryの特徴です。
jQueryには便利な多くの便利な機能がある一方で、デメリットも多く、最近では別のフレームワークやライブラリを使ったフロントエンド開発が主流となってきています。具体的にどのようなデメリットがあるのか、以下に解説します。
jQueryの読み込みをする際、deferやasyncの非同期読み込みを行っていない場合は注意が必要です。jQueryを読み込むまでの間は、html情報のパース(html構造の解析)が行われません。そのため、jQueryを使用していない場合に比べて、読み込みに遅延が発生します。生のJavaScriptでの実装に時間がかからないのであれば、jQueryを使わない方が、ユーザーフレンドリーといえるでしょう。
また、実装内容が複雑になってくると、処理をするたびにjQueryのライブラリ内での処理が発生するため、生のJavaScriptに比べると速度が落ちます。
jQueryは、「$」を使用して記述します。これは、古くからあるprototype.jsというJSフレームワークにも使用されているため、エラーのもとになることがあります。エラーを回避するには、「jQuery.noConflict()を使用する」、「jQueryでは$を使用しない」などの対応が求められ、コードメンテナンスの時間が取られてしまいます。
また、最近はReact・Vue.jsなどのモダンフレームワークを導入するケースが多くなっています。その場合、使用するコードによっては、コードの競合が起こり、トラブルの原因になることも。モダンフレームワークを導入しているケースでjQueryを使用する際には、問題なく動作するか、エラーが発生しないかなどの確認が必要です。
jQueryのメリットの一つでもあった豊富なプラグインですが、作成者が更新していないなどさまざまな理由でプラグインが最新のバージョンのjQueryに対応していないことがあります。
その場合は、セキュリティ上に問題が起こる可能性もあるでしょう。そのため同じような機能を持つ別のプラグインを探し、リプレイスする必要があります。
Internet Explorerへの対応が必要なくなりつつあることで、jQueryを使用するメリットが薄れてきています。React・Vue.jsなどのモダンフレームワークが主流になりつつあることから、新たな開発には使わない企業も少なくありません。
また、jQuery UIやjQuery Mobileも開発が終了。2021年5月にはbootstrap5が登場し、jQueryが不要になるなど、脱jQueryへの動きが加速しています。昨今では、jQueryは終わったという声を耳にすることが多くなってきました。
しかしながら、まだjQueryを利用している企業が多いことも事実です。そういった点でも、基本的な知識を持っておくと良いでしょう。
脱jQueryするにあたり、jQueryの次に学ぶべきフレームワーク・ライブラリの中から、よく比較されるReactとVue.jsについて、ご紹介します。
Meta社(旧Facebook社)が主に開発したUIライブラリです。Reactには、JSX記法(JavaScriptの中にHTMLタグを埋め込むような記述)を利用することで、レンダリングが想像しやすいという特徴が挙げられます。
また、ボタン、フォーム、見出しなどを、ページの構成要素をコンポーネントと呼ばれる部品として管理。部品化することで、保守性を高めています。サードパーティライブラリとして公開されているUIパーツの利用や再利用によって開発工数を抑えることができるのもReactならではです。
さらに、React Nativeを学ぶことで、iOS、Android両方に対応したアプリ開発も簡単になるでしょう。Typescriptベースのためコンパイル時にバグを発見しやすく、Facebookやinstagramなどにも使用されているように大規模な開発にも適しています。
(関連記事:Reactとは?フレームワークとの違い・フロントエンド開発に活用するメリットや特徴を解説!)
元GoogleのエンジニアEvan Youが、Google社発のAngular JSを元に開発したフレームワークです。
Reactと同様にコンポーネント化が可能で、保守性の向上、再利用による工数削減が実現できます。公式のライブラリも充実しており、ライブラリ選択にあまり迷わないこともことも特徴です。さらに、jQueryのようにCDNで手軽に導入できるため、ランディングページに動的な処理を入れるような小規模開発のニーズにも対応できます。
Reactと異なる点は、HTMLをベースとしたテンプレートが使用されていること。HTML、CSS部分とJSのロジック部分を分離できるため、初めてJavaScriptのフレームワークに触れる方や、デザイナーの方でも理解しやすい構造です。
ReactとVue.jsという2つのモダンフレームワーク・ライブラリは、ともにhtml構造をコンポーネントと呼ばれる部品にあらかじめ定義し、仮想DOMにJavaScriptオブジェクトを生成した後、実際のDOMに反映するという仕組みを持っています。
jQueryは、実際のDOMを直接操作するため、複雑な処理が必要になった場合、実際にどのようなHTML構造になるのか、コード上でわかりづらいという問題がありました。一方モダンフレームワークは、ある状態に対して、あらかじめ用意したDOMを返すといった動作になるため、コード上でもDOMがわかりやすく、バグを発見することが簡単というメリットがあります。
また、仮想DOMから実際のDOMへの反映は差分だけを更新するため、複雑な操作であっても、短時間でページの更新が可能です。
以上のような特徴から、新規開発ではjQueryではなく、ReactVue.jsなどのモダンフレームワークが使用されることが多くなっています。
最近では、jQueryが使えるだけではフロントエンドエンジニアではなく、コーダーとして扱われることが増えてきたようです。
React・Vue.jsといったモダンフレームワークが登場してから年月も経ち、日本語の公式ドキュメントはもちろん、企業でも積極的にJSフレームワークのセミナーや勉強会が開催されるようになりました。モダンフレームワークのリアルな情報や、学べる機会が増えてきた今こそ、スキルアップの絶好のタイミングです。
今後フロントエンドエンジニアとして活躍し続けるためにも、ぜひReact・Vue.jsといった実装スキルを学んでみてください。
Career advice
転職のアレコレ。プロに相談したい方へオススメ!
最新のIT・Web業界動向を知るキャリアカウンセラーが行う
「キャリアアドバイス」
ある程度経験を積んだので次のステップにキャリアアップしたい、しばらくWeb業界を離れていたが再度業界に戻りたい、 未経験・経験浅めだがどのように転職活動を行っていったらいいかなど、ウェブスタッフでは様々なご要望に対応したキャリアアドバイスを行っております。
ウェブスタッフが運営するサイトでは、利便性向上・分析・広告配信等のためにCookie等のデータを使用しています。当社が取得したアクセスデータとの関連付けの削除(オプトアウト)に関しては「個人情報の取り扱いについて」をご覧ください。
同意して閉じる