분류 php

GraphQL 도구 및 라이브러리

컨텐츠 정보

  • 조회 687 (작성일 )

본문

GraphQL 자체에 대한 글에 관심이 있으시면 여기를 참조하십시오. 이 글에서는 더욱 유용하게 사용할 수 있는 여러 편리한 GraphQL 도구를 살펴 보겠습니다. 그 중 상당수가 있으므로 한 번에 많은 문제를 해결할 수는 없습니다.


Prisma 


앞서 언급 했듯이 GraphQL로 작업하려면 데이터베이스를 설정해야 합니다. 음, BaaS도 있으므로 아웃소싱 할 수 있습니다.하지만 원하지 않으면 어떻게 해야 합니까? 이것이 Prisma가 등장하는 곳이며, 직접 수행하는 것과 아웃소싱 사이의 영리한 중간 지점입니다. Prisma는 사용자가 선택한 언어로 서버에서 데이터베이스와 상호 작용할 수 있는 ORM 라이브러리입니다. 따라서 MySQL 데이터베이스에 작성하려는 경우 SQL로 작성하지 않아도됩니다. Prima를 사용하면 Python, JavaScript 또는 선호하는 다른 언어로 작성할 수 있습니다.


"예,하지만 일반 ORM 라이브러리가 하는 일입니다."라고 생각할 수 있습니다. 사실이지만 Prisma에는 몇 가지 추가 기능이 있습니다. 


  • 데이터베이스 불가지론 : Prisma는 현재 MySQL, PostgreSQL, MariaDB, SQLite 및 AWS Aurora를 지원하며 곧 더 많은 기능이 제공 될 예정입니다.
  • TypeScript, JavaScript, Flow 및 Go를 지원합니다.
  • 미리 만들어진 기본 CRUD 쿼리를 제공합니다.

Prisma GraphQL 

출처 : prisma.io


Relay 


Relay는 Facebook에서 GraphQL 데이터를 가져오고 관리하기 위해 만든 JavaScript 프레임 워크입니다. Relay는 코드 유효성 검사 및 최적화에 중점을 둔 GraphQL 사용자에게 유용한 도구입니다. 또 다른 초점은 GraphQL과 React 사이의 다리입니다. Relay를 사용하면 GraphQL을 사용하여 데이터 요구 사항을 설정 한 다음 가져 오기를 처리하고 네트워크 요청에 대한 쿼리를 수집하여 원하는 것을 정확하게 얻을 수 있습니다.


릴레이는 느슨하게 결합 된 세 가지 주요 모듈로 구성됩니다.


  • 릴레이 컴파일러 : 코드에서 GraphQL을 분석, 검증 및 최적화 하는 GraphQL 컴파일러입니다.
  • Relay Runtime : 더 높은 수준의 클라이언트 API를 구축하기 위한 모든 기능을 갖춘 GraphQL 런타임
  • Relay / React : Relay Runtime과 React를 통합하는 제품 API


Relay GraphQL 

출처 : relay.dev


Apollo 


APOLLO 플랫폼은 서버에서 UI로 데이터를 전송하는 GraphQL의 구현입니다. Apollo-client는 GraphQL로 로컬 및 원격 데이터를 모두 관리 할 수 있는 JavaScript 용 포괄적 인 상태 관리 라이브러리입니다. 목표는 GraphQL을 통해 데이터를 가져 오는 UI 구성 요소를 빌드 할 수 있도록 하는 것입니다. Apollo-server는 Apollo-client를 포함한 모든 GraphQL 클라이언트에서 쿼리 할 수 있는 사양 준수 서버를 사용하여 모든 소스의 데이터를 사용하여 GraphQL 용 API를 구축하는 빠른 방법입니다.


