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.
Tecnologia MEAN
Angular, Typescript

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

Entradas más populares de este blog

Ejemplo Macro en Word

Macro de Excel para abrir archivo csv

Como ejecutar SQL desde Tareas Programadas de Windows