Re[6]: GraphQL -- взлетит или помрет?
От: Ночной Смотрящий Россия  
Дата: 29.07.17 16:23
Оценка:
Здравствуйте, turbocode, Вы писали:

ИД>>REST никак не помогает, когда есть пачка разных клиентов, которым нужны разные проекции данных.

T>Выгрузить базу данных на клиента и там же её фильтровать через JavaScript — это супер идея.

Настоящий хипста-стайл. Веб, как обычно, рулится толпой ажитирующих мелкоплавающих товарищей, верящих в серебрянную пулю.
Re[6]: GraphQL -- взлетит или помрет?
От: Иван Дубров США  
Дата: 29.07.17 17:01
Оценка:
Здравствуйте, turbocode, Вы писали:

T>Выгрузить базу данных на клиента и там же её фильтровать через JavaScript — это супер идея.


Так я о чём и говорю -- поэтому и GraphQL (который делает фильтрацию на сервере)
Отредактировано 29.07.2017 17:25 Иван Дубров . Предыдущая версия .
Re[6]: GraphQL -- взлетит или помрет?
От: Иван Дубров США  
Дата: 29.07.17 17:19
Оценка: 4 (2) +1
Здравствуйте, Kolesiki, Вы писали:

K>Во-первых, сразу в полный рост встаёт вопрос о защите. Все ли клиенты могут всё смотреть?? Во-вторых, нельзя просто так взять и простой перделкой заменить сложную систему. Для чего мы изобретали 3-звенную модель? Вот как раз для этого — чтобы на самом низком уровне — запросы данных, выше — бизнес логика и совсем наверху — клиент, от действий которого ничего не зависит — он в принципе не способен поломать защиту. А теперь вы вытаскиваете "уровень запросов к БД" поверх сервера приложений и... что? Шляпа навыворот, вот что.


В GraphQL нет запросов в их традиционном представлении. GraphQL -- это скорее про фильтрацию данных, чем про произвольные запросы. Ты объявляешь схему данных, которые ты готов выставить клиентам, а клиенты запрашивают, какие кусочки им интересны.

Вопрос защиты, конечно, стоит, но это ортогонально. Ты сам явно выставляешь то, что нужно и сам защищаешь отдельные части так, как тебе нужно.

Это не то же самое, что выставить наружу, например, SQL для запросов к твоей внутренней БД.

Почему-то многие, прочитав по верхам, начинают фантазировать в эту сторону. GraphQL -- это просто способ задать API так, что клиент автоматом получает контроль над тем, какие данные ему надо вернуть из результата.

K>Я не вижу ничего плохого в обилии функций. На то они и API, что это они решают, как и что ты будешь делать с сервером.


Да. И GraphQL позволяет тебе сразу задать спектр возможных API функций, см выше пример со страховым полисом.

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

Для backend for frontend сервисов тоже полезно. Когда тебе нужно поддерживать старые API на несколько лет назад, возникает желание делать более гибкие API, чтобы не приходилось каждый раз запиливать новые. Опять же, зачем старым клиентам отправлять данные, которые им не нужны? Это лишний траффик.

K>Да и не припомню каких-то таких страшных сценариев, где нужна вот такая вот навороченная "модель запросов".


Ещё раз, навороченной модели запросов в GraphQL нет.

K>А я даже над этими сервисами смеюсь — мой JSON-RPC ещё десяток лет проработает без колыханий.


Ой, ну нашёл чем гордиться. Наши убогие SOAP сервисы поди и через 30 лет ещё где-то будут работать
Re[4]: GraphQL -- взлетит или помрет?
От: StandAlone  
Дата: 29.07.17 18:04
Оценка:
Здравствуйте, int64, Вы писали:

I>Как упал уровень разработчиков. Генерация строки для передачи команд на сервер и парсинг этой сроки на сервере называется: архитектурой, технологией. Скилом, достойным употребления в резюме.


Так надо учитывать, для кого это. Для современных пареньков, которые за час, не слезая с гироскутера, на Го навают то, что плюсовик будет писать три недели. Затем современный паренек укатит в барбершоп, а три десятка других современных пареньков еще полгода будут пытаться снизить число самоубийств пользователей, обреченных корпоративной политикой обмазываться продуктом жизнедеятельности современного паренька.
Ну, в перерывах между борьбой с нетранспилирующимся из-за апдейта минорной версии библиотеки на 17-м уровне вложенности ангуляром.

