jQuery è progettato esclusivamente per semplificare e standardizzare lo scripting tra i browser. Si concentra sulle cose di basso livello: creazione di elementi, manipolazione del DOM, gestione degli attributi, esecuzione di richieste HTTP, ecc.
jQueryUI è un insieme di componenti e funzionalità dell'interfaccia utente costruite su jQuery (cioè ha bisogno di jQuery per funzionare): pulsanti, finestre di dialogo, cursori, schede, animazioni più avanzate, funzionalità di trascinamento della selezione.
jQuery e jQueryUI sono entrambi progettati per essere "aggiunti" al tuo sito (desktop o mobile): se desideri aggiungere una particolare funzionalità, jQuery o jQueryUI potrebbero essere in grado di aiutarti.
jQuery Mobile , tuttavia, è un framework completo. È pensato per essere il tuo punto di partenza per un sito mobile. Richiede jQuery e utilizza le funzionalità di jQuery e jQueryUI per fornire sia componenti dell'interfaccia utente che funzionalità API per la creazione di siti ottimizzati per i dispositivi mobili. Puoi ancora usarne quanto vuoi, ma jQuery Mobile può controllare l'intera visualizzazione in modo ottimizzato per i dispositivi mobili se lo consenti.
Un'altra importante differenza è che jQuery e jQueryUI mirano a essere un livello sopra il tuo HTML e CSS. Dovresti essere in grado di lasciare il tuo markup da solo e migliorarlo con jQuery. Tuttavia, jQuery Mobile fornisce modi per definire dove si desidera che i componenti appaiano utilizzando solo HTML, ad esempio (dal sito 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>
L' data-role
attributo indica a jQuery Mobile di trasformare questo elenco in un componente dell'interfaccia utente ottimizzato per i dispositivi mobili e gli attributi data-inset
e ne data-filter
impostano le proprietà, senza scrivere una sola riga di JavaScript. I componenti jQueryUI, d'altra parte, vengono normalmente creati scrivendo poche righe di JavaScript per istanziare il componente nel DOM.