Compatibility/incompatibilities with AIP.dev? #401
Replies: 2 comments
-
|
Hi there! confusion with aip.dev is a common point.
AIP toolsCan you clarify what you mean by "AIP tools"? The main one I am aware of is the AIP linter (https://linter.aip.dev/), although there are other parts of the ecosystem, such as the There are other tools that interoperate, like the gapic generators (https://github.com/googleapis/gapic-generator), which primarily serve the interests of Google. Some companies, such as Roblox, have forked them, but there is no publicly consumable repository I'm aware of. I was the maintainer of aip.dev throughout 2020, so things may have changed since then, but this was my understanding of the OSS ecosystem. AEP tools and ecosystemIn contrast to the aip tools, the AEPs provide the following:
|
Beta Was this translation helpful? Give feedback.
-
For the AEPs, we purposefully only ported those that we felt were critical for an API specification. There are some more nuanced AIP best practices that we considered important (beta-blocking changes, stability levels, etc) that we did not prioritize. What the AEPs have that AIPs don't:
I don't think using the number of AIPs vs AEPs would be a good way to understand the relative depth and value of the guidance - there are several AEPs that we have clarified an extended beyond what the AIPs have (generic fields, adding apply methods, clarification on edge cases around (see aep-2026 (view) for a few). I'd propose looking at individual proposals / pages to make that evaluation. AIP-AEP compatiblityA lot AIP-based APIs, when exposed through a gRPC-http proxy using the google.api.http annotations, will probably work out of the box with AEP tooling without any changes. However, if you're building a new API and intend to leverage the tooling, I'd strongly recommend starting with the AEP guidance: many parts are similar, and the AEP tools have guaranteed compatibility with them.
If there's a specific AIP you're missing, you could either raise that as an issue / slack message and we'll be happy to look at adding it! Or feel free to send a PR yourself. I'd suggest that over supplementing with AIPs, primarily to avoid any possible compatibility issues. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
I have a working knowledge of AIP.dev, and just today I discovered AEP.dev. I see AEPs are officially inspired/forked from AIPs; but I'm super confused about the practicalities. My initial questions include most notably:
Beta Was this translation helpful? Give feedback.
All reactions