Индустрия не просто катится в говно, она уже грохнулась туда и медленно тонет.
Re[8]: GraphQL -- взлетит или помрет?
От: alpha21264 СССР  
Дата: 29.07.17 18:08
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Вроде писали в умных книжках, что хорошие инструменты экономят до 20% времени. Не в 10 раз, но 20% сэкономить можно.


За 20% я не буду отрывать задницу от дивана.

Течёт вода Кубань-реки куда велят большевики.
Re[9]: GraphQL -- взлетит или помрет?
От: Shmj Ниоткуда  
Дата: 29.07.17 19:22
Оценка:
Здравствуйте, alpha21264, Вы писали:

A>За 20% я не буду отрывать задницу от дивана.


Если бюджет разработки 10 млн. -- то 20% это $2 млн. Мало?
Re[8]: GraphQL -- взлетит или помрет?
От: WolfHound  
Дата: 29.07.17 20:46
Оценка: 3 (1)
Здравствуйте, Shmj, Вы писали:

S>Вроде писали в умных книжках, что хорошие инструменты экономят до 20% времени. Не в 10 раз, но 20% сэкономить можно.

Это глупые книжки.
Хорошие инструменты могут и в 100 раз быстрее результат получить. Причём есть хороший шанс что результат будет лучше.
Например, авторы вот этой штуки http://halide-lang.org/
За один день написали алгоритм, на оптимизацию которого программист из Adobe убил 3 месяца. Причем результат получился в 2 раза быстрее.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[8]: GraphQL -- взлетит или помрет?
От: CreatorCray  
Дата: 29.07.17 22:13
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Вроде писали в умных книжках, что хорошие инструменты экономят до 20% времени. Не в 10 раз, но 20% сэкономить можно.

Похоже что реально хорошие инструменты этих книжек не читали и потому экономят гораздо больше.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Re[6]: GraphQL -- взлетит или помрет?
От: neFormal Россия  
Дата: 29.07.17 22:15
Оценка: :)
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>OData это просто протокол. А уж откуда и как наполнены источники данных, для которых он используется, это уже вопросы реализации. Но я понял, OData это недостаточно хипстерски.


адресация может быть к одному источнику и к нескольким.
одата умеет адресоваться к нескольким источникам? или она — слишком старпёрский унылый наколенный протокол для домашних страничек на пхп?
...coding for chaos...
Re[5]: GraphQL -- взлетит или помрет?
От: neFormal Россия  
Дата: 29.07.17 22:20
Оценка:
Здравствуйте, StandAlone, Вы писали:

SA>Индустрия не просто катится в говно, она уже грохнулась туда и медленно тонет.


вот и наступила старость.
...coding for chaos...
Re[7]: GraphQL -- взлетит или помрет?
От: Ночной Смотрящий Россия  
Дата: 30.07.17 08:22
Оценка:
Здравствуйте, neFormal, Вы писали:

F>или она — слишком старпёрский унылый наколенный протокол для домашних страничек на пхп?


Ну я и говорю, фатальный недостаток, недостаточно хипстерский.
Re[7]: GraphQL -- взлетит или помрет?
От: turbocode  
Дата: 30.07.17 11:12
Оценка:
ИД>Так я о чём и говорю -- поэтому и GraphQL (который делает фильтрацию на сервере)
На сервере можно сделать фильтрацию и без GraphQL.
Re[8]: GraphQL -- взлетит или помрет?
От: neFormal Россия  
Дата: 30.07.17 11:17
Оценка: -1
Здравствуйте, Ночной Смотрящий, Вы писали:

F>>или она — слишком старпёрский унылый наколенный протокол для домашних страничек на пхп?

НС>Ну я и говорю, фатальный недостаток, недостаточно хипстерский.

ясно, понятно. ничего не знаешь, но имеешь мнение.
...coding for chaos...
Re[8]: GraphQL -- взлетит или помрет?
От: bnk СССР http://unmanagedvisio.com/
Дата: 30.07.17 11:42
Оценка:
Здравствуйте, turbocode, Вы писали:

ИД>>Так я о чём и говорю -- поэтому и GraphQL (который делает фильтрацию на сервере)


