AUTOMATIZADORES DE DESARROLLO WEB

AUTOMATIZADORES DE DESARROLLO WEB


Actualmente, en el ecosistema Javascript (o en el mundo del desarrollo web en general), es muy común utilizar estos automatizadores para, entre otras cosas, agilizar el proceso de creación de una aplicación web con unos pocos comandos, realizando de forma automática todas esas tareas tediosas y repetitivas, alcanzando nuestro objetivo de forma más rápida y con una mejor experiencia de desarrollador.


Algunas de esas tareas podrían ser las siguientes:


  • Creación del proyecto y su gestión (gestionado con NPM)
  • Actualización y mantenimiento de dependencias (gestionado con NPM)
  • Servidor web local de desarrollo
  • Minificación de código
  • Optimización de imágenes
  • Preprocesar o transpilar código fuente
  • Despliegue o subida del código final al servidor

PARADIGMA DevOps

es una cultura que agrupa una serie de prácticas y principios para mejorar y automatizar los procesos entre los equipos de desarrollo e infraestructura (IT) para hacer el lanzamiento de software de una manera rápida, eficiente y segura


Un concepto importante y uno de los pilares fundamentales en DevOps es la automatización de procesos, que incluye los procesos de construcción, pruebas y lanzamiento del software con herramientas como Git, Jenkins, Circle CI, Travis, Terraform, entre otras.


Su objetivo es ayudar a una organización a producir productos y servicios software más rápidamente, de mejor calidad y a un coste menor.Las empresas con entregas (releases) muy frecuentes podrían requerir conocimientos de DevOps. Flickr desarrolló un sistema DevOps para cumplir un requisito de negocio de diez despliegues diarios. A este tipo de sistemas se les conoce como despliegue continuo (continuous deployment) o entrega continua (continuous delivery), y suelen estar asociados a metodologías lean startup



PARADIGMA CI/CD

La CI/CD es un método para distribuir aplicaciones a los clientes con frecuencia mediante el uso de la automatización en las etapas del desarrollo de aplicaciones. Los principales conceptos que se atribuyen a la CI/CD son la integración continua, la distribución continua y la implementación continua. La CI/CD es una solución para los problemas que puede generar la integración del código nuevo a los equipos de desarrollo y de operaciones (también conocida como "Integration Hell").


debe recordar que la integración y la distribución continuas son un proceso que suele percibirse como una canalización e implica incorporar un alto nivel de automatización permanente y supervisión constante al desarrollo de las aplicaciones. El significado de los términos varía en cada caso y depende de la cantidad de automatización que se haya incorporado a la canalización de integración y distribución continuas. Muchas empresas comienzan con la incorporación de la CI, y luego van automatizando la distribución y la implementación como parte de las apps cloud nativas


La sigla CI/CD tiene diferentes significados. La "CI" en CI/CD siempre se refiere a la integración continua, que es un proceso de automatización para los desarrolladores. Si la CI tiene éxito, los cambios del código nuevo en una aplicación se diseñan, se prueban y se combinan periódicamente en un repositorio compartido. Esto soluciona el problema de que se desarrollen demasiadas divisiones de una aplicación al mismo tiempo, porque podrían entrar en conflicto entre sí.

DESARROLLADOR FULLSTACK

DESARROLLADOR FULLSTACK


Un desarrollador Full Stack es el encargado de manejar cada uno de los aspectos relacionados con la creación y el mantenimiento de una aplicación web. Para ello es fundamental que el desarrollador Full Stack tenga conocimientos en desarrollo Front-End y Back-End. Además de manejar diferentes sistemas operativos y lenguajes de programación.


Teniendo en cuenta todos estos aspectos es normal que sea uno de los perfiles más demandados por las empresas. El desarrollador Full Stack es capaz de establecer estrategias para cada parte del proceso de desarrollo web. Esto lo convierte en una figura imprescindible en las empresas con una fuerte base tecnológica.


Un programador Full Stack es un perfil híbrido entre el desarrollador Front End y Back End. Es un experto con conocimientos en diseño web, lenguajes de programación, base de datos, servidores, API’s y Sistemas de Control de Versiones.
Un desarrollador Full-Stack no necesariamente domina todas las tecnologías. Sin embargo, se espera que el profesional trabaje tanto del lado cliente como el del servidor y entienda lo que sucede al desarrollar una aplicación. Él o ella debe tener un interés genuino en todas las tecnologías de software.


Desarrollo Front End:

Escribe el código para el diseño del sitio web. Los programadores Full Stack usan tecnologías populares como HTML, CSS, JavaScript para lograr esta tarea.
Frontend es la parte de un programa o dispositivo a la que un usuario puede acceder directamente. Son todas las tecnologías de diseño y desarrollo web que corren en el navegador y que se encargan de la interactividad con los usuarios.



Desarrollo Back End :


Escribe el código que permite al usuario ingresar datos y guardarlo en las bases de datos. Para manipular los datos recopilados de los usuarios, los desarrolladores Full Stack crean los algoritmos y lógica empresarial utilizando lenguajes de programación populares como: Java, Python, Ruby, PHP entre otros.
Backend es la capa de acceso a datos de un software o cualquier dispositivo, que no es directamente accesible por los usuarios, además contiene la lógica de la aplicación que maneja dichos datos. El Backend también accede al servidor, que es una aplicación especializada que entiende la forma como el navegador solicita cosas.

Implementación de un ambiente de trabajo:

Puede crear e implementar ambientes de producción, en las que se incluiría tener una o más de los siguientes elementos: Servidores, base de datos, almacenamiento de recursos y la comunicación entre todos estos elementos.