Re: Кто что думает про GraphQL?
От: Иван Дубров США  
Дата: 22.02.17 19:40
Оценка: 4 (2)
Здравствуйте, scf, Вы писали:

scf>Ссылка: http://graphql.org

scf>Вкратце: Новый подход к построению сетевых API, отдающих данные в виде JSON. Интересен простым, в том числе в реализации, и мощным языком запросов.

scf>Кто-то уже ковырял? Быть может, использовал?


Я использовал graphql-java (это серверная часть для Java -- интерпретатор запросов и выполнение их). Предметную модель ты пишешь и пристегиваешь сам (в моем случае это был просто граф неизменяемых объектов в памяти).

GraphQL это скорее не язык запросов (как, например SQL), это скорее язык фильтрации данных. Ты предоставляешь свой унивёрсум данных, а клиент может выбрать тот кусочек, который ему интересен.

В нем есть понятие параметров, которые могут влиять на возвращаемые данные (что делает его немного похожим на язык запросов), но структура запроса прибита гвоздями (схема). Например, клиент не может произвольные куски вытаскивать или делать какие-то join-ы. Например, если твоя схема содержит поле "user" у которого есть поле "company" ты не можешь сделать запрос сразу начиная с поля "company", если его в схеме явно не задано.


Позволяет решить проблему неоптимальных запросов (N+1 или слишком большое количество данных) в REST при этом не приводя к миллиону возможных параметров (типа "includeUsers=true/false") или неоптимальным ответам (возвращаем все, а клиент разберется).


