LAMP y MEAN son pilas web populares de código abierto que se utilizan para desarrollar aplicaciones web y móviles de alto rendimiento y nivel empresarial. Al igual que otras pilas, combinan tecnologías (sistemas operativos, lenguajes de programación, bases de datos, bibliotecas y marcos de aplicaciones) que los desarrolladores pueden utilizar para crear, desplegar y gestionar una aplicación totalmente funcional de manera eficiente y confiable a través del desarrollo de pila.
LAMP y MEAN son diferentes en el sentido de que proporcionan a los desarrolladores diferentes capas, o "pilas", de tecnologías que una aplicación web necesita para funcionar en toda la actividad de la interfaz frontend, la red y el servidor backend. Por ejemplo, una aplicación bancaria basada en la web podría basarse en la pila LAMP o la pila MEAN para interpretar la solicitud de un usuario para ver la actividad bancaria, recuperar los datos necesarios y mostrarlos en una interfaz de usuario.
LAMP significa las siguientes tecnologías apiladas:
El sistema operativo Linux permite que toda la aplicación web funcione correctamente en un equipo determinado. El servidor web Apache traduce la solicitud de un usuario y luego recupera y "sirve" información al usuario a través de HTTP (protocolo de transferencia de hipertexto). La base de datos MySQL (un sistema de gestión de bases de datos relacionales) almacena los datos (por ejemplo, archivos de extractos bancarios, actividad financiera, archivos de imagen, hojas de estilo CSS) que el servidor web puede recuperar y proporcionar en función de la solicitud específica del usuario. El lenguaje de programación PHP funciona con Apache para recuperar contenido dinámico de la base de datos MySQL y presentarlo al usuario. Si bien HTML puede mostrar contenido estático (por ejemplo, un título que permanece en la interfaz independientemente de los datos), el contenido dinámico que cambia en función de la interacción del usuario se basa en PHP. Los lenguajes de programación PERL y Python también se pueden utilizar en la pila LAMP. El escritor Michael Kunze fue el primero en utilizar el acrónimo LAMP pila en un artículo para una revista informática alemana publicada en 1998.
Figura 1: Cómo se procesa una solicitud de usuario en la pila LAMP.
MEAN significa las siguientes tecnologías apiladas:
El marco de AngularJS procesa una solicitud de usuario entrante. Luego, Node.js analiza la solicitud y la traduce en entradas que la aplicación web puede entender. Express.js utiliza estas entradas traducidas para determinar qué llamadas realizar a MongoDB, una base de datos NoSQL no relacional. Una vez que MongoDB proporciona la información necesaria, Express.js envía los datos a Node.js, que a su vez los envía a la infraestructura AngularJS para que pueda mostrar la información solicitada en la interfaz de usuario.
Si bien la infraestructura frontend de AngularJS se puede sustituir por otros como React.js, el entorno Node.js es crítico para la pila MEAN y no se puede reemplazar. Esto se debe a que Node.js permite el desarrollo de JavaScript de lote completo, un beneficio clave que hace que el desarrollo y la gestión de aplicaciones con la pila MEAN sean altamente eficientes. Cuando la infraestructura AngularJS se reemplaza por React.js, la pila se denomina MERN. El acrónimo MEAN pila fue utilizado por primera vez en 2013 por el desarrollador de MongoDB Valeri Karpov.
La Figura 2 muestra un ejemplo de alto nivel de cómo una aplicación web responde a través de su pila MEAN para satisfacer la solicitud de información de un usuario:
Figura 2: Cómo responde una aplicación web en la pila MEAN para cumplir con una solicitud.
Los siguientes son algunos de los beneficios de usar LAMP para crear, desplegar y administrar aplicaciones web:
Las desventajas de usar LAMP para crear, desplegar y administrar aplicaciones incluyen las siguientes:
Los beneficios de usar MEAN para crear, desplegar y gestionar aplicaciones web incluyen los siguientes:
Estas son algunas desventajas de usar MEAN para crear, desplegar y administrar aplicaciones web:
Ninguna pila es mejor que la otra, per se. Sin embargo, la pila LAMP o la pila MEAN pueden ser más adecuadas para un caso de uso particular de desarrollo web.
La pila LAMP es generalmente la mejor opción para aplicaciones web o sitios con las siguientes características:
Por el contrario, MEAN pila es la mejor opción para aplicaciones web o sitios como estos:
Para volver a lo básico, la pila LAMP lo acerca un poco más a la presentación técnica de las páginas web y cómo se hace. Tiene su base de datos, su lenguaje de scripting y una forma de servirlo a los clientes: eso es LAMP.
Si desea ver lo fácil que es desarrollar y desplegar una aplicación en la nube utilizando una pila LAMP o MEAN, IBM ofrece los siguientes tutoriales:
Modernice sin esfuerzo las cargas de trabajo de sus aplicaciones Java con el servicio totalmente gestionado de IBM.
Libere la innovación y potencie a sus equipos para modernizar rápidamente las aplicaciones existentes y ofrecer nuevos servicios nativos de la nube.
El desarrollo de aplicaciones en la nube significa construir una vez, iterar rápidamente y desplegar en cualquier lugar.