La respuesta corta sería, trabajan en diferentes niveles.
jQuery se creó para abstraer las diversas idiosincrasias del navegador y trabajar con el DOM sin tener que agregar verificaciones de IE6, etc. Con el tiempo, desarrolló una API agradable y robusta que nos permitió hacer muchas cosas, pero en esencia, está destinada a lidiar con el DOM, encontrar elementos, cambiar la interfaz de usuario, etc. Piense en ello como trabajando directamente con tuercas y tornillos.
AngularJS se creó como una capa sobre jQuery, para agregar conceptos MVC a la ingeniería de front-end. En lugar de proporcionarle API para trabajar con DOM, AngularJS le ofrece componentes personalizados, vinculantes de datos (similares a jQuery UI, pero declarativos en lugar de dispararse a través de JS) y mucho más. Piense que funciona a un nivel superior, con componentes que puede enganchar, en lugar de directamente a nivel de tuercas y tornillos.
- ¿Dónde puedo encontrar los mejores temas de bootstrap?
- ¿Por qué la mayoría de las aplicaciones web solo están diseñadas para adaptarse a la mitad de la pantalla en un monitor grande?
- ¿Existe alguna aplicación de código abierto o basada en la web gratuita para el reembolso de gastos para pequeñas empresas y nuevas empresas que se pueden alojar en las instalaciones?
- ¿Cuáles son algunas de las mejores aplicaciones de seguimiento de hábitos, tanto web como móviles?
- ¿Cómo funciona la integración de CalDav con Siri y qué comandos funcionarán a través de esta implementación?
Además, AngularJS le brinda estructuras y conceptos que se aplican a varios proyectos, como controladores, servicios y directivas. jQuery en sí mismo se puede utilizar de varias maneras (miles de millones) para hacer lo mismo. Afortunadamente, eso es mucho menos con AngularJS, lo que hace que sea más fácil entrar y salir de los proyectos. Ofrece una forma sensata para que varias personas contribuyan al mismo proyecto, sin tener que volver a aprender un sistema desde cero.
AngularJS está construido sobre jQuery, por lo que si incluye jQuery, AngularJS lo usará para sus propias manipulaciones DOM. Pero jQuery es opcional, y AngularJS tiene su propia implementación de jQueryLite que tiene parte del comportamiento de jQuery implementado como una interfaz API.