Rethinking GraphQL with Wundergraph

แชร์
ฝัง
  • เผยแพร่เมื่อ 28 ก.ค. 2024
  • Have we been thinking about GraphQL all wrong? Could we just use GraphQL at build time? Let's find out as we explore Wundergraph and it's amazing aggregation system, type management and it's new take on how, and when, GraphQL fits into our architectures.
    Wundergraph: wundergraph.com/
    GraphQL on the Internet article: wundergraph.com/blog/graphql_...
    👉 What's my theme? Night Wolf [black]
    👉 What's that font? Operator Mono
    👉 I'm a host on the React Round Up podcast: devchat.tv/podcasts/react-rou...
    👉 Don't forget to subscribe to this channel for more updates: bit.ly/2E7drfJ
    👉 Discord server signup: / discord
    0:00 Introduction
    0:32 GraphQL Pain Points
    1:41 Introducing Wundergraph
    4:06 Getting Started
    5:08 Adding a Table
    6:28 Adding a Query
    9:33 Adding a Mutation
    11:37 Using Live Queries
    12:95 Using Forms
    13:24 "Server-Side Only" GraphQL
    15:44 Non-React Clients
    16:19 Outroduction
    #graphql #wundergraph
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 63

  • @dinoscheidt
    @dinoscheidt 2 ปีที่แล้ว +5

    This is like a self run firebase / amplify data application layer. Very interesting - thank you very much for covering this!

  • @danieljimenezG
    @danieljimenezG 2 ปีที่แล้ว +4

    Never heard about wundergraph before, I like it's more precise on the client side than using urql with Hasura. Greetings Jack.

  • @imjulianeral
    @imjulianeral 2 ปีที่แล้ว +4

    This is the most insane tool I've seen, thanks for making a video about it

  • @kysonic
    @kysonic 2 ปีที่แล้ว +2

    Thank you for the video! Really interesting approach, better and faster than pure prisma + any gql server

  • @uquantum
    @uquantum ปีที่แล้ว +1

    Fills a vacuum in this space, thank you so much for sharing. Coolest of times for devs and clients: Wundergraph enables front-end devs to perform like full-stackers, see the larger picture and begin to influence and control the back-end. Watch out back-enders, front-enders are gonna eat your lunch!

  • @mohammadsheikh7564
    @mohammadsheikh7564 2 ปีที่แล้ว +2

    Thanks for the great video as always! Continuing on with the GraphQL theme, I'd love to hear your thoughts on technologies like Postgraphile that allow you to map GraphQL queries to a single SQL query instead of relying on batching + multiple requests.

    • @jherr
      @jherr  2 ปีที่แล้ว +1

      I'll check that out!

  • @adarshpandya
    @adarshpandya 2 ปีที่แล้ว +6

    I tell my friends to watch your video. In my college everyone likes your typescript videos. These are so unique videos. Would love to know your journey. I.e how you started and how you reached where you are right know. These videos Gives me inspiration to code. I'm not that great on coding. But I'm sure i can get better at it...

    • @jherr
      @jherr  2 ปีที่แล้ว +6

      Thanks! I'll have more a think about a journey video. I'd feel weird making it super self-centered. :) Thanks for asking. The best way to get better at coding is to keep coding, daily. And to work with other people and read other people's code.

  • @JamesQQuick
    @JamesQQuick 2 ปีที่แล้ว +1

    Nicely done!

  • @sajedsoliman4780
    @sajedsoliman4780 2 ปีที่แล้ว +1

    Thank you for this knowledge 🙏

  • @a1nd23
    @a1nd23 2 ปีที่แล้ว +1

    Thank you for posting this amazing content.
    BTW - I never thought that there were green trees and flowers during winter in Oregon ;)

    • @jherr
      @jherr  2 ปีที่แล้ว

      Hahah, yeah, my green screen plate is from the summer. :) It certainly will not be looking like that next week as we hopefully, get covered in snow.

  • @shinmessiah
    @shinmessiah 2 ปีที่แล้ว +1

    Great content thank you Jack

  • @AndreasSchlapbach
    @AndreasSchlapbach 2 ปีที่แล้ว +3

    Interestingly, the tool chain reminds my in many ways of Django except for the client creation..

  • @eleah2665
    @eleah2665 2 ปีที่แล้ว +3

    Cool. I have framework vertigo. The really smart people keep making things "easier" for me.

  • @21Blankenship
    @21Blankenship 2 ปีที่แล้ว +1

    Woah this is amazing

  • @Balance-8
    @Balance-8 2 ปีที่แล้ว +1

    incredible video

  • @muhadbk0
    @muhadbk0 2 ปีที่แล้ว +4

    This is nice one, but if you can look and make video on Keystone JS v6 it would be great for the TS community.

    • @Balance-8
      @Balance-8 2 ปีที่แล้ว

      second on keystone js new GA version

  • @elamandeep
    @elamandeep ปีที่แล้ว

    Hi jack! Please make video on graphql vs REST. I'm totally confused which is good. I want to hear from you.

  • @rikyriky966
    @rikyriky966 2 ปีที่แล้ว +5

    I use Hasura. Why should I use Wundergraph? Or these two are different?

    • @abdelhameedhamdy
      @abdelhameedhamdy 2 ปีที่แล้ว +2

      Same question here

    • @jherr
      @jherr  2 ปีที่แล้ว +3

      I like Hasura as well, and the Wundergraph team is on here, so maybe they can answer better, but from my perspective, Wundergraph has multiple data source aggregation, built in typescript code generation, and the server-side-only GraphQL model as distinguishing benefits. So... a lot.

    • @abdelhameedhamdy
      @abdelhameedhamdy 2 ปีที่แล้ว

      I think one of WG pros is not exposing the graphql endpoint when invoked for security purposes, if understood well.

    • @wundergraph
      @wundergraph 2 ปีที่แล้ว +3

      I answered the question above as well, but trying to add some useful information here too. Translating between Database and API layer is one of the many problems to solve when building an application. Both Hasura and WunderGraph solve this problem. Both add a lot more on top of that, for example permissions etc... That said, Hasura draws a line where its responsibility stops, and that's right in front of the GraphQL API. Hasura directly exposes a GraphQL API and offers a few mechanisms, like whitelisting, to protect this API. WunderGraph on the other hand goes a fundamentally different way. We don't expose a GraphQL API because we believe nobody should expose GraphQL in the first place. Instead, we expose a secure and web compliant REST API, where Queries will be used via GET requests and mutations over POST. Hiding GraphQL behind a REST API doesn't just improve security, it comes with a lot of other benefits. For example, we can use the WunderGraph code generator to generate a client that is 100% type safe and works perfectly fine with the generate REST API. It doesn't just handle API access but also authentication and file uploads. Although I was mentioning REST a few times, the whole developer experience still feels like you're using GraphQL, just like you saw in the video from Jack. So, to sum it up. Other solutions provide an API. WunderGraph is the only tool to give you and end-to-end solution, from backend to frontend, without any additional dependencies or fiddling around.

  • @JasonChannelOne
    @JasonChannelOne 2 ปีที่แล้ว +1

    Hi Jack. There are a lot of great tools coming out right now, but it's getting harder to figure out what's important and what's not. Also, I have no idea how much Wundergraph would add to the cost of running an application in production. Could you elaborate on your thoughts on this? ( Importance, Price )

    • @jherr
      @jherr  2 ปีที่แล้ว +2

      It's a Go server, serving REST, which is going to mean that it can return more requests per second, which would reduce cost versus say Apollo server on Express, which is Node, plus it's having to interpret and validate each GraphQL request.

  • @nirajkashyap5195
    @nirajkashyap5195 ปีที่แล้ว

    Hi Jack Herrington
    what is the better option? wundergraph or supabase

  • @dgcp354
    @dgcp354 2 ปีที่แล้ว +1

    Hi Jack, which ORM do you prefer using, prisma is the best for me,

    • @jherr
      @jherr  2 ปีที่แล้ว

      Prisma is fantastic.

  • @amarg26
    @amarg26 2 ปีที่แล้ว +1

    What is the difference between React-Query, React Location, Redux Toolkit, and Relay-GraphQL? Can we have the series on all of them in the next year?

    • @jherr
      @jherr  2 ปีที่แล้ว +1

      React-Query makes it easier to do HTTP queries from the client (or the server during SSR). React Location is a router. Redux Toolkit is a helper library to make build Redux stores easier. And Relay is a framework that makes it easier to manage GraphQL requests.

  • @abdelhameedhamdy
    @abdelhameedhamdy 2 ปีที่แล้ว +1

    one question please Jack, what intellisense/autocomplete and syntax highlighting tool is used in graphql queries file :)

    • @jherr
      @jherr  2 ปีที่แล้ว

      That's GitHub Copilot.

    • @abdelhameedhamdy
      @abdelhameedhamdy 2 ปีที่แล้ว

      @@jherr thanks 👍

  • @thiccboi6211
    @thiccboi6211 2 ปีที่แล้ว +1

    What are you using to write in freehand that syncs to your desktop? Is that an iOS app?

    • @jherr
      @jherr  2 ปีที่แล้ว +1

      I use ScreenBrush and a tablet.

  • @abdelhameedhamdy
    @abdelhameedhamdy 2 ปีที่แล้ว +1

    Nice video, getting hooks from wundergraph is something like graphql codegen with react query, right !

    • @jherr
      @jherr  2 ปีที่แล้ว +2

      Yes, but also it has mulit-source data aggregation and the server-side-only GraphQL model.

    • @abdelhameedhamdy
      @abdelhameedhamdy 2 ปีที่แล้ว

      @@jherr Awesome, thanks 👍

  • @vizunaldth
    @vizunaldth 2 ปีที่แล้ว +1

    this thing's sweet!

  • @IliasYahia
    @IliasYahia 2 ปีที่แล้ว +2

    Another great tutorial! I have one question please : which VSCODE theme are you using?

    • @jherr
      @jherr  2 ปีที่แล้ว +2

      Night Wolf [dark] and Operator Mono

  • @Balance-8
    @Balance-8 2 ปีที่แล้ว +1

    @6:26 you get rich autocomplete. I cant seem to get that? Is there an extension or setting I am missing, I do not think that is github auto pilot as its from the command space menu.

    • @jherr
      @jherr  2 ปีที่แล้ว +2

      That's the GraphQL extension looking at the GraphQL schema generated by Wundergraph.

  • @abdelhameedhamdy
    @abdelhameedhamdy 2 ปีที่แล้ว +1

    Can wundergraph (WG) be used with Hasura together, like Prisma used here ! i.e. feeding WG with the Hasura graphql endpoint to get the pros of WG.

    • @jherr
      @jherr  2 ปีที่แล้ว +1

      Yes. You can front Hasura with Wundergraph since WG can consume GraphQL data sources.

  • @mhmmdshaz98
    @mhmmdshaz98 2 ปีที่แล้ว +1

    So you're the guy who wrote those vim plugins. Cool.

    • @jherr
      @jherr  2 ปีที่แล้ว +1

      No, not that I'm aware of. I use vim now and again, but I'm a VS Code person, and have never written a vim plugin.

    • @mhmmdshaz98
      @mhmmdshaz98 2 ปีที่แล้ว +2

      @@jherr Oops, really sorry about that. Now that I've looked him up, it's another Herrington.😶.

    • @jherr
      @jherr  2 ปีที่แล้ว +1

      @@mhmmdshaz98 Huh, ok. Not a lot of Herringtons out there. :) Lots of Harringtons though.

    • @mhmmdshaz98
      @mhmmdshaz98 2 ปีที่แล้ว

      Also, he too works with TypeScript stuff, I've used his TS plugin. That's how I came to this confusion.😛.

  • @syz3981
    @syz3981 2 ปีที่แล้ว +1

    how do u get all that ineligent auto complete ?

    • @jherr
      @jherr  2 ปีที่แล้ว

      GitHub Copilot

  • @Cowglow
    @Cowglow 2 ปีที่แล้ว

    Wait. have you also seen Hasura?

    • @jherr
      @jherr  2 ปีที่แล้ว +1

      Yeah, we used it at the last job. I'm not 100% on the full Hasura feature set but I think Wundergraph has advantages in being able to aggregate more data sources, do automatic typing, and also the server-side only GraphQL model.

    • @Cowglow
      @Cowglow 2 ปีที่แล้ว

      @@jherr gonna give it try. Great content btw

    • @abdelhameedhamdy
      @abdelhameedhamdy 2 ปีที่แล้ว

      @@jherr Agree, WG is more generalized, they are API-oriented, while Hasura is Database-oriented (Postgres in specific), in terms of security and authorization/authentication, caching side, WG is doing a great job, I checked a link on their site discussing the difference vs hasura, they are probably biased in this comparison.
      Thanks Jack for the demo .

  • @leularia
    @leularia 2 ปีที่แล้ว +3

    Woow First 😉🙌 😎 zs cool

  • @frankkevy
    @frankkevy 2 ปีที่แล้ว +1

    Second😌

  • @sanzhar.danybayev
    @sanzhar.danybayev 2 ปีที่แล้ว +1

    I guess I'm third)

  • @RedCloudServices
    @RedCloudServices ปีที่แล้ว

    i think Hasura does a better job and doesn’t require all this TS