No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

¿Cómo es el flujo de desarrollo de una aplicación web?

6/12
Recursos

Aportes 47

Preguntas 2

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Regístrate o inicia sesión para participar.

Creo que este curso es esencial que sea el primero en cualquier learning path de desarrollo tanto front como back. Justo después del de Fundamentos de Freddy
De mi experiencia aquí, les recomiendo que vean estos dos y, justo después inicien a la par de cualquier lenguaje, el de git porque hacer primero git luego tiende a olvidarse el principio y qué mejor si lo practicas a la par que aprendes un lenguaje

La famosa nube 😮

Así se vería lo que llamamos nube, lo que realmente son servidores o computadoras trabajando 24/7 .

Es importante aclarar que Continuos Delivery y Continous Deployment no son términos intercambiables sino diferentes 😄 Acá un poco más de detalle: https://platzi.com/blog/continuous-integration-continuous-delivery-y-continuous-deployments/

Cortesía del profesor facundo

Al crearse una cuenta en GitHub tienen acceso a GitHub Pages, este les brindara un dominio para hacer deploy de su proyecto GRATIS!

6. ¿Cómo es el flujo de desarrollo de una aplicación web?

Entorno local (Editor de Código → Git → mi local) Pasar del entorno local al servidor se llama deploy.

Normalmente se hace un push a un repositorio remoto (Github), el cual es un servidor que solo contiene el código de tu proyecto.

Cada vez que uno trae código de Github a un entorno local es un pull.

Lo que se hace normalmente en un entorno profesional es CI/CD (Continuous Integration and Continuous Delivery) o Continous Deployment. Se prueba (testea), si funciona bien, el código se va a al server (production).

El proyecto se guarda en production en un domain (dominio).

Se puede comprar un dominio, por ejemplo en namecheap.

En mi computadora, las cosas van a vivir en un entorno local:

Dirección y puerto, por ejemplo:

127.0.0.1 : 8000
    IP      Port

Mi pequeño apunte =)

Espero les sea útil

Deploy es el proceso de llevar nuestro código desde nuestra computadora al servidor
Para hacer deploy se hace para hacer este deploy es haciendo primero push a un repositorio remoto. Github es un servidor como el que vive en nuestra aplicación, es el contiene el código de nuestro proyecto y sirve para que ese código pueda ser compartido por cualquiera si se trabaja con un código abierto que puede ser editado por muchas personas a la vez.
Cada vez que uno trae el código de Git Hub se hace un Pull
Desde GitHub cuando estamos en un entorno profesional se hace un CI / CD , deploy continua y continua integración, este proceso toma el código que escribo y prueba que el código este funcionando bien, si esta bien ahora si el código va al servidor y se completa el proceso de Deploy , así funciona el proceso de desarrollo de una aplicación Web.
Los dominios se compran, si se quiere hacer un proyecto web hay que comprarlo.
en nuestra computadora las cosas viven en el contorno local, este entorno local en vez de estar formado por un dominio esta formado por una dirección IP y un Puerto, ambas están formados por números a estas se le llama LocalHost

no comprendi muy bien lo de CI/CD pero como dice Facundo en un futuro lo aprenderé

Flujo de Desarrollo de una Aplicación

Production, Deploy (desplegar, “deployar”), localhost, puerto, etc…

  • Empieza en entorno local

    Localhost: IP + Port: “127.0.0.1:800”

    • Editor de codigo, IDE (Atom, VSCode, SublimeText, VIM)
    • Sistema de control de versiones GIT
    • Browser, interfaz o API funciona, endpoint
  • Server (disponible para el mundo) → PRODUCTION Dominio “HTTPS://myapp.com

Deploy: proceso desde el entorno local (PC) al server

push: “enviar codigo” a GitHub donde se comparte con el equipo de desarrollo

pull: “traer codigo” de GitHub, se trae desde el repositorio hacia tu PC

CI/CD " Continuos Delivery y Continous Deployment", Testear si el código funciona, si es así, se envía al servidor

Flujo de desarrollo

El entorno local se compone de una IP y un Port.

Deploy es el proceso de traspasar el código de mi laptop al server. Desde el entorno local al repositorio global pull/push. A través de CI y CD se realiza el deploy desde el repositorio global al server.

CI Continuous Integration CD Continuous Delivery se refiere a aplicar la automatización en la construcción, las pruebas y en el despliegue de la aplicación.

¡Este es mi actual profesor favorito de platzi es que es buenisimo, casi que me hago el curso (de cosas que quizas ya se) solo porque es un curso de este profe!

¿Cómo es el flujo de desarrolo de una aplicación web?
-Terminos: Production, Deploy, localHost, puerto.
-VsCode-Editor de código.
-Sistema de control versiones con GIT
-Navegador.
-Una aplicación se coloca en un servidor (Production)
-El proceso de pasar una aplicación del entorno local a production
se llama Deploy
-Para hacer un Deploy se debe hacer un push a un repositorio remoto-GitHub
-GitHub es un servidor que contiene tu código.
-Desde GitHub hacemos algo que se llama CI/CD
-CI/CD Continuous integration /Continuous deploy-Delivery-Toma el código escrito en el entorno local
y testearlo, si está ok, se va al servidor y se completa el proceso de deploy.
-El servidor guardar tu aplicación en un dominio, ejemplo: HTTP://myapp.com
-En la computadora, las cosas van a vivir en un entorno local.
-localHost - 127.0.0.1 : 8000

esta clase teórica me resolvió un montón de dudas, gran forma de explicar 😄

Jamás me imagine que el flujo de una aplicación fuera tan impresionante! Git lo conocí desde este año utilizando visual studio code, para después subir cada proyecto en GitHub. Pero CI/CD me ha dejado :0

