Rethinking GraphQL with Wundergraph

Sdílet
Vložit
  • čas přidán 22. 07. 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
  • Věda a technologie

Komentáře • 63

  • @dinoscheidt
    @dinoscheidt Před 2 lety +5

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

  • @imjulianeral
    @imjulianeral Před 2 lety +4

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

  • @danieljimenezG
    @danieljimenezG Před 2 lety +4

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

  • @kysonic
    @kysonic Před 2 lety +2

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

  • @uquantum
    @uquantum Před rokem +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!

  • @adarshpandya
    @adarshpandya Před 2 lety +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  Před 2 lety +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.

  • @mohammadsheikh7564
    @mohammadsheikh7564 Před 2 lety +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  Před 2 lety +1

      I'll check that out!

  • @sajedsoliman4780
    @sajedsoliman4780 Před 2 lety +1

    Thank you for this knowledge 🙏

  • @a1nd23
    @a1nd23 Před 2 lety +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  Před 2 lety

      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.

  • @AndreasSchlapbach
    @AndreasSchlapbach Před 2 lety +3

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

  • @nirajkashyap5195
    @nirajkashyap5195 Před rokem

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

  • @elamandeep
    @elamandeep Před rokem

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

  • @JamesQQuick
    @JamesQQuick Před 2 lety +1

    Nicely done!

  • @eleah2665
    @eleah2665 Před 2 lety +3

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

  • @shinmessiah
    @shinmessiah Před 2 lety +1

    Great content thank you Jack

  • @abdelhameedhamdy
    @abdelhameedhamdy Před 2 lety +1

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

  • @rikyriky966
    @rikyriky966 Před 2 lety +5

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

    • @abdelhameedhamdy
      @abdelhameedhamdy Před 2 lety +2

      Same question here

    • @jherr
      @jherr  Před 2 lety +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 Před 2 lety

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

    • @wundergraph
      @wundergraph Před 2 lety +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 Před 2 lety +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  Před 2 lety +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.

  • @thiccboi6211
    @thiccboi6211 Před 2 lety +1

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

    • @jherr
      @jherr  Před 2 lety +1

      I use ScreenBrush and a tablet.

  • @dgcp354
    @dgcp354 Před 2 lety +1

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

    • @jherr
      @jherr  Před 2 lety

      Prisma is fantastic.

  • @Balance-8
    @Balance-8 Před 2 lety +1

    incredible video

  • @Balance-8
    @Balance-8 Před 2 lety +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  Před 2 lety +2

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

  • @21Blankenship
    @21Blankenship Před 2 lety +1

    Woah this is amazing

  • @muhadbk0
    @muhadbk0 Před 2 lety +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 Před 2 lety

      second on keystone js new GA version

  • @amarg26
    @amarg26 Před 2 lety +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  Před 2 lety +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 Před 2 lety +1

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

    • @jherr
      @jherr  Před 2 lety +2

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

    • @abdelhameedhamdy
      @abdelhameedhamdy Před 2 lety

      @@jherr Awesome, thanks 👍

  • @abdelhameedhamdy
    @abdelhameedhamdy Před 2 lety +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  Před 2 lety +1

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

  • @vizunaldth
    @vizunaldth Před 2 lety +1

    this thing's sweet!

  • @IliasYahia
    @IliasYahia Před 2 lety +2

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

    • @jherr
      @jherr  Před 2 lety +2

      Night Wolf [dark] and Operator Mono

  • @syz3981
    @syz3981 Před 2 lety +1

    how do u get all that ineligent auto complete ?

    • @jherr
      @jherr  Před 2 lety

      GitHub Copilot

  • @mhmmdshaz98
    @mhmmdshaz98 Před 2 lety +1

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

    • @jherr
      @jherr  Před 2 lety +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 Před 2 lety +2

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

    • @jherr
      @jherr  Před 2 lety +1

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

    • @mhmmdshaz98
      @mhmmdshaz98 Před 2 lety

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

  • @Cowglow
    @Cowglow Před 2 lety

    Wait. have you also seen Hasura?

    • @jherr
      @jherr  Před 2 lety +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 Před 2 lety

      @@jherr gonna give it try. Great content btw

    • @abdelhameedhamdy
      @abdelhameedhamdy Před 2 lety

      @@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 Před 2 lety +3

    Woow First 😉🙌 😎 zs cool

  • @frankkevy
    @frankkevy Před 2 lety +1

    Second😌

  • @sanzhar.danybayev
    @sanzhar.danybayev Před 2 lety +1

    I guess I'm third)

  • @RedCloudServices
    @RedCloudServices Před rokem

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