Diferencia entre jQuery vs. AngularJS vs. Node.js [cerrado]

106

Estoy comenzando el desarrollo web y hasta ahora sé:

HTML: diseño del sitio web

CSS: haz que se vea bonito

JavaScript - funcionalidad

Entonces, ¿qué es jQuery , AngularJS y Node.js ?

Después de hacer una búsqueda rápida, encontré que jQuery es una "biblioteca de JavaScript", AngularJS es un "marco de aplicación web front-end de código abierto basado en JavaScript" y Node.js es un "entorno de ejecución de JavaScript".

Parece que todos están relacionados con JavaScript, ¿son nuevos lenguajes? ¿Qué significa "marco / biblioteca"?

Se agradecería una respuesta sencilla. (Acabo de comenzar a programar web, pero estoy familiarizado con la programación).

K Split X
fuente
2
Una "biblioteca" es básicamente una colección de funciones útiles que alguien más ha escrito y probado para usted - jQuery es una colección de funciones JavaScript. Un "marco" es una especie de abstracción en la que se ha escrito un código de estructura de aplicación común para usted, y puede anular partes del mismo según corresponda a las necesidades específicas de su aplicación. NodeJS es una herramienta que le permite ejecutar JavaScript en otro lugar que no sea el navegador (a menudo en un servidor web, en lugar de Java o DotNET o PHP o lo que sea).
nnnnnn
3
Estarás bien. ¿Sabes por qué? Porque eres un hablante de inglés. Ya hay un montón de cosas para ti. Solo necesitas tomarte tu tiempo y aprenderlo. En mi país, el inglés es un gran problema. Conozco a mucha gente que tiene dificultades para aprender a programar (muchos se han rendido y se han cambiado a otros trabajos) solo porque el inglés no es bueno. Aún así, como dije, te tomará mucho tiempo.
vothaison
Vea también esta pregunta .
nnnnnn

Respuestas:

202

jQuery es una biblioteca (lado del cliente)

jQuery es una biblioteca de JavaScript rápida, pequeña, liviana, de "escribir menos, hacer más" y con muchas funciones.

Hace que cosas como el recorrido y la manipulación de documentos HTML, el manejo de eventos, la animación y Ajax sean mucho más simples con una API fácil de usar que funciona en una multitud de navegadores.

AngularJS es un marco MVC (lado del cliente)

AngularJS es un marco MVC de JavaScript del lado del cliente para desarrollar una aplicación web dinámica.

Le permite utilizar HTML como lenguaje de plantilla y le permite ampliar la sintaxis de HTML para expresar los componentes de su aplicación de forma clara y sucinta. El enlace de datos de AngularJS y la inyección de dependencias eliminan gran parte del código que de otro modo tendría que escribir. Y todo sucede dentro del navegador, lo que lo convierte en un socio ideal para cualquier tecnología de servidor. AngularJS se inició originalmente como un proyecto en Google, pero ahora es un marco de código abierto.

Node.js es una plataforma y un entorno de ejecución (lado del servidor)

Node.js es un entorno de ejecución multiplataforma de código abierto para desarrollar aplicaciones de red y del lado del servidor basadas en el motor JavaScript de Google Chrome (motor V8). Las aplicaciones de Node.js están escritas en JavaScript y se pueden ejecutar dentro del tiempo de ejecución de Node.js en OS X, Microsoft Windows y Linux.

Node.js también proporciona una biblioteca rica de varios módulos de JavaScript que simplifica en gran medida el desarrollo de aplicaciones web que utilizan Node.js. Node.js utiliza un modelo de E / S sin bloqueo controlado por eventos que lo hace liviano y eficiente, perfecto para aplicaciones en tiempo real con uso intensivo de datos que se ejecutan en dispositivos distribuidos.

Biblioteca frente a marco

La diferencia clave entre una biblioteca y un marco es la "inversión de control". Cuando llamas a un método desde una biblioteca, tienes el control. Pero con un marco, el control se invierte: el marco te llama.

Ingrese la descripción de la imagen aquí

Biblioteca

