jQueryは、ブラウザー間でのスクリプト作成を単純化および標準化するために純粋に設計されています。要素の作成、DOM の操作、属性の管理、HTTP リクエストの実行など、低レベルの処理に焦点を当てています。
jQueryUIは、jQuery の上に構築されたユーザー インターフェイス コンポーネントと機能のセットです (つまり、動作するには jQuery が必要です): ボタン、ダイアログ ボックス、スライダー、タブ、より高度なアニメーション、ドラッグ アンド ドロップ機能。
jQuery と jQueryUI はどちらも、サイト (デスクトップまたはモバイル) に「追加」できるように設計されています。特定の機能を追加したい場合は、jQuery または jQueryUI が役立つ場合があります。
ただし、jQuery Mobileは完全なフレームワークです。これは、モバイル サイトの出発点となることを目的としています。jQuery を必要とし、jQuery と jQueryUI の両方の機能を利用して、モバイル フレンドリーなサイトを構築するための UI コンポーネントと API 機能の両方を提供します。好きなだけ使用することはできますが、jQuery Mobileを使用すると、モバイル フレンドリーな方法でビューポート全体を制御できます。
もう 1 つの大きな違いは、jQuery と jQueryUI が HTML と CSS の上にあるレイヤーになることを目指していることです。マークアップをそのままにして、jQuery で拡張できるはずです。ただし、jQuery Mobile には、HTML のみを使用してコンポーネントを表示する場所を定義する方法が用意されています。たとえば (jQuery Mobile サイトから):
<ul data-role="listview" data-inset="true" data-filter="true">
<li><a href="#">Acura</a></li>
<li><a href="#">Audi</a></li>
<li><a href="#">BMW</a></li>
<li><a href="#">Cadillac</a></li>
<li><a href="#">Ferrari</a></li>
</ul>
このdata-role
属性は jQuery Mobile に、このリストをモバイル フレンドリーな UI コンポーネントに変換するように指示し、data-inset
およびdata-filter
属性はそのプロパティを設定します。JavaScript を 1 行も記述しません。一方、jQueryUI コンポーネントは通常、JavaScript を数行記述して、DOM でコンポーネントをインスタンス化することによって作成されます。