arrow&v

10. Conclusión


Con este ejemplo se han ilustrado las ventajas de diseñar un aplicativo con una clara diferencia entre el servidor web o “back end” y las páginas web interactivas o “front end” a pesar de que se utiliza el mismo lenguaje para ambas: JavaScript.


Aunque el servicio web que se utilizó no requiere ningún tipo de autenticación, es común que otros servicios si lo necesiten. Si la intención es no compartir las credenciales del acceso a un servicio con los usuarios accediendo por navegador, la única forma de lograrlo es manejando esas credenciales en el programa de node.js, de lo contrario, habría que incluirlos en una de las páginas enviadas a el navegador. Por más que se intente “ofuscar” la información enviada al navegador con código JavaScript "minimizado” o haciendo una codificación sencilla que se descodifica con un algoritmo, siempre hay formas de visualizarlo usando las herramientas de inspección que tienen todos los navegadores modernos.


El uso únicamente de los módulos 'http’ y ‘url’ para todo el manejo del protocolo HTTP para recibir solicitudes de acciones GET y devolver páginas a mostrar fue una decisión orientada a no distraer de los conceptos básicos con el uso de ambientes de desarrollo o “frameworks” que simplifican mucho pero también esconden muchos detalles. También la implementación del manejo de "templates” puramente con funciones del módulo ‘fs’ para leer archivos y operaciones de búsqueda y reemplazo en cadenas de caracteres fue para darles la oportunidad de ver aplicaciones prácticas del manejo un poco más complejo de cadenas de caracteres y de expresiones regulares.


Como se mencionó anteriormente, se eligió los marcadores de posición {{ y }} que son los mismos utilizados por el módulo “Mustache” que es muy popular y se puede usar directamente con el ambiente de desarrollo Express que también es uno de los más populares para el manejo de servidores Web complejos. Puedes encontrar más información y tutoriales de cómo usar Express acá: https://github.com/expressjs/express


Un buen ejercicio para practicar los conceptos repasados en este curso es el modificar el proyecto final para usarse con Express. Esta guía es muy útil para entender como instalarlo y usarlo: https://developer.mozilla.org/es/docs/Learn/Server-side/Express_Nodejs/development_environment


Finalmente cabe destacar que una de las razones de la gran popularidad de Node.js y JavaScript radica en la cantidad de módulos y ejemplos existentes para asistirnos en el desarrollo de aplicaciones y servicios basados en Web. No hay razón alguna por la cual no podamos escribir programas como los que vimos acá en lenguajes como Python, R y C#, pero precisamente por la disponibilidad de módulos y librerías podemos ver que Python y R son más populares para el desarrollo de aplicaciones de Inteligencia Artificial y “Machine Learning” mientras que C# es muy popular en el desarrollo de juegos y aplicaciones de realidad virtual.


Se espera que el conocimiento adquirido en este curso sirva para inspirarse y crear sus propios aplicativos Web sencillos o bien tome el siguiente paso e inicie una carrera de desarrollador “full stack”.