Swift 3: Integración con tecnologías backend

Definición de servicios

¡Prueba gratis durante 10 días

nuestros 1201 cursos !

Prueba gratis Mostrar modalidades de suscripción
La parte más importante de los servicios es la definición de los endpoints, acciones y verbos HTML que vamos a utilizar. En este video revisaremos lo básico de nuestros servicios y cómo poderlos plantear de forma simple.

Transcripción

Ahora vamos a diseñar nuestra API para nuestros servicios web. Lo primero que vamos a hacer es, yo en especial voy a utilizar "RAML". ¿Por qué voy a utilizar RAML? Primero, porque me permite escribir la documentación y escribir las estructuras reutilizables a lo largo de todo mi proyecto. Por otro lado, si yo quisiera estar generando los clientes también podría utilizar ciertas herramientas para generar estas bibliotecas en donde serialicen y hagan las peticiones como yo lo necesito. Y, sobre todo, no solamente me lo permite en un solo lenguaje, sino que me lo permite en múltiples plataformas. Ahora, el sitio es "raml.org" y lo más importante es que aprendas a identificar. Hay muchísimos proyectos, hay documentadores, hay formas de compartir, hay formas de diseñar, hay formas de construir. Hay muchísimos proyectos. ¿Cómo vamos a encontrar la herramienta que necesitamos? Muy sencillo, aquí en la parte superior dice "Projects", le voy a dar clic y vas a encontrar un conjunto de bibliotecas en donde vas a poder navegar cuáles son todas las opciones que tienes para usar RAML. Una de las herraimentas que voy a utilizar se llama "API Designer". Esta herramienta es un cliente web en donde voy a poder generar la documentación. Ahora, una vez que generas la documentación puedes estar trabajando también con el "workbench" o con la consola para poder estar probando esta misma documentación, pero lo más importante es generar esta documentación como archivos estáticos de HTML y que tú los puedas compartir tal vez con un equipo externo, otra compañía o que los publiques en tu sitio. Además, por ejemplo, si le doy clic aquí en donde dice Ruby, vamos a filtrar por Ruby, te vas a dar cuenta que vas a encontrar proyectos en donde va a tomar tu API de Ruby y la va a exponer como documentación de un API. Es muy importante que identifiques cuáles son las necesidades que vas a tener en tu proyecto. Ahora, una vez que estás aquí en "API Designer" le vas a dar clic en "Try out" y te va a abrir esta ventana en donde te va a llevar al diseñador de "MuleSoft". Este es el "API Designer" tú lo puedes probar básicamente, es muy sencillo, te tienes que registrar le puedes dar aquí en donde dice "Try now" te va a llevar a esta pestaña, te registras y después generas un proyecto. Cuando ya generes un proyecto te va a mostrar algo así. Este proyecto en realidad es la documentación que yo estoy realizando para nuestro proyecto. En nuestro proyecto, si bien recuerdas, tenemos una lista de usuarios y tenemos un usuario que está subiendo y bajando información básica. ¿Qué es lo más importante? Bueno, ¿recuerdas que nuestros APIs deberían tener una versión? Pues aquí le colocas la versión, puede ser 1, 2, 3 y vas a ir generando diferentes versiones dentro de esta misma aplicación. Básicamente, aquí puedes ir cambiando cuál es el estado de tu API y de tu documentación. Por otro lado, aquí defino cuáles son los tipos con los que voy a estar trabajando. Obviamente, nuestra aplicación es muy pequeña, nada más voy a estar trabajando con "user" pero también puedo definir un conjunto de usuarios. Este conjunto de usuarios va a ser un arreglo de las mismas propiedades que tenga el tipo "user". Y bueno, aquí abajo estoy definiendo cuáles son los "end points" o las URLs a las cuales voy a estar haciendo simples peticiones y que me van a estar regresando algún tipo de información. Por ejemplo, si yo pido "users/" con el método "get" la respuesta en el caso de que sea 200 en su cuerpo va a ser de tipo JSON y me va a regresar el "user". Del lado derecho voy a poder ver que tengo aquí este tipo de recursos dice "users/" y es de tipo "get". Si yo le doy clic al botón azul, voy a poder darme cuenta que estoy recibiendo un arreglo de usuarios y si le doy clic a este de usuarios me va a desplegar cuál es la información de cada uno de sus objetos. Esto es porque yo lo tengo muy bien diseñado, ya nada más está exponiendo cuál es la estructura de cada uno de los elementos. Ahora, lo más importante es que si yo tuviera este API arriba en un servidor o con esta URL, que en realidad ahorita es falsa, pero imagina que si tienes tu servidor ya puesto en producción y le diera a "try it" lo que va a hacer es que va a intentar hacer la petición y va a regresar de una manera en la cual me va a simular esta respuesta. Por eso es que en realidad me gusta muchísimo esta herramienta, porque yo la diseño, la pruebo, la documento e incluso puedo ver los resultados de las peticiones aquí mismo. Ahora, vamos a seguir bajando ¿qué te parece aquí? Yo tengo una petición, "users/" y le paso un número dependiendo del número, para mí ese número va a ser el "ID" del usuario y por lo tanto, va a ir a buscarlo a la base de datos y me lo va a traer. Puede ser el "ID", puede ser el nombre o lo que tú quieras dependiendo cómo lo diseñes. En nuestro vaso va a ser el "ID" y sigue más o menos el mismo flujo. Si la petición es "get" y la petición da 200 y en el cuerpo de la respuesta va a ser de tipo "Application JSON" y voy a regresar al usuario. Por otro lado, también puede pasar que yo tengo en el "body" de mi petición, tal vez una propiedad que es el "username", quiere decir que si yo "user/1/friends" le hago una petición "post" y dentro del "post" hay un JSON y dentro del JSON tengo una propiedad que dice "username" y que es de tipo de cadena, lo que me va a responder en caso de que sea 200 en el cuerpo de la respuesta, va a ser un tipo de usuario. Es simplemente qué es lo que estoy pidiendo y qué es lo que me está regresando. Por otro lado, un ejemplo un poco más sencillo son las sesiones. Si yo hago una petición de tipo "post" en el cuerpo de la petición es un JSON y este JSON trae dos llaves, "username" y "password" de tipo "string", en caso de que todo salga bien, en caso de que yo regrese 200, lo que va a hacer es que me va a regresar un JSON con la llave "token" y una cadena. Si te fijas, y yo le doy clic aquí en la parte derecha, si yo pido estas sesiones me va a regresar aquí todo el tipo de parámetros que necesito enviarle dentro del "request" y lo que voy a recibir en caso de un valor 200 en la respuesta. Esta documentación en realidad es muy sencilla pero imagina que vas a ir agregando muchísimos documentos y muchísimos archivos a este tipo de formato. Es muy importante que tú sepas qué es lo que necesitas cómo vas a estar exponiendo estos recursos, si son vistas, si son usuarios, si son objetos de modelo. Lo más importante es que una vez que tienes claro esto, el equipo de "backend" y el equipo de "frontend", va a tener que comunicarse a través de esta documentación y cualquier cambio que haga el equipo de "backend" o que el equipo de "frontend" necesite para poder construir el sistema ser tiene que documentar y se tiene que actualizar. Esta es una tarea muy sencilla con este tipo de herramienta. Pero como te repito, no es necesario que estés utilizando RAML para esto, con que tú te acerques y lo escribas en un documento donde dejes muy claro qué es lo que hace cada servicio es más que suficiente. Esto te va a servir más como una herramienta para generar grandes documentaciones con grandes peticiones y muchos tipos de peticiones y respuestas dentro de tu sistema.

Swift 3: Integración con tecnologías backend

Aprende a vincular tus aplicaciones web creadas con Swift 3 con el servidor, comienza a enviar información entre ambos y aprovecha esto al máximo dentro de tus sistemas.

3:08 horas (27 Videos)
Actualmente no hay comentarios.
 
Fecha de publicación:4/04/2017
Duración:3:08 horas (27 Videos)

Este curso video2brain está disponible como descarga y para ser visualizado online. ¡Pero no hace falta que decidas entre las dos opciones! Al comprar el curso, disfrutarás de ambas posibilidades.

La descarga te permite ver las lecciones sin estar conectado/a a internet y supone una navegación fácil y ágil entre capítulo y capítulo. Si vas a trabajar en diferentes ordenadores o si no quieres descargarte el curso completo, entra en la web con tus datos de acceso y disfruta directamente de tus vídeos online. Te deseamos que disfrutes de este curso y te resulte de mucha utilidad.

Estamos a tu disposición si tienes cualquier tipo de duda o pregunta.