Falcor GraphQL в большом проекте
Я прочитал много статей о Falcor и GraphQL. И никто не может сказать, как они помогают в больших проектах! Я давно использую Redux + React (также RESTAPI), не могу понять, что БОЛЬШАЯ проблема Falcor и GraphQL решают.
Кто-то может объяснить это очень простым способом?
1 ответ
Когда вы пытаетесь понять новую вещь, такую как GraphQL, это помогает сравнить ее с чем-то существующим, например, REST, которое вы уже знаете.
Представьте, что у нас есть несколько веб-приложений и мобильных приложений, которые получают данные с одного сервера. В архитектуре RESTful мы проектируем каждый объект как ресурс. При получении запроса на получение ресурса сервер обычно возвращает все об этом ресурсе. Таким образом, клиенты получают избыточные и ненужные данные, которые потребляют пропускную способность. В зависимости от сценария это может составить сумму, достаточно значительную для производительности клиента (подумайте о мобильных клиентах).
Как насчет клиентов, указывающих, какие именно данные им нужны, и сервер отправляет только эти данные? GraphQL позволяет нам достичь этого.
Подходит ли GraphQL для БОЛЬШИХ проектов?
Как и почти все в жизни, это зависит. Не все проекты, независимо от их размеров, имеют одинаковые требования. Определите требования вашего проекта. Рассмотрим доступные технологии и их плюсы и минусы. Это компромисс. Там нет серебряной пули или один размер подходит для всех решений. Тем не менее, Facebook использует GraphQL, и есть веские причины считать их проект БОЛЬШИМ.