очень длинный).
Мне хотелось услышать именно опыт использования и какие подводные камни и минусы. Ведь если их нет, то почему его не используют все подряд? ))
Потому что не у всех кейсы где нужно прям GraphQL
А какие главные признаки, что нужен GraphQL? Постоянная интеграция с внешними клиентами, которые меняют свой API?
мне знакомый react-фронтендер сказал, что ему меньше кода нужно писать, если апи через graphql сделано
наверно, ну и когда есть куча внешних клиентов мобильное приложение, веб страница итд
Ему возможно да, а тебе возможно больше :)
+еще хрен чего нагуглишь
У hot chocolate хорошая дока
В ряде моих случаев самым привлекательным выглядела возможность простого отграничения набора отдаваемых данных, а также возможность комбинирования разных сущностей в рамках одного запроса. Без этого (с классическим рест-подходом) приходится делать либо серию запросов, либо отдавать избыточное количество данных, либо добавлять не очень очевидные и органичные параметры к рест-запросами. Но количество порождаемого бойлерплейта в случае отсутствия в процессе работы с данными ORM убивало идею, в результате в прод не пошло ни одного внедрения. Также могу отметить нестабильность реализаций (вероятно, обусловленную "молодостью" методологии): как-то реализовал работающий прототип, потом забросил на примерно полгода, вернулся, проапдейтил на актуальные версии библиотек - вообще чуть не все с нуля пришлось переписывать. Возможно, опять же, с прослойкой в виде ORM дело с этим аспектом обстоит получше
Спасибо большое за подробный ответ
Не за что! Так, вообще, методология (в моих, опять же, кейсах) выглядит очень удобной. Если бы всё делал на орм - использовал бы. Особенно на "больших" проектах. Но тут такое дело: ORM в моих случаях (всё вокруг построения BPM-систем) использовать не эффективно (отсутствуют четкие модели данных), а без неё, как и писал выше, граф не очень органично вписывается. А в условно "маленьких" системах граф, вероятно, может быть избыточен - его основной функционал просто не будет востребован и, соответственно, задействован. Получается (опять же - в моих кейсах) патовая ситуация: нужна "большая" система, построенная с использованием ORM (у меня таких не бывает: либо маленькая, либо без ORM)
Обсуждают сегодня