jQuery está diseñado exclusivamente para simplificar y estandarizar las secuencias de comandos en todos los navegadores. Se enfoca en cosas de bajo nivel: crear elementos, manipular el DOM, administrar atributos, realizar solicitudes HTTP, etc.
jQueryUI es un conjunto de componentes y características de la interfaz de usuario construido sobre jQuery (es decir, necesita jQuery para funcionar): botones, cuadros de diálogo, controles deslizantes, pestañas, animaciones más avanzadas, funcionalidad de arrastrar / soltar.
jQuery y jQueryUI están diseñados para ser 'agregados' a su sitio (escritorio o móvil) - si desea agregar una característica en particular, jQuery o jQueryUI podrían ayudarlo.
jQuery Mobile , sin embargo, es un marco completo. Está destinado a ser su punto de partida para un sitio móvil. Requiere jQuery y utiliza funciones de jQuery y jQueryUI para proporcionar componentes de interfaz de usuario y funciones de API para crear sitios compatibles con dispositivos móviles. Aún puede usar tanto o tan poco como desee, pero jQuery Mobile puede controlar toda la ventana gráfica de una manera compatible con dispositivos móviles si lo permite.
Otra diferencia importante es que jQuery y jQueryUI apuntan a ser una capa encima de su HTML y CSS. Debería poder dejar su marcado solo y mejorarlo con jQuery. Sin embargo, jQuery Mobile proporciona formas de definir dónde desea que aparezcan los componentes utilizando solo HTML, por ejemplo (desde el sitio 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
atributo le dice a jQuery Mobile que convierta esta lista en un componente de interfaz de usuario compatible con dispositivos móviles y los atributos data-inset
y data-filter
establecen las propiedades de eso, sin escribir una sola línea de JavaScript. Los componentes jQueryUI, por otro lado, normalmente se crean escribiendo unas pocas líneas de JavaScript para instanciar el componente en el DOM.