На мой взгляд, он хорошо подходит и к взаимодействиям сервер-сервер. Например, у нас был проект делать интеграцию со сторонними системами через GraphQL. Для клиент-сервер (например, веб приложение -- сервер) нынче модно думать о более обобщенных протоколах (идеи можно подсмотреть, например, тут: http://tonsky.me/blog/the-web-after-tomorrow/), но это так, пока больше хипстерские замашки, по-моему (хотя я что-то аналогичное сейчас как раз делаю, что забавно, поверх REST API).
Отредактировано 22.02.2017 19:41 Иван Дубров . Предыдущая версия .
Re[3]: Кто что думает про GraphQL?
От: Tom Россия http://www.RSDN.ru
Дата: 18.03.17 11:45
Оценка: +2
scf>Ну, для начала я о нем раньше и не слышал . А сравнивая с graphql, OData выглядит значительно более сложным и громоздким, при этом решая похожие задачи.
Он работает, реализован Microsoft, интегрирован с EntityFramework, в итоге необходимая задача решается в очень небольшое количество строк/
Народная мудрось
всем все никому ничего(с).
Кто что думает про GraphQL?
От: scf  
Дата: 15.02.17 07:38
Оценка: 5 (1)
Ссылка: http://graphql.org
Вкратце: Новый подход к построению сетевых API, отдающих данные в виде JSON. Интересен простым, в том числе в реализации, и мощным языком запросов.

Кто-то уже ковырял? Быть может, использовал?
grapqhl rest rpc web
Re: Кто что думает про GraphQL?
От: Gattaka Россия  
Дата: 16.02.17 07:42
Оценка: +1
Здравствуйте, scf, Вы писали:

scf>Ссылка: http://graphql.org

scf>Вкратце: Новый подход к построению сетевых API, отдающих данные в виде JSON. Интересен простым, в том числе в реализации, и мощным языком запросов.

scf>Кто-то уже ковырял? Быть может, использовал?

Давно присматриваюсь. А насколько хорошо, что клиент содержит в себе бизнес-логику? Т.е. запросы к базе по факту составляются на клиенте. Косяк! То, что они транслируются и что не напрямую — это все спецэффекты.
Re[3]: Кто что думает про GraphQL?
От: Kerk  
Дата: 22.03.17 18:02
Оценка: +1
Здравствуйте, Tom, Вы писали:

Tom>Здравствуйте, Gattaka, Вы писали:


G>>Здравствуйте, scf, Вы писали:


scf>>>Ссылка: http://graphql.org

scf>>>Вкратце: Новый подход к построению сетевых API, отдающих данные в виде JSON. Интересен простым, в том числе в реализации, и мощным языком запросов.

scf>>>Кто-то уже ковырял? Быть может, использовал?

G>>Давно присматриваюсь. А насколько хорошо, что клиент содержит в себе бизнес-логику? Т.е. запросы к базе по факту составляются на клиенте. Косяк! То, что они транслируются и что не напрямую — это все спецэффекты.
Tom>Это не косяк а гигантский плюс. Кому как не клиенту знать какие данные ему нужны.

Да, когда клиентов больше одного, это большой плюс.

Выбрали GraphQL вместо REST в новом проекте. Посмотрим, что будет. Но пока все нравится.
Re[2]: Кто что думает про GraphQL?
От: swimmers  
Дата: 16.02.17 08:19
Оценка:
Здравствуйте, Gattaka, Вы писали:

G>Здравствуйте, scf, Вы писали:


scf>>Ссылка: http://graphql.org

scf>>Вкратце: Новый подход к построению сетевых API, отдающих данные в виде JSON. Интересен простым, в том числе в реализации, и мощным языком запросов.

scf>>Кто-то уже ковырял? Быть может, использовал?

G>Давно присматриваюсь. А насколько хорошо, что клиент содержит в себе бизнес-логику? Т.е. запросы к базе по факту составляются на клиенте. Косяк! То, что они транслируются и что не напрямую — это все спецэффекты.

Я бы не был столь категоричен.
Re[3]: Кто что думает про GraphQL?
От: Gattaka Россия  
Дата: 16.02.17 08:28
Оценка:
Здравствуйте, swimmers, Вы писали:

S>Здравствуйте, Gattaka, Вы писали:


G>>Здравствуйте, scf, Вы писали:


scf>>>Ссылка: http://graphql.org

scf>>>Вкратце: Новый подход к построению сетевых API, отдающих данные в виде JSON. Интересен простым, в том числе в реализации, и мощным языком запросов.

scf>>>Кто-то уже ковырял? Быть может, использовал?

G>>Давно присматриваюсь. А насколько хорошо, что клиент содержит в себе бизнес-логику? Т.е. запросы к базе по факту составляются на клиенте. Косяк! То, что они транслируются и что не напрямую — это все спецэффекты.

S>Я бы не был столь категоричен.

Это почему же? У вас клиент формирует запросы и в случае удаления сущности из домена нужно поменять кучу кода в клиенте.
Re: Кто что думает про GraphQL?
От: sr_dev  
Дата: 16.02.17 08:43
Оценка:
Здравствуйте, scf, Вы писали:

scf>Ссылка: http://graphql.org

scf>Вкратце: Новый подход к построению сетевых API, отдающих данные в виде JSON. Интересен простым, в том числе в реализации, и мощным языком запросов.

scf>Кто-то уже ковырял? Быть может, использовал?


Давненько думаю найти/сделать что-то подобное, но не совсем. Описываешь в Hibernate/JPA модель данных, сбоку сам собой появляется JSON-сервис типа этого GraphQL со всеми CRUD операциями над моими сущностями. Сразу можно из DHTML клиента работать с данными, не страдая всевозможными DAO слоями/бизнес логикой на сервере. Эта бизнес логика практически всегда просто CRUD. Вопрос контроля прав доступа тоже как-то должен быть решен. Никто подобного не встречал/пробовал на практике?
опа опа мы воюем с нато
любит хавать этот кал
путинская вата
Re[2]: Кто что думает про GraphQL?
От: hrensgory Россия  
Дата: 16.02.17 09:23
Оценка:
16.02.2017 11:43, sr_dev пишет:
> scf>Ссылка: http://graphql.org
> scf>Вкратце: Новый подход к построению сетевых API, отдающих данные в
> виде JSON. Интересен простым, в том числе в реализации, и мощным языком
> запросов.
>
> scf>Кто-то уже ковырял? Быть может, использовал?
>
> Давненько думаю найти/сделать что-то подобное, но не совсем. Описываешь
> в Hibernate/JPA модель данных, сбоку сам собой появляется JSON-сервис
> типа этого GraphQL со всеми CRUD операциями над моими сущностями.

Слышал про какой-то jhipster, но сам не смотрел. По описанию как раз
что-то вроде

--
WBR,
Serge.
Posted via RSDN NNTP Server 2.1 beta
Re[4]: Кто что думает про GraphQL?
От: swimmers  
Дата: 16.02.17 10:36
Оценка:
Здравствуйте, Gattaka, Вы писали:

G>Здравствуйте, swimmers, Вы писали:


S>>Здравствуйте, Gattaka, Вы писали:


G>>>Здравствуйте, scf, Вы писали:


scf>>>>Ссылка: http://graphql.org

scf>>>>Вкратце: Новый подход к построению сетевых API, отдающих данные в виде JSON. Интересен простым, в том числе в реализации, и мощным языком запросов.

scf>>>>Кто-то уже ковырял? Быть может, использовал?

G>>>Давно присматриваюсь. А насколько хорошо, что клиент содержит в себе бизнес-логику? Т.е. запросы к базе по факту составляются на клиенте. Косяк! То, что они транслируются и что не напрямую — это все спецэффекты.

S>>Я бы не был столь категоричен.

G>Это почему же? У вас клиент формирует запросы и в случае удаления сущности из домена нужно поменять кучу кода в клиенте.

Я не говорю, что это всегда правильно или всегда не правильно.
В каждом случае могут бы свои нюансы, связанные с производительностью, стоимостью поддержки и развития, наличия тех или иных специалистов т.д.

В примере с удалением сущности из домена, подозреваю, без переделки кучи кода все равно не обойтись.
Отредактировано 16.02.2017 10:39 swimmers . Предыдущая версия .
Re: Кто что думает про GraphQL?
От: vsb Казахстан  
Дата: 16.02.17 11:05
Оценка:
Насколько я понимаю, это некий кусок, который открыл фейсбук и проблема именно в том, что это кусок. Нормального сервера они не дали. Текущие реализации какие-то детские, это уже не уровень фейсбука. Поэтому я пока смысла в этом не вижу. Если бы они открыли полный стек, например на Java, это было бы интересно.

Концептуально идея очень правильная. REST это очень неудобно. Но кроме концепции тут нужна и хорошая реализация, самому её написать будет сложно.
Re[2]: Кто что думает про GraphQL?
От: Gattaka Россия  
Дата: 16.02.17 13:03
Оценка:
Здравствуйте, vsb, Вы писали:

vsb>Насколько я понимаю, это некий кусок, который открыл фейсбук и проблема именно в том, что это кусок. Нормального сервера они не дали. Текущие реализации какие-то детские, это уже не уровень фейсбука. Поэтому я пока смысла в этом не вижу. Если бы они открыли полный стек, например на Java, это было бы интересно.


Вы по ссылке не ходили что ли? Есть там и джава и дотнет и чё только нет!
Re: Кто что думает про GraphQL?
От: Somescout  
Дата: 16.02.17 14:25
Оценка:
Здравствуйте, scf, Вы писали:

scf>Ссылка: http://graphql.org

scf>Вкратце: Новый подход к построению сетевых API, отдающих данные в виде JSON. Интересен простым, в том числе в реализации, и мощным языком запросов.

Насколько я понял, это что-то схожее с ODATA. Интересно было бы увидеть нормальное сравнение.
Но сам возвращаемый формат очень похож по структуре (теми же метаданными): http://www.odata.org/documentation/odata-version-2-0/JSON-format/

Из того что не понравилось (в примерах graphql) — перевод строки в качестве разделителя полей в запросе.
ARI ARI ARI... Arrivederci!
Re[2]: Кто что думает про GraphQL?
От: scf  
Дата: 16.02.17 14:52
Оценка:
Здравствуйте, Somescout, Вы писали:

S>Насколько я понял, это что-то схожее с ODATA. Интересно было бы увидеть нормальное сравнение.

Слышал, но не читал. авторство OASIS — это уже контр-рекомендация к изучению Оно стоит того?

S>Из того что не понравилось (в примерах graphql) — перевод строки в качестве разделителя полей в запросе.

В запросах пробельными символами считаются пробелы, переводы строки и запятые. т.е. можно вот так: {a b,c, d}
Re[3]: Кто что думает про GraphQL?
От: Somescout  
Дата: 16.02.17 16:28
Оценка:
Здравствуйте, scf, Вы писали:

scf>Здравствуйте, Somescout, Вы писали:


S>>Насколько я понял, это что-то схожее с ODATA. Интересно было бы увидеть нормальное сравнение.

scf>Слышал, но не читал. авторство OASIS — это уже контр-рекомендация к изучению Оно стоит того?

Не знаю, тоже раздумываю над изучением всего этого — чистый REST дико надоел.

S>>Из того что не понравилось (в примерах graphql) — перевод строки в качестве разделителя полей в запросе.

scf>В запросах пробельными символами считаются пробелы, переводы строки и запятые. т.е. можно вот так: {a b,c, d}

И вот спрашивается — нафига?! Они действительно считают что разработчику захочется поиграться с разделителями — "вот здесь перевод строки, здесь запятыми отделим, а тут и пробелов хватит"? Бред какой-то.
ARI ARI ARI... Arrivederci!
Re[3]: Кто что думает про GraphQL?
От: vsb Казахстан  
Дата: 16.02.17 16:46
Оценка:
Здравствуйте, Gattaka, Вы писали:

G>Здравствуйте, vsb, Вы писали:


vsb>>Насколько я понимаю, это некий кусок, который открыл фейсбук и проблема именно в том, что это кусок. Нормального сервера они не дали. Текущие реализации какие-то детские, это уже не уровень фейсбука. Поэтому я пока смысла в этом не вижу. Если бы они открыли полный стек, например на Java, это было бы интересно.


G>Вы по ссылке не ходили что ли? Есть там и джава и дотнет и чё только нет!


Нет там ничего. Есть
https://github.com/graphql-java/graphql-java но это поделка какая-то неизвестно от кого в состоянии Working Draft, expect changes, причём это клиент, а не сервер. И всё остальное такого же уровня.
Re[4]: Кто что думает про GraphQL?
От: Somescout  
Дата: 16.02.17 17:08
Оценка:
Здравствуйте, vsb, Вы писали:

G>>Вы по ссылке не ходили что ли? Есть там и джава и дотнет и чё только нет!


vsb>Нет там ничего. Есть
https://github.com/graphql-java/graphql-java но это поделка какая-то неизвестно от кого в состоянии Working Draft, expect changes, причём это клиент, а не сервер. И всё остальное такого же уровня.

С C# та же история. Причём почему-то ссылки на клиентские библиотеки лежат в разделе "Server".

Похоже сервер есть только на nodejs. Что довольно бесполезно.
ARI ARI ARI... Arrivederci!
Отредактировано 16.02.2017 17:10 Somescout . Предыдущая версия .
Re: Кто что думает про GraphQL?
От: Аноним931 Германия  
Дата: 22.02.17 13:12
Оценка:
scf>Новый
Все ясно — откладываем в сторонку, через год смотрим.
"Больше 100кмч можно ехать на автобане в любом ряду кроме правого крайнего" (c) pik
"В германии земля в частной собственности" (c) pik
"Закрывать школы, при нулевой смертности среди детей и подростков, это верх глупости" (c) Abalak
Re[2]: Кто что думает про GraphQL?
От: Tom Россия http://www.RSDN.ru
Дата: 17.03.17 20:01
Оценка:
Здравствуйте, Gattaka, Вы писали:

G>Здравствуйте, scf, Вы писали:


scf>>Ссылка: http://graphql.org

scf>>Вкратце: Новый подход к построению сетевых API, отдающих данные в виде JSON. Интересен простым, в том числе в реализации, и мощным языком запросов.

scf>>Кто-то уже ковырял? Быть может, использовал?

G>Давно присматриваюсь. А насколько хорошо, что клиент содержит в себе бизнес-логику? Т.е. запросы к базе по факту составляются на клиенте. Косяк! То, что они транслируются и что не напрямую — это все спецэффекты.
Это не косяк а гигантский плюс. Кому как не клиенту знать какие данные ему нужны.
Народная мудрось
всем все никому ничего(с).
Re: Кто что думает про GraphQL?
От: Tom Россия http://www.RSDN.ru
Дата: 17.03.17 20:03
Оценка:
Здравствуйте, scf, Вы писали:

scf>Ссылка: http://graphql.org

scf>Вкратце: Новый подход к построению сетевых API, отдающих данные в виде JSON. Интересен простым, в том числе в реализации, и мощным языком запросов.

scf>Кто-то уже ковырял? Быть может, использовал?

А чем принципиально OData не подошёл?
Народная мудрось
всем все никому ничего(с).
Re[2]: Кто что думает про GraphQL?
От: scf  
Дата: 18.03.17 06:53
Оценка:
Здравствуйте, Tom, Вы писали:

Tom>А чем принципиально OData не подошёл?


Ну, для начала я о нем раньше и не слышал . А сравнивая с graphql, OData выглядит значительно более сложным и громоздким, при этом решая похожие задачи.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.