Programación Full Stack con MEAN
Buena semana, en el post de hoy tenemos a la primera invitada del año la MC Fabiola Rodriguez, ella tiene 16 años de experiencia en el área de Sistemas: 7 años en Helpdesk y 9 años de experiencia Desarrollo de Software principalmente con la plataforma de Microsoft, tiene una Maestría en tecnologías WEB y Dispositivos móviles, además de contar con varios diplomados y cursos de . He tenido la oportunidad de trabajar con ella en la misma empresa y ver varios de sus desarrollos los cuales cuentan con mucha calidad, estabilidad,buen Front End y son intuitivos, además de ofrecer un muy buena atención a sus usuarios.
Ella nos va a platicar acerca de un nueva tecnología llamada MEAN
Programación Full Stack con MEAN
Este tema para mí que egrese de
la carrera de sistemas en el año 2004 fue totalmente y me pareció un reto,
ahora casi 15 años cuando tuve oportunidad de conocerlo en la maestría en
desarrollo web que curse en el 2019.
Considero necesario explicar
primero que es un programador “Full Stack”, si desglosamos el término “Full” es
completo y “Stack” se refiere a tecnología, por lo que diríamos que es aquel
que maneja un conjunto completo de tecnologías.
Si tú sabes HTML, JavaScript, CSS
y PHP eres un desarrollador Full Stack en esas tecnologías de código abierto,
lo mismo si dominas C#, Javascript, Bootstrap y CSS.
En ambos ejemplos dominas tanto
el backend de una aplicación como el frontend.
MEAN también es otro conjunto de
tecnologías que te permitirían dominar ambos entornos. Ya que se refiere al
acrónimo de MONGO, EXPRESS, ANGUNAR Y NODE JS.
Este conjunto de tecnologías está
tomando mucha relevancia últimamente ya que permite realizar aplicaciones en
tiempo real, y compañías como Netflix, Wal-Mart o la Nasa las utilizan.
Yo considero que la ventaja que
tiene MEAN con respecto a otras tecnologías Full Stack es que en sus cuatro
plataformas utiliza un solo lenguaje, “Javascript”. Incluso en MongoDB, ya que
utiliza JSON que también es en esencia un estándar de texto plano para
intercambio de información, basado en “Javascript”.
Esto es una ventaja contra un
desarrollo en el que tenías que saber PHP y Javascript, Oracle o Sintaxis de
SQL o bien C# y todas las anteriores.
De hecho, ya utilizar JSON para
el intercambio de información hace que la velocidad de respuesta mejore de
manera notable, basta con analizar una comparativa de cómo se intercambia la
información en ambas tecnologías. Algunos analices sugieren que el intercambio
de información de XML respecto a JSON puede reducirse hasta en un 50% en ancho
de banda del canal.
A continuación, te presento la
misma información, en JSON vs XML, basta con apreciar que el número de líneas
es mayor.
Ahora vamos a ver a que se refiere cada una de las
tecnologías.
NodeJS
Es un lenguaje de backend, pero
del lado de servidor, basado en Javascript que tiene acceso a los sistemas de
archivo del equipo, la información del sistema operativo y los procesos del
equipo, esto lo convierte en un sistema muy versátil especialmente para los sistemas
que requieren monitoreo en tiempo real.
NodeJS en conjunto con Express
como servidor, representan una gran ventaja respecto a una aplicación montada
en IIS o Apache, ya que generan un solo hilo de comunicación que se mantiene a
través de una sola sesión a diferencia de los dos anteriores que generan
multisesiones. Y logra esto a través de hacer todas sus peticiones de manera
asíncrona, por lo que al iniciarte en esta programación manejaras conceptos muy
actuales como callbacks y las promesas.
Esto es tal vez lo que puede
representar un reto o un paradigma más difícil para los programadores que
venimos de otro tipo de tecnologías.
Tal vez esto puede sonar como una
desventaja, pero se compensa cuando te das cuenta que el requerimiento de
hardware para aplicaciones de gran concurrencia va a ser mínimo, es por eso que
empresas como Netflix con alta concurrencia, han optado por este tipo de
tecnologías.
NodeJS no necesariamente va
casado con una base de datos no relacional como MongoDB, también puede
utilizarse con SQL Server o MySQL y se pueden crear servicios de REST de una
manera bastante amigable.
La popularidad de este lenguaje
ha ido en incremento y a través de sus paquetes NPM, algo similar a los
paquetes NUGET de Visual Studio, se tiene acceso a más de 470 mil librerías.
Si conoces Javascript, ya conoces
la mayor parte de NodeJS.
Express
Es un módulo adicional que nos permite poder ejecutar un
servidor web con NodeJS.
Angular
Es un framework de desarrollo
para el lado de Frontend, tal vez una de sus ventajas contra su similares como
React y VujeJS, es que en algún momento y por una restructuración del lenguaje,
se dividió en dos hilos de desarrollo, el original “Angular JS” y el “Angular
2”, este último actualmente se encuentra en su versión “Angular 8”. Lo cual requiere un esfuerzo adicional para
adaptarse a cambios tan vertiginosos.
Sin embargo, su ventaja principal
es que su entorno de desarrollo es muy parecido a .Net o Java Enterprise, pero
del lado del cliente.
“Angular 8”, ya se programa con
TypeScript, un framework tan estable que la labor de desarrollo se vuelve más
intuitiva.
Yo personalmente me quedo con la
versión Angular 7, que ya se encuentra en su versión más estable.
MongoDB
Es una base de datos
multiplataforma, open source y NO SQL. Cuando me refiero a NO SQL no me estoy
refiriendo a que va “en contra” o “totalmente contrario a SQL”.
Yo diría que más bien Mongo DB es
una base, no solo SQL. El hecho de que su estructura sea más flexible ya que la
información está basada en estructuras de JSON y no en un sistema de tablas, le
permite procesar grandes cantidades de datos que se generan demasiado rápido y
que van cambiando constantemente.
Pero eso no impide que sea
utilizado en aplicaciones convencionales. Su base de programación es C++.
Para iniciar en la programación
MEAN, te sugiero que empieces instalando Mongo DB, ya que lo primero que
deberíamos de hacer sería crear servicios REST que nos permitan consumir datos.
A continuación, explicara cómo
instalar Mongo DB en un sistema de Windows, aunque los pasos serían los mismos
si lo haces en sistema operativo de Mac o Linux.
Instalación de Mongo DB
1.-Ingresemos a la página de
Mongo DB y ve a la opción de Mongo DB Server que es la opción gratuita. Y busca
el paquete que corresponde a tu sistema operativo.
*Al ingresar se te va a sugerir que te suscribas a su
newsletter.
2.-Una vez ejecutado el instalador seguir dando clic en el
botón de siguiente.
Después de aceptar los términos de la licencia, se nos
preguntara si queremos una instalación completa o personalizada, debemos elegir
la completa.
También nos preguntara si
queremos instalar MongoDB como un servicio es decir iniciarlo junto con el
arranque de nuestro sistema operativo.
Yo recomendó optar por la versión
del servicio. Continuar en siguiente hasta que la instalación sea completada.
Después de esto se puede
continuar con la instalación hasta que el sistema nos indica que ha quedado
instalado.
3.-Para comprobar que la
instalación se llevó a cabo puedes abrir una consola de Windows, “como
administrador.
Y debemos dirigirnos a la
ruta donde se ha instalado MongoDB.
En mi caso se encuentra instalado
en:
C:\Program Files\MongoDB\Server\3.6\bin
Y voy a esa ruta en mi pantalla
de consola. Para verificar la versión solo tengo que escribir “mongod –versión”.
4.-Ahora debemos configurar la
ruta donde MongoDB genera los archivos de la base de datos, esta ruta es independiente
a la instalación del programa.
C:\data\db.
5.-Para ejecutar MongoDB debemos
regresar a la consola y escribir el comando “mongo”, en la pantalla de comandos
debe de aparecer la leyenda.
De esta manera ya tendríamos el primer
componente para la programación MEAN. La configuración puede parecer un poco
complicada al principio, pero ten en cuenta que este proceso solo se realizaría
una vez por cada equipo y las instrucciones no varían mucho de un sistema
operativo a otro.
Sin embargo, el objetivo de esta
publicación era darte una introducción de esta tecnología con sus ventajas y
desventajas.
El tema es extenso, pero si
alguna vez manejaste Javascript o c#, la programación te será muy transparente.
En YouTube puedes encontrar
infinidad de cursos sobre cómo crear tu primera API en MEAN y como consumirla.
Yo te recomiendo el canal de
“Fazt”, que tiene una lista de reproducción llamada “MEAN-APLIACION CRUD
ANGULAR”.
Aunque por una inversión que no
va más allá de los 15 USD e incluso menos cuando existen rebajas, puedes
ingresar a los siguientes cursos de UDEMY que son bastante útiles por la destreza
para explicar y los conocimientos solidos de los instructores, que contestan en
cuestión de horas sobre alguna duda que vayas teniendo sobre el curso.
Aprende a programar con
javascript desde cero y crea APIs RESTful con NodeJS, Typescript, Angular,
Express y MongoDB
Aprende a programar desde cero
y desarrollo web con JavaScript, jQuery, JSON, TypeScript, Angular, Node, MEAN,
+30 horas
Teniendo en cuanta que esta sería
la única inversión que tendrías que hacer ya que la licencia de MongoDB, NodeJS,
Express JS y Angular son gratuitas.
Espero con esto haberte dado un
panorama de lo que la programación MEAN significa y crearte al menos la
curiosidad de darte una oportunidad y empezar poco a poco o de lleno a romper
tus paradigmas e intentar hacer algún desarrollo con estas tecnologías.
No olvide compartirnos y seguirnos en este blog, en Facebook.
Comentarios
Publicar un comentario