T>На сервере можно сделать фильтрацию и без GraphQL.


И как ты сделаешь фильтрацию, если не знаешь что фильтровать?
GraphQL это как язык описания, что именно клиенту нужно, только и всего. Типа SQL.

Решаемая проблема в том, что если клиенту требуется какой-то запрос который не был предусмотрен сервером, сервер приходится менять.
С GraphQL сервер просто говорит какие данные у него в принципе есть (предоставляет схему данных) а клиент может запрашивать любую ее часть.
Также можно например легко добавлять новые данные в модель без страха поломать клиентов (особенно актуально если клиентов много и они разные)
Отредактировано 30.07.2017 11:44 bnk . Предыдущая версия . Еще …
Отредактировано 30.07.2017 11:44 bnk . Предыдущая версия .
Re[9]: GraphQL -- взлетит или помрет?
От: Ночной Смотрящий Россия  
Дата: 30.07.17 13:16
Оценка: +1
Здравствуйте, neFormal, Вы писали:

НС>>Ну я и говорю, фатальный недостаток, недостаточно хипстерский.

F>ясно, понятно. ничего не знаешь, но имеешь мнение.

Вот только это ты и велосипедеры из фейсбучека не знали про OData. Причем это, судя по всему, принципиальная позиция у хипста-стайл архитектов — существующие решения всегда плохие, и все надо делать с нуля.

P.S. Перешел на личности — слил.
Re[10]: GraphQL -- взлетит или помрет?
От: neFormal Россия  
Дата: 30.07.17 14:09
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>Вот только это ты и велосипедеры из фейсбучека не знали про OData.


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

НС>P.S. Перешел на личности — слил.


аа, так ты посраться сюда пришёл. я-то думал, ты действительно что-то знаешь.
ну ладно, обмазывайтесь без меня.
...coding for chaos...
Re[9]: GraphQL -- взлетит или помрет?
От: turbocode  
Дата: 30.07.17 14:32
Оценка: +1 -1
bnk>И как ты сделаешь фильтрацию, если не знаешь что фильтровать?
На сервер передать параметры фильтра.

bnk>GraphQL это как язык описания, что именно клиенту нужно, только и всего. Типа SQL.

bnk>Решаемая проблема в том, что если клиенту требуется какой-то запрос который не был предусмотрен сервером, сервер приходится менять.
Ну да выставить SQL наружу к базе и ничего менять на сервере не придется.

bnk>С GraphQL сервер просто говорит какие данные у него в принципе есть (предоставляет схему данных) а клиент может запрашивать любую ее часть.

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

bnk>Также можно например легко добавлять новые данные в модель без страха поломать клиентов (особенно актуально если клиентов много и они разные)

Новые данные в любом случае не должны ломать обратную совместимость.
Re[11]: GraphQL -- взлетит или помрет?
От: Ночной Смотрящий Россия  
Дата: 30.07.17 14:39
Оценка:
Здравствуйте, neFormal, Вы писали:

НС>>Вот только это ты и велосипедеры из фейсбучека не знали про OData.

F>но ты не ответил на вопрос.

Какой?

НС>>P.S. Перешел на личности — слил.

F>аа, так ты посраться сюда пришёл.

Перешел на личности ты, а посраться пришел я. Логика ...
Re[12]: GraphQL -- взлетит или помрет?
От: neFormal Россия  
Дата: 30.07.17 14:51
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>>>Вот только это ты и велосипедеры из фейсбучека не знали про OData.

F>>но ты не ответил на вопрос.
НС>Какой?

http://rsdn.org/forum/flame.comp/6854345.1
Автор: neFormal
Дата: 30.07.17


НС>>>P.S. Перешел на личности — слил.

F>>аа, так ты посраться сюда пришёл.
НС>Перешел на личности ты, а посраться пришел я. Логика ...

я задаю конкретные вопросы и не занимаюсь демагогией.
...coding for chaos...
Re[8]: GraphQL -- взлетит или помрет?
От: Иван Дубров США  
Дата: 30.07.17 15:30
Оценка:
Здравствуйте, turbocode, Вы писали:

ИД>>Так я о чём и говорю -- поэтому и GraphQL (который делает фильтрацию на сервере)

T>На сервере можно сделать фильтрацию и без GraphQL.

Спасибо, кэп!
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.