Мне предложили познакомиться с GraphQL. Посмотреть, можно ли применить в работе. Поискав я понял, что в основном информация на английском и частично старая, там 3 версия библиотеки, а уже 5 есть. Хочу восполнить этот пробел. В данном варианте будет пример на сервлетах, т.е. без spring и без spring-boot.
Читать полностью »
Рубрика «graphql» - 5
Простой сервер с GraphQL вместо REST, реализация на java
2018-07-24 в 15:58, admin, рубрики: graphql, javaGraphQL для платформ компании InterSystems
2018-06-25 в 8:19, admin, рубрики: backend, Ensemble, graphql, intersystems, IRIS, Блог компании InterSystems, Разработка веб-сайтов, хранение данных
GraphQL — это стандарт декларирования структур данных и способов получения данных, который выступает дополнительным слоем между клиентом и сервером. Если вы впервые слышите о GraphQL, то вот пара хороших ресурсов: раз и два.
В этой статье я расскажу как вы можете использовать GraphQL в своих проектах на технологиях InterSystems.
graphql — оптимизация запросов к базе данных
2018-05-31 в 16:56, admin, рубрики: express.js, graphql, javascript, mongodb, mongoose, mongoose.js, node.jsПри работе с базами данных существует проблема которую принято называть «SELECT N + 1» — это когда приложение вместо одного запроса к базе данных, который выбирает все необходимые данные из нескольких связанных таблиц, коллекций, — делает дополнительный подзапрос для каждой строки результата первого запроса, чтобы получить связанные данные. Например, сначала мы получаем список студентов университета, в котором его специальность обозначена идентификатором, а потом для каждого из студентов делаем дополнительный подзапрос в таблицу или коллекцию специальностей, чтобы по идентификатору специальности получить наименование специальности. Поскольку каждый из подзапросов может потребовать еще один подзапрос, и еще один подзапрос — колчество запросов к базе данных начинает расти в геометрической прогрессии.
При работе с graphql очень просто породить проблему «SELECT N + 1», если в resolver-функции сделать подзапрос к связанной таблице. Первое что приходит в голову — сделать запрос сразу с учетом всех связанных данных, но это, согласитесь, нерационально, если связанные данные не запрашиваются клиентом.
Один из вариантов решения проблемы «SELECT N + 1» для graphql будет рассмотрен в этом сообщении.
Читать полностью »
Apollo graphql client — разработка изоморфных (универсальных) приложений на react.js
2018-05-20 в 1:08, admin, рубрики: Apollo, graphql, javascript, node.js, nodejs, Разработка веб-сайтовВ предыдущем сообщении Apollo graphql client применялся для разработки чисто клиентского приложения. В документации Apollo graphql client есть (очень лаконичный) раздел, посвященный серверному рендерингу и изоморфным приложениям.
Одна из сложностей серверного рендеринга в react.js является необходимость асинхронной загрузки данных, т.к. серверный рендеринг в reaсt.js — операция синхронная. Например, фреймверк next.js предлагает для этого использовать специальный компонент page в котором реализован дополнительный метод static async getInitialProps()
, в котором предлагается проводить асинхронную загрузку данных. Такое решение не лишено недостатков. Например, этот метод статический, следовательно не имеет доступ к экземпляру компонента, метод реализован только для компонента самого верхнего уровня и отсутствует у вложенных компонентов. Решение с Apollo graphql client может быть использовано для компонента произвольного уровня вложенности.
Читать полностью »
Apollo graphql client — разработка приложений на react.js без redux
2018-05-10 в 23:30, admin, рубрики: Apollo, graphql, javascript, node.js, react.js, ReactJSСразу уточню. Apollo graphql client использует redux под капотом. То есть, никто не собирается отказываться от redux. Просто ничего из того что описано в документации redux для работы с Apollo graphql client не понадобится. То, о чем я хотел бы рассказать в этой статье — это что связка react + apollo client + graphql существенно (на порядок) упрощает разработку приложений react.
Читать полностью »
Готовим iOS клиента для GraphQL
2018-04-04 в 13:22, admin, рубрики: api, Apollo, graphql, graphql-client, iOS, swift, Блог компании Sports.ru, мобильная разработка, разработка мобильных приложений, разработка под iOS
Я уверен, что каждый из нас хоть когда-то испытывал проблемы с REST API. Вечные баталии с бэком за нужный формат API, несколько запросов на экран и прочее. Согласитесь, что это не редкость, а ежедневная рутина. А еще недавно Tribuna Digital запустила новый проект — Betting Insider. Изначально проект был реализован на iOS и Android, а позже началась разработка веб версии. Имеющееся API оказалось очень неудобным для веба. Это все привело к тому, что мы решили устроить эксперимент и попробовать GraphQL вместе с клиентом от Apollo. Если хотите познакомится с данной технологией в iOS поближе, то добро пожаловать под кат!
Читать полностью »
Анонс RamblerFront& #4
2018-03-21 в 10:37, admin, рубрики: angular, Apollo, css, graphql, html, javascript, React, ReactJS, Блог компании Rambler&Co
29 марта на Мансарде Rambler&Co состоится четвертый внешний RamblerFront& meetup, на котором наши сотрудники поделятся прикладными знаниями в области frontend-разработки.
Читать полностью »
Дайджест интересных материалов для мобильного разработчика #243 (26 февраля— 4 марта)
2018-03-04 в 13:34, admin, рубрики: App Store, ARCore, firebase, flutter, graphql, swift, Блог компании Everyday Tools, искусственный интеллект, маркетинг мобильных приложений, машинное обучение, разработка игр, разработка мобильных приложений, Разработка под android, разработка под iOSВ нашем первом весеннем дайджесте продолжение истории «Микро-математики», изучение Swift за 60 секунд, Unit-тесты и анимации, интерфейсы, Flutter, ARCore и ориентиры для мобильных маркетологов. Всем весны!
Дуглас Крокфорд, Азат Мардан, Виталий Фридман и все-все-все: анонс бесплатной YouTube-трансляция HolyJS 2017 Moscow
2017-12-08 в 7:22, admin, рубрики: angular, AngularJS, graphql, headless browser, holyjs, holyjs2017moscow, javascript, JS, Node, node.js, nodejs, Puppeteer, React, ReactJS, TypeScript, Блог компании JUG.ru Group, Разработка веб-сайтовКоротко о событии
Конференция: HolyJS 2017 Moscow
Дата: 10-11 декабря 2017 года
Бесплатная трансляция (только первый зал): страница трансляции на официальном сайте.
Любой JavaScript-разработчик однажды задается вопросом: на какую конференцию по JavaScript сходить? Интересные доклады послушать, людей посмотреть, себя показать. В 2016 году мы пошли по тому же пути и обнаружили, что в России ничего подходящего на эту тему нет. Всевозможные митапы по фронту — пожалуйста. Но ведь JS давно уже не только фронт. Короче, мы решили исправить эту несправедливость и создали главную и единственную в России JavaScript-конференцию, HolyJS. На Холи бывает не только фронт, но и бэкенд, десктоп, и даже работа с железом. Теперь нам всем есть куда ходить, но это не конец истории.
В JavaScript-мире есть важнейшая особенность, которая отличает его от миров типа Java и .NET: технологии и фреймворки развиваются стремительно. Не попавшие на конференцию люди оказываются в невыгодном положении — мало кому хочется смотреть записи, устаревшие на 4 месяца. Обычно есть несколько фундаментальных докладов, которыми можно гордиться и пересматривать еще пару лет, но большая часть материала интересна и полезна в моменте: посмотрел, послушал, пошел использовать на работе. Всё это останется за пэйволлом? А как же комьюнити и чувство локтя? Нет ли в этом чего-то неправильного?
Теперь трансляцию первого зала можно смотреть бесплатно, с нашего сайта и на YouTube. Это позволяет всем желающим присоединиться к конференции и провести на ней все два дня. Прийти вживую было бы круче, но на этой полномасштабной трансляции можно по-настоящему погрузиться в тему и ощутить атмосферу происходящего.
GraphQL — новый взгляд на API. Ч.1
2017-12-04 в 14:33, admin, рубрики: api, graph api, graphql, javascript, ReactJS, restВсем привет, хочу поделиться накопленными знаниями по GraphQL, которые сформировались на основе около сотни прочитанных статей/доков и месяца построения API используя GraphQL.
Ну что ж, начнем с того, что такое GraphQL?
GraphQL — это стандарт декларирования структуры данных и способов получения данных, который выступает дополнительным слоем между клиентом и сервером.
Одной из основных фичей GraphQL является то, что структура и обьем данных определяется клиентским приложением.
Рассмотрим пример простого запроса пользователя.
Клиент точно указывает, какие данные он хочет получить, используя декларативную, графо-подобную структуру, которая очень напоминает формат JSON.
Читать полностью »