V
Просто пример классный на vue, gj'njve cghjcbk pltcm
Anonymous
+++
V
Поэтому спросил здесь
Denis
Кури ман
Anonymous
Тут нету вью в примере никак вообще
V
В вопросе нет, в примере (по ссылке) есть
Anonymous
Ты не знаешь что такое коллбек, зачем тебе этот пример
Roman
Кто-нибудь из вас уже использует GraphQL?
Denis
Мне не нравится синтаксис
Andrey
Roman
Denis
Да
Anonymous
По моему нлборот прикольный там синтаксис, статическая типизация. Песочница вообще супер. Тестировать одно удовольствие апи
Anonymous
Я очень хочу поизучать Но времени нету
Roman
синтаксис это-ж незначительный аргумент... вещь на самом деле очень прогрессивная
Roman
но даже не могу представить что может не нравиться в синтаксисте GQL
Roman
единственная "проблема" которая возможно ещё недоработана так это caching / cache invalidation
Andrey
Пагинация тоже говорят так себе? Но не изучал вопрос
Roman
в GQL кэш должен быть нормализован, а для инвалидации есть subscriptions.. однако пока что думаю в плане библиотек ещё сыровато
Roman
Andrey
Я не знаю, четсно) за что купил за то продалл Надо изучать
Andrey
У меня даже есть проект, где попробовать хочу это
Roman
Andrey
Спасиб
Denis
Roman
Roman
GraphQL это всего-лишь язык коммуникации клиента с API
Roman
вот вроде есть JS клиент библиотека: http://dev.apollodata.com/core/
Denis
Не прозрачно
Denis
Я вот знаю SQL норм. Я никогда его не учил. Он просто ясен.
Roman
1. roundtrips - вместо десятков GET запросов - oдин запрос. на мобилках это значительное снижение задержки, lower time to content
2. over-fetching - меньшее потребление памяти и нагрузка сети, slightly lower TtC
3. versioning - легче чем с REST --> depracation & additions of individual fields instead of whole-api-versioning ala /v45/
4. coupling - frontend команда менее зависит от backend команды, им не приходится постоянно вымогать у backend'а новые endpoint'ы для оптимизации.
Roman
хотя насчёт versioning на самом деле был не совсем прав, там REST с GQL практически на равне
Denis
1. Axios делает это. Никогда поодобных проблем не было.
2 Сколько конкретно памяти?
3 Это не проблема БД
4 Не пойму этого разделения (у меня нет таких больших проектов)
Denis
Denis
0.99 s | 8 mb большая страница
Roman
и особенно что касается Vue и модульной разработки приложений...
представим себе что у нас много много много маленьких компонентов..
каждый из компонентов требует конкретный набор данных, например
component X ---> {user{name, avatar}}
component Y ---> {product(id:123){name, description}}
component Z ---> {products(first:100, sort:'name')}
и многие другие..
в случае с REST получится жутко убого... десятки запросов туда сюда, тонны ненужных данных
с GQL клиент аггрегирует графы в один граф и посылает один запрос на сервер
Denis
Denis
И 2 больших по REST
Denis
Через all
Denis
Это я понял как работает
Denis
Это плюс
Denis
Но я могу на sql так же делать
Roman
Roman
SQL это совсем другой уровень, это происходит уже позади API
Roman
надеюсь ты понимаешь что GraphQL это НЕ язык для обращения к бд?
Roman
это язык между клиентом и сервисом, т.е. API, а вот как этот сервис и откуда он эти данные уже будет доставать (SQL, noSQL, Filesystem, Object Storage.. what ever..) это совсем другой уровень абстракции
Rafael 🌵
Вы тут спорите ни о чем, у netflix есть стоя реализация аналога graphql
Roman
суть в том что GraphQL отлично подходит для модульных Vue приложений, поэтому было бы интересно пообщаться с единомышленниками
Rafael 🌵
Rafael 🌵
http://tonsky.livejournal.com/309037.html
Stanislav
Так, всем ставить звездочку
https://bugs.chromium.org/p/chromium/issues/detail?id=758600
Denis
Короче - я считаю этот Граф - лишней абстракцией
Roman
Не стандарт
я не зря написал "стандарт" в ковычках, однако есть открытая спецификация, есть open source'ные реализации на разных языках, уже у некоторых как Github в продакшне
Anonymous
Stanislav
:)
Denis
Roman
Roman
Он требует сервер же
а разве REST не требует сервера?))
да, REST сервер написать легче с нуля, но со временем когда сервис начнёт расти и усложняться - REST превратится в один большой кошмар
Denis
Rafael 🌵
Rafael 🌵
На Хабре в комментах рассказали как 1м запросом ддосить бд на gql, просто офигенская увеличив вложенность запроса
Stanislav
Denis
Anonymous
По моему очень толково рассказано
ну смотри он на 10% расписал шо это лишний слой абстракции. Оставшиеся 90% он написал какую-то дичь про то шо фейсбук ему не командир и ему не нрав вид данных потому что не нрав
Roman
Denis
Короче - я считаю этот Граф - лишней абстракцией
Roman
И что?
ну так ты сравниваешь груши с огурцами
Anonymous
Roman
Anonymous
всегда был прикладной
Roman
Нет. Я сравниваю способы обмена данными
ты говоришь "давайте заменим HTTP - сокетами", но мы же не о том "как" данные передавать, а как к API серверу "обращаться", т.е. как API расписать то чего тебе нужно и тут у нас есть REST, SOAP, GraphQL и т.д. и т.п.
поэтому сравнивать сокеты (транспортный уровень) с GraphQL (протокол общения с API) совсем неправильно
Anonymous
сокеты работают поверх tcp