Skills que aprenderás
Convocatorias
No hay convocatorias abiertas ahora mismo, pero no te pierdas la oportunidad: guarda este curso y te avisamos en cuanto se abra una convocatoria.
Recursos
No hay recursos disponibles todavía para esta convocatoria
Este curso está dirigido a desarrolladores con conocimientos básicos de programación que quieran incorporar gRPC a su stack tecnológico partiendo desde cero. A lo largo de ocho horas los participantes explorarán los fundamentos conceptuales del protocolo, comprenderán el papel de Protocol Buffers como mecanismo de serialización y contrato de interfaz, y pondrán en práctica el ciclo completo de desarrollo en Go: definir un servicio en un archivo .proto, generar el código con protoc y sus plugins, levantar un servidor que registre ese servicio y consumirlo desde un cliente que realice una llamada unary real. Al finalizar, cada persona será capaz de construir y ejecutar de forma autónoma un sistema cliente-servidor gRPC funcional en un entorno local, interpretando los mensajes de error más habituales para resolverlos con criterio.
.proto..proto..proto utilizando protoc junto con los plugins protoc-gen-go y protoc-gen-go-grpc..proto, incluyendo mensajes de request y response con campos correctamente tipados.Bloque 1 — gRPC en contexto: fundamentos y comparativa con REST. El curso arranca situando gRPC dentro del panorama actual de comunicación entre servicios. Se analiza en detalle qué diferencia a gRPC de REST en cuanto a protocolo de transporte (HTTP/2 frente a HTTP/1.1), formato de serialización binaria versus texto plano y la naturaleza del contrato de interfaz estático que impone gRPC. Los participantes elaboran un cuadro comparativo que fija estos conceptos antes de avanzar. A continuación se presentan los cuatro tipos de comunicación disponibles —unary, server-streaming, client-streaming y bidireccional— identificándolos a partir de fragmentos reales de archivos .proto, de modo que quede claro qué patrón elegir según el flujo de datos requerido.
Bloque 2 — Protocol Buffers: el lenguaje del contrato. Este bloque profundiza en Protocol Buffers como sistema de serialización y definición de contratos. Se explica qué representa cada elemento de un archivo .proto: la declaración de paquete y opciones de generación, la estructura de un mensaje con sus campos tipados y numerados, y la definición de un servicio con sus métodos RPC. Los participantes redactan de forma guiada un archivo .proto que modela un servicio unary sencillo, con al menos un mensaje de request y uno de response, consolidando así el lenguaje antes de pasar a la generación de código.
Bloque 3 — Generación de código y toolchain. Con el contrato definido, el foco se traslada a la cadena de herramientas. Se instalan y configuran protoc, protoc-gen-go y protoc-gen-go-grpc, y se ejecuta la compilación para obtener los archivos Go generados. El bloque dedica tiempo a leer e interpretar el código producido —interfaces, estructuras de mensaje y métodos de registro— para que los participantes entiendan qué genera cada directiva del .proto y no traten el código generado como una caja negra.
Bloque 4 — Servidor, cliente y diagnóstico de errores. El bloque final integra todo lo aprendido en un sistema funcional. Primero se implementa un servidor gRPC en Go: se crea la estructura que satisface la interfaz generada, se registra el servicio y se verifica que el servidor arranca y escucha sin errores. Después se construye el cliente que establece la conexión, instancia el stub y realiza la llamada unary imprimiendo la respuesta en consola. El bloque cierra con un ejercicio de diagnóstico en el que, a partir de mensajes de error reales —paquete no encontrado, servicio no registrado, puerto incorrecto—, los participantes localizan la causa raíz y aplican la corrección correspondiente.
PATH.protoc (Protocol Buffers compiler) versión 25 o superior.protoc-gen-go y protoc-gen-go-grpc instalados vía go install.go mod tidy durante las prácticas.