Una colección de funciones que son útiles al escribir aplicaciones web. Su código está a cargo y llama a la biblioteca cuando lo considera oportuno. Por ejemplo, jQuery.

Marco de referencia

Una implementación particular de una aplicación web, donde su código completa los detalles. El marco está a cargo y llama a su código cuando necesita algo específico de la aplicación. Por ejemplo, AngularJS, Durandal , Ember.js , etc.

Aruna
fuente
27

En palabras simples

  • jQuery: es una colección de funciones de JavaScript para manipular HTML y CSS
  • AngularJS: es un marco de JavaScript que le ayuda a organizar HTML y CSS
  • Node.js: es un tiempo de ejecución de JavaScript ... algo así como un navegador en su servidor o máquina local, pero sin todo el motor de renderizado del navegador y los extras ... es solo un tiempo de ejecución

La principal diferencia entre biblioteca y marco en palabras simples:
Framework impone cierta arquitectura y espera que la aplicación siga sus expectativas La
biblioteca es una colección de bloques de construcción de bajo nivel que a menudo proporcionan funciones granulares destinadas a resolver problemas muy específicos (es decir, jquery.post () función)*

Dmitry Matveev
fuente
17

jQuery

jQuery es una biblioteca que hace muchas cosas por ti. Contiene muchas funciones útiles y de uso común para que no tenga que escribir este código usted mismo. Es una especie de diferencia entre ser un carpintero en la edad de piedra o tener una variedad de herramientas eléctricas a su disposición.

AngularJS

AngularJS es un marco que se utiliza para crear interfaces gráficas de usuario (GUI) de front-end para sitios web y aplicaciones web interactivos. Hace una combinación poderosa cuando se usa junto con Node.js

Node.js

Node es un marco que se utiliza para crear servicios web back-end , como puntos finales API REST que extraen datos por usted en segundo plano. Puede conectar botones y elementos de GUI a estos puntos finales utilizando AngularJS para crear aplicaciones web e informes web enriquecidos y basados ​​en datos. Al ser RESTful, estos servicios esperan hasta que el front-end les envía una solicitud (el usuario hace clic en un botón) y ejecutan una consulta de base de datos o leen un archivo y escupen algunos datos, que la aplicación web puede mostrar al usuario.

Frameworks en general

Los marcos en la analogía del carpintero anterior son como contratar a un equipo de constructores profesionales para que hagan el trabajo por usted. Usted describe el trabajo con suficiente detalle, y ellos se hacen cargo y realmente lo hacen. Por lo tanto, su tarea se reduce a presentar las especificaciones del trabajo en el idioma correcto para que el equipo de constructores las entienda, en lugar de hacerlo usted mismo.

AngularJS sería como el equipo de diseño de interiores junto con eléctrico, y Node.js sería todo lo demás. ¿Demasiado simplificado? Tal vez. Pero pediste una explicación simple.

Entonces, podría pensar en AngularJS y Node.js como opuestos, pero se pueden usar juntos en la misma aplicación o proyecto. Cumplen diferentes propósitos, pero ambos usan JavaScript (y jQuery hasta cierto punto) para hacerlo.

Tim
fuente
7
  • Marco : describe una estructura determinada de cómo debe presentar su código. Muy parecido a una plantilla de código, junto con algunos ayudantes, constructores, etc. para resolver / simplificar un problema específico o poner su arquitectura en "orden". Ejemplos, Backbone.js , RequireJS, Socket.IO . Un marco encapsula la funcionalidad común de la aplicación, lo que permite al desarrollador concentrarse en las partes que son únicas para su aplicación.

  • Biblioteca : Es un conjunto de herramientas completo que abstrae en gran medida diferentes capas, como navegadores, modelos DOM, etc. También como buen conjunto de herramientas, ofrece muchas herramientas y cosas interesantes para trabajar, lo que en general simplifica su experiencia de codificación. Algunos ejemplos son jQuery y MooTools .

Busque aquí más información.

Yaser
fuente
"Biblioteca: es un conjunto de herramientas completo" - Señalando que podría ser un conjunto de herramientas muy pequeño si su propósito es tratar, digamos, solo con datos de fecha / hora.
nnnnnn
7

