MEAN vs. LAMP Stack: Pros y contras
Las pilas de la web han evolucionado durante décadas con avances en la tecnología y los lenguajes de back-end. Dos de los stacks web más populares actualmente son LAMP y MEAN. Se basan en dos tecnologías diferentes para lenguajes de backend, bases de datos y entornos de servidor. El término "pila" se refiere a tecnologías que se acumulan una encima de la otra para crear un entorno de servidor web .
En este artículo, me gustaría aclarar estos dos apilamientos web mirando sus opciones de tecnología, tanto los pros y los contras. ¿Dónde se destaca 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 estos dos stacks, esta guía tiene todo lo que necesitas.
Desarrollo LAMP tradicional
La mayoría de los desarrolladores deben saber sobre la pila LAMP tradicional porque ha estado presente desde la primera página web. LAMP significa 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 quedarse con LAMP es la seguridad y el amplio soporte . Ha existido durante décadas, y es un método probado de alojar sitios web.
Toda la tecnología de back-end como PHP y MySQL son bien conocidos y compatibles con todos los principales proveedores de alojamiento . Si trabajas en una pila LAMP básicamente puedes alojar en cualquier lugar. Además, tiene acceso a los motores CMS más populares . WordPress, Drupal y Joomla se ejecutan en PHP / MySQL.
Hay opciones personalizables dentro de la arquitectura LAMP tales como LEMP reemplazando a Apache con nginx. También podría ejecutar una variante en un servidor de Windows como una pila WAMP.
Sin embargo, todos los softwares centrales, incluidos Apache, MySQL y PHP, fueron de código abierto y se crearon principalmente para Linux. Esta es la razón por la 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 siguen esta ruta porque es la forma más sencilla de obtener un sitio web en línea . Encontrará mucho soporte en foros que cubren todo lo que necesita para configurar y solucionar problemas en un entorno LAMP. Por ejemplo, puede consultar esta pregunta de ServerFault para obtener más información.
Backend de JavaScript con MEAN
Node.js es la tecnología más nueva para desarrolladores decididos a ejecutar aplicaciones escalables creadas con JavaScript. El nodo alimenta la pila MEAN y ofrece una ventaja principal: todo se ejecuta en un único idioma .
MEAN significa MongoDB, Express.js, Angular.js y, por supuesto, Node.js. Este acrónimo no exige ningún requisito para un sistema operativo de servidor o software de servidor. Una pila MEAN se puede ejecutar en cualquier sistema operativo, y el nodo incluso viene con su propio servidor para manejar JS en el back-end.
Encontrará mucha documentación y asistencia en el sitio web Mean.io.
Aunque esta pila ha ganado mucha atención, todavía no tiene la cantidad de soporte estable como una pila LAMP tradicional.
¿Entonces por qué alguien iría con MEAN? Porque finalmente es más rápido y más fácil de escalar . MongoDB es una base de datos NoSQL que optimiza las consultas. El uso de JavaScript fullstack también mejora el desarrollo porque se aplica un solo idioma para todos los trabajos frontend y back-end.
Además, muchos otros frameworks JS están llegando al mercado como soluciones estables. Por ejemplo, MEAN se puede cambiar a una pila MEEN que reemplaza a Angular con Ember.
Los programadores adorarán la pila MEAN porque separa el código para mantenerlo y crecer . Esto facilita la organización de 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 requeridas para administrar una aplicación MEAN puede llevar meses. Pero si amas 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 de principiantes de Felix's Node.js
- Introducción a Express.js
- Aprende a construir aplicaciones web modernas con MEAN
- Comenzar con Node.js, Express y MongoDB
PHP vs. Node
PHP ha existido desde mediados de los 90, y es realmente el lenguaje back-end más popular. Muchos desarrolladores web comienzan con (o eventualmente aprenden) PHP porque es tan predominante a través de plataformas web y proveedores de hosting.
Nodo es un marco más nuevo, pero su popularidad se ha incrementado extraordinariamente rápido. Esto incluye la popularidad de NPM como administrador de paquetes para desarrolladores web, y se expande aún más en poderosos frameworks de 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 consideran que PHP es un lenguaje mal diseñado porque el creador, Rasmus Lerdorf en realidad no lo diseñó como un lenguaje. PHP comenzó como una solución genérica para sitios web, y rápidamente se convirtió en una gran biblioteca de funciones no relacionadas.
Pero con PHP 7 intentando corregir muchos errores del lenguaje, y con marcos de OOP gratuitos, como Laravel, PHP es un lenguaje mucho mejor ahora que nunca.
Entonces, el debate sobre el lenguaje se reduce a su elección personal . ¿Realmente amas escribir JavaScript? Entonces vale la pena considerar el Nodo con una pila MEAN.
Si ya conoces PHP y quieres seguir con lo que sabes, LAMP también es una ruta viable.
Pros y contras generales:
Hay varias capas de cada pila web para comparar, incluidos el sistema operativo, el software del servidor, la base de datos y el lenguaje de fondo.
(1) La pila MEAN también incluye Angular, que es un framework 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 una derivada de Linux. Linux suele ser 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 del 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 mucho apoyo, Node no tiene nada que ver con la comunidad del mismo tamaño que Apache.
(5) También un servidor de nodo requiere un back-end de JavaScript (sin extensiones). Apache permite la mayoría de los lenguajes de back-end, y hay muchas extensiones gratuitas para mayor soporte. Pero a partir de ahora, Apache no tiene nada para el soporte de Node.
(6) La administración de la base de datos es donde encontrará la mayor diferencia . LAMP usa MySQL para el almacenamiento de datos relacionales, mientras que MEAN utiliza MongoDB, que es una base de datos no relacional. Los DB no relacionales son mucho más rápidos y proporcionan un método más fácil de escalar con mayor tráfico.
(7) Tenga en cuenta que PHP no está limitado ú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 candidato para una típica pila de LAMP.
(8) Las pilas MEAN típicamente se ejecutan más rápido y escalan más, pero requieren mucho más tiempo y conocimiento del servidor para aprender el sistema. Las pilas LAMP son probadas y verdaderas, y vienen de fábrica 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 funciona principalmente en PHP, que incluye WordPress y el marco de Laravel. MEAN funciona en ExpressJS / NodeJS para el backend con AngularJS en la interfaz.
(10) MEAN es JavaScript de pila completa, y hay mucho que debes aprender para ejecutarlo. Es una elección frecuente de nuevas empresas emergentes dispuestas a traspasar los límites en el desarrollo de aplicaciones web. LAMP es más tradicional con JS en la interfaz, PHP en el back-end . Está hecho para personas que solo quieren tener sitios web en línea sin demasiadas preocupaciones .
Por favor revisa 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
Diría que la mayoría de los sitios web se inclinan por la pila LAMP porque está probada y tiene muchos hilos útiles de preguntas y respuestas 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 la gente quiere tratar.
Siéntase libre de probar ambos y véalos por usted mismo. Es posible instalar ambas configuraciones localmente en su computadora y construir sobre ellas sin un servidor remoto.
Y si buscas más información sobre cualquiera de las pilas, he recopilado un conjunto de enlaces útiles a continuación.
- Aprende a construir aplicaciones web modernas con MEAN (thinkster.io)
- Dock LAMP Stack Admin (jessesnet.com)
- Cómo instalar Linux, Apache, MySQL, PHP (LAMP) Pila en Debian 8 (digitalocean.com)
8 cosas que no quieres en un socio de inicio
Todos los que conoce están comenzando su propio negocio: personas de cualquier grupo de edad: adolescentes, adultos de entre 20 y 30 años. Y la mayoría de la gente se da cuenta de que hacerlo solo es una tarea difícil . Aquí es cuando aparece el tema de traer un socio, ya sea para duplicar el capital inicial o para incorporar un conjunto de habilidades necesarias que no tienes. Y e
20 naipes interesantes que puedes comprar
Jugar a las cartas es uno de los juegos de mesa más interesantes de todos los tiempos. Se juegan en todas partes del mundo por personas de diferentes edades, culturas y gustos. Debido a esto, las cartas se convierten a menudo en diseños más interesantes y creativos. Por lo tanto, en este post voy a mostrar cómo los diseñadores de certian han extendido su creatividad en naipes .Desd