La clase dura 10 minutos pero use 100 minutos para asimilar y entender los conceptos, antes pensaba que el desarrollo web era solo hacer paginas bonitas para empresas, hoy en dia queda claro que el desarrollo web es de lo más fundamental y necesario en el mundo de la programación

La verdad buen curso para inicio en este fascinante mundo de la programación/desarrollo. Soy de los que creen en las bases teóricas para afianzar los conocimientos y plantar el terreno para un crecimiento profesional.
Facundo se hace entender muy bien y aquí muestra ese panorama general que debemos tener claro los que queremos seguir en esta área de la tecnología.
Ánimo para todos y a seguir aprendiendo: “el día que dejas de aprender dejas de crecer”

Aunque el curso dice Introducción a Backend concuerdo con algunos comentarios que eh leído, debería ser de los primeros cursos en el desarrollo web porque muchas dudas se me están aclarando y aunque en éste momento me eh enfocado más en el Front pude entender muchas más cosas para ir llenando huecos de conceptos y cosas que ahora sé que me faltan aprender y complementar para lograr mi objetivo.

Ojo, las IP son 4 numeros de 0 a 255 separados por puntos. Esas son las IP clásicas IPv4 Pero las direcciones están agotadas para IPv4 y en el futuro tendremos que usar las direcciones IPv6, que son mucho mas complicadas.

Esta clase es un magnífico resumen del curso de Git & GitHub. El proceso de desarrollo es fundamental en todo entorno de trabajo de software.

puerto: identificador de una aplicacion que esta corriendo

Gran curso.

Gracias

Muy buena explicación, normalmente no te muestran como se ve el flujo del desarrollo, no obstante, la explicación esta muy clara es más fácil poder determinar en qué se debe trabajar así como también los conceptos que se hace referencia como un todo en el flujo, suman considerablemente.

gratamente sorprendido con esta explicación. Un gran profesor.

Me encanta esta aclaración de conceptos, ya que muchas veces tenemos la idea y no sabemos el nombre especifico, también hay conceptos que personalmente no lo conocías o si lo hacia no los tenia claros

## Importancia de los Puertos Los puertos son diferentes "enchufes" a tu computadora. Ya que tu computadora o un servidor en general almácena y corre diferentes aplicaciones, debes determinar por cual canal (puerto) cada aplicación se comunica con la red. De esta forma conectas las peticiones desde o hacía internet por el "enchufe" adecuado y garantizas que la comunicación esté correcta. Ejm: si corres una API y la base de datos de tu aplicación en el mismo puerto va a existir un error, debes ubicarlas en puertos diferentes.

CI (Continua integración)

CD (Deploy Continuo)

Tambien hay gente de Java! jaja. puro Python huevon jaja

Excelente explicación

Resumen

Cuál es el flujo de desarrollo de una app?

Deploy significa enviar tu desarrollo a un servidor
El flujo es ir desde tu LOCAL (trabajando con tu browser, editor y git)
hacia Github utilizando push (y Pull para traer cambios que pudiera
haber hecho algún colaborador)

Nube y Github son servidores. Github solo contiene tu código
Desde Github, se ejecuta CI/CD ( Continous Integration / Continous Deployment / Continous Delivery - )
Estas tres cosas NO son lo mismo!
--> ver  en
 https://platzi.com/blog/continuous-integration-continuous-delivery-y-continuous-deployments/

CI/CD se trata de testear el proyecto, ver si funciona.
En ese caso, se completará el proceso de Deploy

El servidor guardará tu app o web en un dominio(nombre.algo)

En tu entorno local en cambio tu proyecto vivirá en el Local Host, conformado por una dirección IP(cuatro espacios divididos por tres puntos, ver imagen) y un puerto (casi siempre 8000)


De todo lo explicado en la clase jamas habia escuchado eso de CD y CI de ahi lo demás ya tenia conocimiento y sobre Git ya habia realizado el curso de Freddy por lo que entendi sin problemas la parte cuando hablan de Push y Pull

Me doy cuenta que el término NUBE se viene utilizando mucho después del despliegue e implementación de los Data Centers.
Considero que NUBE viene a referirse a toda esa infraestructura VIRTUAL para los usuarios como nosotros, o sea sabemos que existen, están en algún lugar físicamente pero solo accedemos a ellos de manera lógica, interactuando en algún request / response.
Saludos

wow, he escuchado estos términos entre los desarrolladores de la empresa donde trabajo. Ahora me queda todo claro!!! : )

Deploy es el proceso de llevar tu proyecto desde tu computador al servidor, y no se debe hacer directamente.
1RO se debe hacer push a un repo en GitHub.
2DO desde GitHub se hace ci/cd al servidor.
3RO el servidor guarda el proyecto bajo un dominio.

muy buen curso para tener claro muchos temas en la web

Wow, hasta ahorita entendí el deploy

Ahh interesante el flujo de desarrollo… No me habia quedado claro como es que era el proceso de deploy hasta esta clase. Muy bueno!

profe: "deployar esta mal dicho"
tambien profe: “las librerias” , library == biblioteca
xD

Esto se entiende mucho mejor con la practica. Si ya han hecho deploy de algún proyecto, todo hace total sentido

en freenom hay dominios grátis

Estaría bien un curso sobre CI y CD implementados en un proyecto, usando alguna herramienta como jenkins… es un plus en muchas empresas.
Como siempre, muy buen contenido los del profe Facundo.

Han pensado en hacer la escuela de Sistemas con este tipo de explicaciones del gran Profe Facundo?, sería fenomenal y muy comprensible.

Estoy impresionado con las habilidades de dibujo de Facu. jajaja