Anunciando soporte oficial de gRPC para Dart

gRPC es un framework RPC de alto rendimiento y código abierto. Ofrece definiciones de servicio simples, está construido sobre http/2, y tiene soporte para…

El logo de gRPC.

gRPC es un framework RPC de alto rendimiento y código abierto. Ofrece definiciones de servicio simples, está construido sobre http/2, y tiene soporte para streaming bidireccional y autenticación conectable totalmente integrada. El framework gRPC soporta una amplia gama de lenguajes, ¡y estamos felices de anunciar que el soporte para el lenguaje Dart ya está disponible en beta! El soporte de gRPC para Dart funciona con el SDK de Dart, versión 1.24.3 o superior, y actualmente soporta las plataformas Flutter y VM/Server.

Crear un servidor y escribir definiciones de servicio gRPC

#

Los servicios gRPC típicamente describen sus endpoints y la serialización de datos usando Protocol Buffers v3. Aquí hay un pequeño ejemplo de definición de servicio que define un servicio 'Greeter' con un único mensaje rpc 'SayHello' (el número '1' en los dos mensajes especifica el ID único del campo del mensaje):

Una vez que hayas definido el servicio, puedes generar automáticamente el esqueleto del servidor:

protoc --dart_out=grpc:generated -Iprotos protos/greeter.proto

Esto producirá una clase GreeterServiceBase en el directorio generado, que luego subclasificas para añadir la implementación real del servicio:

Llamar al servidor con un cliente gRPC

#

Cuando generamos los stubs del servicio arriba, el compilador protoc también generó una biblioteca cliente:

Con eso, llamar al servicio desde el lado del cliente es simple:

Al ejecutarse, esto imprimirá la siguiente salida:

Greeter client received: Hello, Michael!

Próximos pasos

#

Para comenzar con gRPC en Dart, por favor revisa nuestro nuevo QuickStart de gRPC para Dart, que te guía a través de la ejecución y extensión del ejemplo Greeter. Luego, consulta el tutorial de gRPC para Dart.

Si encuentras algún problema, por favor abre un issue. También nos gustaría mucho escuchar tus comentarios sobre cualquier cambio o adición que te gustaría ver; por ejemplo, hemos recibido varias peticiones para soportar el protocolo gRPC-Web. Una forma concreta de ofrecer feedback rápido es 'votar' en un issue presionando el botón de pulgar arriba 👍 de GitHub en el comentario principal de un issue.

¡Esperamos ver qué podrías construir con gRPC para Dart!

Más de Dart