Apollo 클라이언트 기능을 살펴 보겠습니다.


  • 데이터 가져 오기에 대한 선언적 접근 방식, 데이터 검색, 추적,로드 및 UI에 업로드하는 모든 로직이 단일 쿼리에 포함됩니다.
  • 최신 React 용으로 설계된 Apollo 클라이언트는 후크와 같은 최신 React 기능을 활용합니다.
  • 적응 가능하고 모든 JavaScript 앱에 원활하게 드롭 할 수 있습니다.
  • 보편적으로 호환되며 모든 GraphQL API와 함께 사용할 수 있습니다.

Apollo GraphQL 

출처 : apollographql.com


Hasura 


Hasura는 빠른 속도와 성능을 자랑하는 GraphQL 엔진입니다. Postgres 데이터베이스에서 즉각적인 실시간 GraphQL API를 제공하며, 데이터베이스 이벤트에 대한 비즈니스 로직 및 웹 후크 트리거를 위한 ​​원격 스키마를 제공합니다.


초점은 Postgres가 지원하는 GraphQL 앱을 빠르게 빌드하거나 Postgres를 사용하여 기존 앱을 GraphQL로 이동하는 데 도움을 주는 것입니다.


  • 실시간, 구독을 통해 GraphQL 쿼리를 라이브 쿼리로 변환,
  • 빠르고 즉시 사용할 수 있습니다. Postgres 데이터베이스를 가리 키기 만하면 GraphQL API를 즉시 얻을 수 있습니다.
  • 강력한 쿼리, Hasura에는 필터링, 페이지 매김, 패턴 검색, 대량 삽입, 업데이트, 변형 삭제,
  • 곧 출시 될 많은 기능으로 상당히 새롭고 빠르게 개발되고 있습니다.

Hasura GraphQL 


출처 : hasura.io


URQL 


urql은 Formidable labs의 다목적 및 고도로 적응 가능한 GraphQL 클라이언트입니다. React hook과 컴포넌트를 사용하며 다른 것보다 가벼운 클라이언트가 되려고 합니다. 필요에 맞게 사용자 정의하고 GraphQL 작업을 진행함에 따라 미세 조정할 수 있는 다용도 도구입니다.


목표는 중간 지점에 도달하여 다음과 같은 방법으로 복잡한 과제를 처리 할 수 있는 동시에 다소 단순하게 유지하는 것입니다.


  • 다른 클라이언트보다 훨씬 가벼운 성능 및 기능,
  • 클라이언트는 API, 앱 또는 프레임 워크와의 상호 작용을 처리하는 몇 가지 기본 Exchange, 쉽게 사용자 지정할 수 있는 코드를 제공합니다.
  • 즉시 사용할 수 있는 urql은 기본적으로 즉시 작업 할 준비가 되어 있으며 다른 클라이언트처럼 광범위한 구성이 필요하지 않습니다.
  • 상징적 인 시트콤 캐릭터의 이름을 따서 명명되었습니다.

URQL GraphQL 

출처 : formidable.com/urql/


이제 GraphQL 도구를 처음 살펴 보았습니다. 그중 5 개에 불과하고 GraphQL에는 선택할 수 있는 다른 도구가 많이 있습니다. 그래서 내가 당신의 마음에 드는 것을 놓친 경우 코멘트에 언급하고 다음 부분을 계속 지켜봐 주십시오!


GraphQL API 개발 속도 향상 


GraphQL 편집기는 고급 GraphQL 사용자와 GraphQL API를 처음으로 사용하는 사용자 모두를 위한 지원 도구입니다. GraphQL 용 올인원 개발 환경은 수십 개의 내장 마이크로 기능 덕분에 GraphQL API를 훨씬 빠르게 구축, 관리 및 배포하는 데 도움이 됩니다. 그래픽 인터페이스는 또한 제품 팀 내의 커뮤니케이션을 수정합니다. 시각화가 핵심입니다!


https://graphqleditor.com/


https://blog.graphqleditor.com/static/pizza-2-9fa22c9788d1745145df77c0a0ea866c.mp4