Estos son los motivos por los que se están volviendo más populares día a día:

jQuery

  • Los códigos de Jquery son relativamente más cortos. A veces, solo cinco líneas de código jQuery equivalen a 25 líneas de código JavaScript convencional (por ejemplo, cargar un archivo de datos con AJAX). Esto significa menos código y archivos mucho más pequeños.
  • Gran biblioteca: jQuery le permite realizar multitud de funciones en comparación con otras bibliotecas de JavaScript.
  • Trabajo súper fácil con Ajax: jQuery le permite desarrollar plantillas Ajax con mucha facilidad, Ajax permite una interfaz más elegante donde se pueden realizar acciones en las páginas sin necesidad de recargar la página completa.

AngularJS

  • Enlace de datos bidireccional: si bien puede escribir un evento de enlace de datos bidireccional simple en jQuery, las bibliotecas MVC de JavaScript proporcionan una forma más declarativa (usando HTML) de conectar modelos a su vista.
  • Excelente para SPA ( aplicaciones de una sola página ): bibliotecas como AngularJS, Aurelia, Ember.js y Meteor le brindan toda la plomería en lugar de escribirla en jQuery

Node.js

  • Es rápido: además de la ejecución de JavaScript ultrarrápida, la verdadera magia detrás de Node.js es el ciclo de eventos. El bucle de eventos es un único hilo que realiza todas las operaciones de E / S de forma asincrónica. Tradicionalmente, las operaciones de E / S se ejecutan de forma sincrónica (bloqueo) o asincrónica generando subprocesos paralelos para realizar el trabajo.
  • Tiempo real hecho fácil: si Node.js sobresale en muchas conexiones simultáneas, entonces tiene sentido que sobresalga en aplicaciones web multiusuario en tiempo real como chat y juegos. El ciclo de eventos de Node.js se encarga del requisito de múltiples usuarios.
ab29007
fuente
2
"5 líneas de código jQuery equivalen a 25 líneas de código JavaScript convencional" , dependiendo de lo que intente hacer. Para algunas tareas hay una diferencia mínima, para otras hay una gran diferencia. "Esto significa archivos más pequeños y páginas web de carga más rápida". - Excepto que el código que jQuery le salvó de escribir por sí mismo está todo contenido en el archivo jQuery que también debe descargarse en el navegador. Entonces, la cantidad total de código probablemente sea mayor.
nnnnnn
esos archivos se cargan mientras se carga el documento. ya que la mejor práctica es no usar js hasta que se cargue DOM. no hacen una diferencia en la velocidad de ejecución de sus eventos de clic o
desplazamiento
En su respuesta, dijo "carga más rápida". Eso no es cierto, o ciertamente no es universalmente cierto. Los archivos que se cargan "mientras se carga el documento" aún deben descargarse y (según la página) deben descargarse antes de que el usuario pueda interactuar de manera significativa con la página. (Nota: no estoy diciendo que jQuery sea algo malo en absoluto, solo que su descripción es engañosa en el mejor de los casos).
nnnnnn
ok ... si lo cree, eliminaría la carga más rápida
ab29007
¿Puedo escribir JQuery y javascript en el mismo programa
K Split X
6

Utiliza HTML, CSS y JavaScript para crear sitios web interactivos.

jQuery es una herramienta escrita en JavaScript.

AngularJS es una herramienta escrita en JavaScript.

React es una herramienta escrita en JavaScript.

Estas herramientas lo ayudan a administrar las interacciones entre HTML, CSS y JavaScript de acuerdo con sus propias reglas. Una vez que una herramienta se vuelve realmente grande, puede tomar un nombre como "biblioteca" o "marco" según sus características.

A menudo ejecutamos JavaScript en un navegador web. Pero hace unos años, apareció esta cosa llamada Node.js que nos permitió ejecutar JavaScript fácilmente fuera del navegador. Me gusta pensar en él como "un programa que ejecuta JavaScript fuera del navegador" (lo que significa ... no hay HTML o CSS para mirar).

therobinkim
fuente