Consistency, Coupling, and Complexity at the Edge
Какую организацию API выбрать для проекта: RestAPI или GraphQL?
Rest API удобен для использования в сервисах и проектирования сервисов. Но не удобен для GUI т.к. REST предполагает разделение сущностей на отдельные ендпоинты, а в GUI мы хотим видеть все и сразу.
GraphQL удобен для GUI за счет того, что можно просто описать, что нужно показать, а там оно уже само разберется. Но это неудобно для сервисов.
Но почему нам стоит выбирать между REST и GraphQL? Почему не взять лучшее из обоих.
Если REST подходит для проектирования сервисов и использования в сервисах то давайте его там и использовать.
Если GraphQL удобен для GUI то давайте его использовать для конечных приложений (web, ios, android, etc).
Мы можем последовать Separation of Concerns принципу и использовать те инструменты, которые лучше подходят контексту.
Мы можем проектировать внутренние сервисы на REST, но делать отдельные bff для приложений, которые внутри уже используют то, что удобно им. Например, GraphQL.
