La CLI buf
es la mejor herramienta para trabajar con Protocol Buffers. Proporciona:
Puedes instalar buf
usando Homebrew (macOS o Linux):
brew install bufbuild/buf/buf
Esto instala:
buf
, protoc-gen-buf-breaking
y protoc-gen-buf-lint
Para conocer otros métodos de instalación, consulte nuestra documentación oficial, que cubre:
buf
a través de npmbuf
en Windowsbuf
como imagen de DockerLa interfaz de ayuda de Buf proporciona resúmenes de comandos e indicadores:
buf --help
Para obtener información de uso más completa, consulte la documentación de Buf, especialmente estas guías:
buf breaking
buf build
buf generate
buf lint
buf format
buf registry
(para usar BSR) Nunca realizaremos cambios importantes dentro de una versión principal determinada de la CLI. Después de que buf
alcanzó la versión 1.0, no puede esperar cambios importantes hasta la versión 2.0. Pero como no tenemos planes de lanzar una versión 2.0, probablemente nunca romperemos la CLI buf
.
Esta política de cambios importantes no se aplica a los comandos detrás de la puerta
buf beta
, y debe esperar cambios importantes en comandos comobuf beta registry
. Sin embargo, la política entra en vigor cuando esos comandos o indicadores salen de la versión beta.
El objetivo de Buf es reemplazar el paradigma actual de desarrollo de API, centrado en REST/JSON, con un paradigma basado en esquemas . Definir API utilizando un IDL proporciona numerosos beneficios sobre REST/JSON, y Protobuf es, con diferencia, el IDL más estable y ampliamente adoptado en la industria. Hemos elegido construir sobre esta base ampliamente confiable en lugar de crear un nuevo IDL desde cero.
Pero a pesar de sus méritos técnicos, utilizar Protobuf ha sido durante mucho tiempo más desafiante de lo necesario. Buf CLI y BSR son las piedras angulares de nuestro esfuerzo por cambiar eso para siempre y hacer que Protobuf sea confiable y fácil de usar tanto para los propietarios de servicios como para los clientes; en otras palabras, crear un ecosistema de Protobuf moderno .
Si bien tenemos la intención de mejorar gradualmente la CLI buf
y el BSR, confiamos en que ya se han establecido las bases básicas para dicho ecosistema.
Buf Schema Registry (BSR) es una plataforma SaaS para administrar sus API de Protobuf. Proporciona un registro centralizado y una única fuente de confianza para todos sus activos de Protobuf, incluidos no sólo sus archivos .proto
sino también los complementos remotos. Aunque BSR proporciona una interfaz de usuario intuitiva para el navegador, buf
le permite realizar la mayoría de las tareas relacionadas con BSR desde la línea de comandos, como enviar fuentes de Protobuf al registro y administrar usuarios y repositorios.
No es necesario que el BSR utilice
buf
. Hemos puesto las funciones principales de la CLIbuf
a disposición de todos los usuarios de Protobuf.
Si bien las funciones principales de buf
deberían cubrir la mayoría de los casos de uso, hemos incluido algunas funciones más avanzadas para cubrir los casos extremos:
.proto
de acuerdo con la configuración de compilación proporcionada, lo que significa que ya no necesita especificar --proto_paths
manualmente. Sin embargo, aún puede especificar archivos .proto
manualmente a través de indicadores CLI en los casos en que sea necesario deshabilitar la detección de archivos.buf
genera información en file:line:column:message
de forma predeterminada para cada error de pelusa y cambio importante que encuentra, pero también puede seleccionar la salida de acciones JSON, MSVS, JUnit y Github.buf
. Actualmente ofrecemos integraciones de linting para Vim y Visual Studio Code y IDE de JetBrains como IntelliJ y GoLand, pero planeamos admitir otros editores como Emacs en el futuro..proto
locales sino también en una amplia gama de otras entradas, como archivos tarball y ZIP, repositorios Git remotos y archivos de imágenes prediseñados.protoc
. Esto permite recibir comentarios casi instantáneos, lo cual es de especial importancia para funciones como la integración del editor. Una vez que haya instalado buf
, le recomendamos completar el tutorial de CLI, que proporciona una descripción general amplia pero práctica de la funcionalidad principal de CLI. El recorrido dura unos 10 minutos en completarse.
Después de completar el recorrido, consulte el resto de los documentos para sus áreas de interés específicas.
Para obtener ayuda y debates sobre Protobuf, mejores prácticas y más, únete a nosotros en Slack.
Para obtener actualizaciones sobre Buf CLI, siga este repositorio en GitHub.
Para solicitudes de funciones, errores o preguntas técnicas, envíenos un correo electrónico a [email protected]. Para consultas generales o inclusión en nuestras próximas versiones beta de funciones, envíenos un correo electrónico a [email protected].