LAMP y MEAN son pilas web de código abierto populares que se utilizan para desarrollar aplicaciones web y aplicaciones móviles de alto rendimiento y de nivel empresarial. Al igual que otras pilas web, combinan tecnologías (sistemas operativos, lenguajes de programación, bases de datos, bibliotecas y marcos de aplicaciones) que los desarrolladores pueden utilizar para crear, implementar y gestionar una aplicación web totalmente funcional de forma eficiente y fiable mediante el desarrollo de pilas.
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 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 son las siglas de las siguientes tecnologías apiladas:
El sistema operativo Linux permite que toda la aplicación web funcione correctamente en un hardware 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 (Hypertext Transfer Protocol o protocolo de transferencia de hipertexto). La base de datos MySQL (un sistema de gestión de bases de datos relacionales) almacena los datos (p. ej., archivos de extractos bancarios, actividad financiera, archivos de imágenes, 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. Mientras que HTML puede mostrar contenido estático (p. ej., un titular 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 pueden utilizarse en la pila LAMP. El escritor Michael Kunze fue el primero en utilizar el acrónimo de la pila LAMP en un artículo para una revista de informática alemana publicada en 1998.
Figura 1: Cómo se procesa una solicitud de usuario en la pila LAMP.
MEAN son las siglas de las siguientes tecnologías apiladas:
El marco AngularJS procesa una solicitud de usuario entrante. A continuación, 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 al marco AngularJS para que pueda mostrar la información solicitada en la interfaz de usuario.
Aunque el marco frontend de AngularJS puede sustituirse por otros como React.js, el entorno de Node.js es crítico para la pila MEAN y no puede ser sustituido. Esto se debe a que Node.js permite el desarrollo de JavaScript full stack, un beneficio clave que hace que el desarrollo y la gestión de aplicaciones con la pila MEAN sean altamente eficientes. Cuando el marco AngularJS se sustituye por React.js, la pila se denomina MERN. El acrónimo de la pila MEAN 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 responde una aplicación web 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 a través de la pila MEAN para cumplir con una solicitud.
A continuación se enumeran algunos beneficios de utilizar LAMP para crear, implementar y gestionar aplicaciones web:
Las desventajas de usar LAMP para crear, implementar y administrar aplicaciones web incluyen las siguientes:
Los beneficios de usar MEAN para crear, implementar y administrar aplicaciones web incluyen los siguiente:
Estas son algunas desventajas de usar MEAN para crear, implementar y administrar aplicaciones web:
Ninguna de las dos pilas es mejor que la otra, en sí misma. Sin embargo, la pila LAMP o la pila MEAN pueden ser más adecuadas para un caso de uso concreto 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, la pila MEAN es la mejor opción para aplicaciones web o sitios como estos:
Para volver a lo básico, la pila LAMP le acerca un poco más al funcionamiento técnico de las páginas web y cómo se hace. Usted tiene su base de datos, su lenguaje de programación y una forma de ofrecerlo a los clientes: eso es LAMP.
Si desea ver lo fácil que es desarrollar e implementar una aplicación en la nube utilizando una pila LAMP o MEAN, IBM ofrece los siguientes tutoriales:
Modernice sin esfuerzo sus cargas de trabajo de aplicaciones Java con el servicio totalmente gestionado de IBM.
Dé rienda suelta a la innovación y capacite 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 consiste en diseñar una vez, iterar rápidamente e implementar en cualquier lugar.