jQuery est purement conçu pour simplifier et normaliser les scripts dans les différents navigateurs. Il se concentre sur les éléments de bas niveau : création d'éléments, manipulation du DOM, gestion des attributs, exécution de requêtes HTTP, etc.
jQueryUI est un ensemble de composants et de fonctionnalités d'interface utilisateur construits au-dessus de jQuery (c'est-à-dire qu'ils ont besoin de jQuery pour fonctionner) : boutons, boîtes de dialogue, curseurs, onglets, animations plus avancées, fonctionnalité de glisser/déposer.
jQuery et jQueryUI sont tous deux conçus pour être "ajoutés" à votre site (de bureau ou mobile). Si vous souhaitez ajouter une fonctionnalité particulière, jQuery ou jQueryUI peuvent vous aider.
jQuery Mobile Cependant, l'entreprise est un cadre complet. Il est destiné à être votre point de départ pour un site mobile. Il nécessite jQuery et utilise les fonctionnalités de jQuery et de jQueryUI pour fournir des composants d'interface utilisateur et des fonctionnalités d'API permettant de créer des sites adaptés aux mobiles. Vous pouvez utiliser autant ou aussi peu de composants que vous le souhaitez, mais jQuery Mobile peut contrôler l'ensemble de la fenêtre d'affichage d'une manière adaptée aux mobiles si vous le laissez faire.
Une autre différence majeure est que jQuery et jQueryUI visent à être une couche au-dessus de votre HTML et CSS. Vous devriez pouvoir laisser votre balisage seul et l'améliorer avec jQuery. Cependant, jQuery Mobile permet de définir l'endroit où vous voulez que les composants apparaissent en utilisant uniquement le HTML - par exemple (d'après le site de 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>
El data-role
indique à jQuery Mobile de transformer cette liste en un composant d'interface utilisateur adapté aux mobiles et l'attribut data-inset
y data-filter
Les composants jQueryUI, quant à eux, sont normalement créés en écrivant quelques lignes de JavaScript pour instancier le composant dans le DOM.