Fundamentos del desarrollo Web
Frontend y Backend
- Frontend
- Se puede hacer con:
- Es la cara visible de la aplicación
- También tenemos Librerías y frameworks para facilitar tareas.
- Empieza con el diseño de la aplicación.
- Backend
- La lógica de la aplicación.
- Se puede hacer con la mayoría de los lenguajes populares.
- Estos tienen sus frameworks/librerías para facilitar tareas.
Framework vs librería
- librería.
- Código hecho por otra persona para hacer algo.
- Framework.
- Es un marco de trabajo, conjunto de reglas para hacer algo.
- Podrían definirse como un conjunto de librerías.
Cómo se conecta el frontend con el backend
- Se usan las API.
- Application Programming Interface
- Nos permite que el frontend y el backend se comuniquen.
- Hay dos estándares.
- SOAP
Simple Object Acces Protocol
- Mueve la información con XML.
- REST
Representational state transfer
- Mueve la información con JSON.
HTTP: el lenguaje que habla internet
Hypertext Transfer Protocol
- Cliente y Servidor.
- Es un protocolo.
- Es un conjunto de reglas.
- Tenemos una
request y una response
- Ambos hablan HTTP.
- Tienen cabeceras.
- Tenemos diferentes métodos para mandar la información.
- Códigos de estado:
- 1xx : mensaje informativo.
- 2xx : éxito.
- 3xx : Redirección.
- 4xx : Error del cliente.
- 5xx : Error del servidor.
El servidor:
- también llamado la nube.
- es una computadora que contiene una aplicación y la distribuye en
internet.
- Y nos permite mediante HTTP traer la aplicación a mi computadora
(cliente).
IaaS
- Infraestructura como servicio.
- Nos prestan el hardware que necesitemos.
- Ejemplos: AWS, Azure, Digital Ocean
- Dos tipos:
VPS:
Virtual private server
- Un solo servidor dedicado para tu aplicación.
Shared Hosting
- Se comparten los recursos del servidor entre varios clientes.
PaaS
- Plataforma como servicio.
- Nos permite elegir que cosas necesita nuestra aplicación para
funcionar.
- Solo hacemos deploy.
- Ejemplos: Google AppEngine, Firebase, Heroku.
SaaS
- Software como servicio.
- Nos prestan el software.
- Generalmente son
no code.
- Ejemplos: Google Docs, Slack, WordPress.
Diseño de una API
Diseño y bosquejo de API:
Twitter clone.
- En python tenemos 3 opciones:
EndPoint o Ruta o Path.
- Es una sección de la URL del proyecto
- En este caso
HTTP://twiter.com/[endpoint].
- Nuestra aplicación tendrá el
EndPoint base /api/
Diseñando los endpoints de los tweets
- CRUD.
- Create
- Read.
- Update.
- Delete.
EndPoints
/tweets
- Muestra todos los tweets.
- Read
/post
/tweets/{tweetId}
/tweets/{tweetId}/update
/tweet/{tweetId}/delete
Diseñando los EndPoints para los usuarios
- Modelos
- Son tipos de datos en particular que voy a usar en la aplicación.
- Corresponden a una o más tablas de SQL
- Cada uno de los endpoints nos va a dar un JSON.
/users
- Muestra todos los usuarios.
- Read
/signup/
- nos permite registrar un usuario.
- Create
/users/{userId}
/users/{userId}/update
- Actualizar un usuario.
- Update
/users/{userId}/delete
- Borra un usuario.
- Delete.
aa