MEAN vs. LAMP Stack Pros y Cons
Pilas de web Han evolucionado a lo largo de décadas con avances en tecnología y lenguajes backend. Dos de las pilas web más populares actualmente son LAMP y MEAN. Se basan en dos tecnologías diferentes para lenguajes de fondo, bases de datos y entornos de servidor. El término "pila" se refiere a Tecnologías que se apilan unas sobre otras para crear un entorno de servidor web.
En este artículo, me gustaría aclarar estas dos pilas de páginas web observando sus opciones de tecnología, tanto las ventajas como las desventajas. ¿Dónde sobresale cada pila? ¿Y qué tipo de proyectos se beneficiarían más de cualquiera de las opciones? Si eres nuevo en tecnologías web o simplemente quieres aprender sobre estas dos pilas, esta guía tiene todo lo que necesitas.
Desarrollo tradicional de LAMP
La mayoría de los desarrolladores deberían saber sobre la pila LAMP tradicional porque ha existido desde la web temprana. LÁMPARA representa Linux, Apache, MySQL y PHP. Cada uno de estos son paquetes de software individuales que se combinan para formar una solución de servidor versátil.
La razón más importante para seguir con LAMP es Seguridad y soporte generalizado.. Ha existido durante décadas, y es un método comprobado para alojar sitios web..
Toda la tecnología backend como PHP y MySQL son bien conocidas, y apoyado por todos los proveedores de alojamiento principales. Si trabajas en una pila LAMP básicamente puedes alojar en cualquier lugar. Además, obtienes Acceso a los motores CMS más populares.. WordPress, Drupal y Joomla se ejecutan en PHP / MySQL.
Existen opciones personalizables dentro de la arquitectura LAMP, como LEMP, que reemplaza Apache con nginx. También puede ejecutar una variante en un servidor Windows como una pila WAMP.
Sin embargo, todo el software principal, incluyendo Apache, MySQL y PHP - fueron de código abierto, y hecho principalmente para Linux. Es por esto que Linux tiene más sentido para un entorno de servidor, y es por eso que LAMP ha superado la prueba del tiempo para el desarrollo web moderno..
La mayoría de los desarrolladores van por esta ruta porque es La forma más sencilla de obtener un sitio web en línea.. Encontrará una gran cantidad de soporte en foros que cubren todo lo que necesita para configurar y solucionar problemas de un entorno LAMP. Por ejemplo, puede consultar esta pregunta de ServerFault para obtener más información.
JavaScript Backend con MEAN
Node.js es la tecnología más nueva para desarrolladores que están decididos a ejecutar aplicaciones escalables creadas con JavaScript. Nodo alimenta la pila MEAN, Y ofrece una ventaja primordial: todo. corre en un solo idioma.
MEDIA representa MongoDB, Express.js, Angular.js, y por supuesto Node.js. Este acrónimo no establece requisitos para un sistema operativo de servidor o software de servidor. Un medio de pila se puede ejecutar en cualquier sistema operativo, y Node incluso viene con su propio servidor para manejar JS en el backend.
Encontrará mucha documentación y asistencia en el sitio web de Mean.io.
A pesar de que esta pila ha ganado mucha atención, aún no tiene la cantidad de soporte estable que una pila LAMP tradicional..
Entonces, ¿por qué alguien iría con SIGNIFICADO? Porque es en última instancia, más rápido y más fácil de escalar. MongoDB es un Base de datos NoSQL Lo que optimiza las consultas. El uso de JavaScript de pila completa también mejora el desarrollo porque se aplica un idioma a todos los trabajos de frontend y backend..
Además, muchos otros frameworks JS están llegando al mercado como soluciones estables. Por ejemplo, MEAN se puede cambiar a un Pila MEEN Sustituyendo Angular por Ember.
A los programadores les encantará la pila MEAN porque Separa código para mantenimiento y crecimiento.. Esto lo hace Es más fácil organizar las aplicaciones web de JavaScript para que se ejecuten en un entorno natural.
Hay mucho que aprender sobre este tema, y esa es probablemente la mayor barrera de entrada para los nuevos desarrolladores. Aprender todas las tecnologías necesarias para administrar una aplicación MEAN puede llevar meses. Pero si te encanta Node y quieres ejecutar todo en JavaScript, vale la pena el esfuerzo..
Aquí hay algunos tutoriales para principiantes para que comiences.
- Una guía absoluta para principiantes de Node.js
- Guía para principiantes de Node.js de Felix
- Introducción a Express.js
- Aprende a construir aplicaciones web modernas con MEAN
- Primeros pasos con Node.js, Express y MongoDB
PHP vs. Nodo
PHP ha existido desde mediados de los años 90, y es realmente el lenguaje backend más popular. Muchos desarrolladores web comienzan con (o eventualmente aprenden) PHP porque es muy predominante en las plataformas web y los proveedores de alojamiento..
Node es un marco más nuevo, pero su popularidad ha aumentado extraordinariamente rápido. Esto incluye la popularidad de NPM como gestor de paquetes para desarrolladores web, y se expande aún más en poderosos frameworks frontend como Angular 2.
El otro beneficio de Node es que viene con su propio servidor web. JavaScript está en la raíz de todo en una pila MEAN, así que si te encanta JS, entonces realmente te encantará crear aplicaciones web MEAN.
Muchos desarrolladores creen que PHP es un lenguaje mal diseñado porque el creador, Rasmus Lerdorf en realidad no lo diseñó como un lenguaje.. PHP comenzó como un solución genérica para sitios web, y creció rápidamente en una gran biblioteca de funciones no relacionadas.
Pero con PHP 7 intentando corregir muchos errores del lenguaje, y con gratis OOP frameworks, como Laravel, PHP es un lenguaje mucho mejor ahora que nunca ha sido.
Así que el debate lingüístico se reduce a tu elección personal. ¿De verdad te gusta escribir JavaScript? Entonces vale la pena considerar Nodo con una pila MEAN.
Si ya sabe PHP y desea seguir con lo que sabe, LAMP también es una ruta viable..
Pros y contras generales:
Existen capas múltiples de cada pila web para comparar, incluido el sistema operativo, el software del servidor, la base de datos y el lenguaje backend.
(1) los Significa pila además incluye angular que es un marco de frontend. No hay ningún marco requerido en una pila LAMP, pero siempre puedes agregar el tuyo a cualquier aplicación que crees..
(2) Con respecto al sistema operativo, la pila LAMP busca un derivado de Linux. Linux es típicamente la mejor opción para un entorno de servidor independientemente de la pila, y también es cierto para MEAN.
(3) Ahora el sistema operativo del servidor es solo el software de la computadora, pero no es el software de servidor web. Para obtener esto necesitas un programa como Apache o nginx. LAMP usa Apache porque es una de las opciones más estables disponibles.
(4) MEAN usa el servidor Node.js que es parte del paquete Node. Todavía es bastante nuevo, y si bien hay bastante soporte por ahí, Node no tiene el mismo tamaño de comunidad que Apache.
(5) También un servidor Node requiere un backend de JavaScript (sin extensiones). apache permite la mayoría de los lenguajes backend, y hay muchas extensiones gratuitas para mayor soporte. Pero a partir de ahora Apache no tiene nada para el soporte de Node.
(6) Gestión de base de datos es donde encontraras la mayor diferencia. LAMP usa MySQL para el almacenamiento de datos relacionales, mientras que MEAN usa MongoDB, que es una base de datos no relacional. DBs no relacionales son mucho mas rápido, y proporciona un método más fácil de escalar con mayor tráfico.
(7) Manten eso en mente PHP no se limita únicamente a MySQL. Puede usar MongoDB y otras alternativas como PostgreSQL o SQLite. Es solo que la mayoría de los desarrolladores de PHP conocen MySQL, por lo que es el principal contendiente para una pila LAMP típica.
(8) Significa pilas normalmente corre más rápido y escala más grande, pero requiere mucho más tiempo y conocimiento del servidor para aprender el sistema. Pilas de LAMP son probado y verdadero, y vienen fuera de la caja Con la infraestructura más segura y el soporte más amplio que se pueda imaginar..
(9) Los lenguajes de programación hacen una gran diferencia entre las dos pilas. LAMP trabaja principalmente en PHP, que incluye WordPress y el marco Laravel. MEAN trabaja en ExpressJS / NodeJS para el backend con AngularJS en el frontend.
(10) MEDIO es JavaScript de pila completa, y hay mucho que necesitarás para aprender a correr. Es un Selección frecuente de nuevas empresas. dispuesto a empujar los límites en el desarrollo de aplicaciones web. LAMP es más tradicional con JS en el frontend, PHP en el backend. Está hecho para personas que solo quieren Obtener sitios web en línea sin demasiadas preocupaciones.
Por favor, echa un vistazo a esta guía de comparación para aprender un poco más. Ninguna de las opciones es correcta o incorrecta, solo diferente y hecha para diferentes proyectos.
Terminando
Yo diría que la mayoría de los sitios web se inclinan hacia la pila de LAMP porque está probado, y tiene muchos hilos de preguntas y respuestas útiles indexados en Google. MEAN sigue creciendo y también tiene mucho apoyo, pero puede ser más técnico de lo que la mayoría de las personas quiere tratar.
Siéntete libre de probar ambos, y verlos por ti mismo. Es posible instala ambas configuraciones localmente en su computadora, y construir sobre ellos sin un servidor remoto.
Y si busca más información en cada pila, he recopilado una serie de enlaces útiles a continuación.
- Aprende a construir aplicaciones web modernas con MEAN (thinkster.io)
- Docker LAMP Stack Admin (jessesnet.com)
- Cómo instalar Linux, Apache, MySQL, PHP (LAMP) Stack en Debian 8 (digitalocean.com)