-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Stubbing out the aep tooling list #238
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
@@ -1,11 +1,16 @@ | ||||||
# Adopting AEPs for your company | ||||||
|
||||||
Currently, we encourage adoption of AEPs via having your APIs adhere to the | ||||||
guidance served at https://aep.dev. | ||||||
By adopting the guidelines from the API Enhancement Proposals, you establish a much | ||||||
tighter and efficient possibility space. APIs that follow the | ||||||
[AEP guidance](https://aep.dev) from the design stage: | ||||||
|
||||||
In the future, we plan to introduce a broader ecosystem of tooling including: | ||||||
- are more consistent within and across teams, reducing cognitive load for API consumers | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
double space |
||||||
- reduce arguments about API design decisions, thanks to the AEP specification, tools, and exemplar design patterns | ||||||
|
||||||
- A forkable repository which allows for internal mirrors and | ||||||
organization-specific guidance. | ||||||
- Client-side and server-side code generators. | ||||||
- Validators to ensure adherence to the specification. | ||||||
Having an AEP-compliant API also means benefitting from the AEP ecosystem of tooling, such as: | ||||||
|
||||||
- Linters and validators to ensure adherence to the AEP design specification [proto]()/[openapi]() | ||||||
- A command line tool interface genreator that make it easier to work with APIs ([aepcli](https://github.com/aep-dev/aepcli)) | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
I think "dynamic" is important here - it implies it get change without code changes (e.g. parsing and generating static code that has to be distributed and released. |
||||||
- Client-side and server-side code generators ([aepc](https://github.com/aep-dev/aepc)) | ||||||
- A Terraform provider ([terraform-provider-aep](https://github.com/aep-dev/terraform-provider-aep)) | ||||||
- ... and more! Please start a [discussion](https://github.com/aep-dev/aep.dev/discussions) if there is something you wish to see, validate, or prioritize. |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,22 +1,22 @@ | ||
# Frequently Asked Questions | ||
|
||
## What is the difference between aep.dev and google.aip.dev? | ||
## What are the differences between AEPs and AIPs? | ||
|
||
As aep.dev is derived from [google.aip.dev](https://google.aip.dev), a lot of | ||
content will be familiar. | ||
If you are familiar with Google's API Improvement Proposals | ||
[google.aip.dev](https://google.aip.dev), then much of the | ||
[API Enhancement Proposals](https://aep.dev) content will be familiar. | ||
|
||
However, aep.dev has significant philosophical differences: | ||
However, AEPs have notable philosophical differences, including: | ||
|
||
- aep.dev prioritizes broadly applicable design guidance, while google.aip.dev | ||
prioritizes design guidance this best for Google, such as guidance that is | ||
backwards-compatible with existing decisions at the company. | ||
- aep.dev is protocol-agonistic, and considers gRPC and HTTP + JSON as | ||
first-class protocols for which examples and other content will be authored. | ||
- google.aip.dev encourages forking the guidance, while aep.dev focuses on a | ||
set of core specification that should not be forked, paired with a method to | ||
add organization-specific guidance that does not contradict the | ||
specification. | ||
- AEPs prioritize broadly applicable design guidance for any company, while AIPs | ||
prioritized design guidance specifically for Google (e.g., providing | ||
backwards-compatibility with prior decisions to meet Google-specific needs). | ||
- AEPs are protocol-agonistic and consider both gRPC and HTTP+JSON as | ||
first-class protocols for which examples and other content are necessary. | ||
- AEPs focuses on a core specification that is not intended to be forked, paired with a | ||
mechanism for optional organization-specific guidance to extend the | ||
specification. AIPs encourage forking its guidance outright. | ||
|
||
aep.dev also has the advantage of hindsight, which makes it possible in some | ||
cases to provide better guidance than google.aip.dev. (One small example: | ||
AEPs also have the advantage of hindsight, which makes it possible in some | ||
cases to provide better guidance. (One small example: | ||
renaming `page_size` to `max_page_size` for requests to paginated API methods.) | ||
earth2marsh marked this conversation as resolved.
Show resolved
Hide resolved
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.