No video

Guide to the GraphQL Ecosystem

  Рет қаралды 60,669

Ben Awad

Ben Awad

Күн бұрын

Пікірлер: 102
@letranvinhtri
@letranvinhtri 4 жыл бұрын
I love watching Ben videos because he does not force audiences to use any specific libraries. Instead, he points out libraries pros and cons. Every library is good and made by incredible people. Excellent video!. Thanks Ben
@jacksontaylor3220
@jacksontaylor3220 3 жыл бұрын
Unless it's angular
@samuelgunter
@samuelgunter 3 жыл бұрын
@@user-ez6xb3rf3p AnGuLaR IsN'T A LiBrArY, iT'S A FrAmEwOrK
@gokuldinesh8851
@gokuldinesh8851 3 жыл бұрын
@@user-ez6xb3rf3p bruhh. He is just saying his opinion and its more like a joke at this point
@NeilTruick
@NeilTruick 4 жыл бұрын
15:29 - "For this, I'm focusing on React, because that is the framework...excuse me, _library_ that I use." Ben, this is only the second video of yours I've watched because I just built my first working GraphQL server using express-graphql and I want to learn more. I clicked the Subscribe button because of the sentence above.
@bawad
@bawad 4 жыл бұрын
don't forget to follow me on twitter too ;) twitter.com/benawad/status/1185771363388346369
@ajaybanstola123
@ajaybanstola123 4 жыл бұрын
I'm gonna come to this video later, WHEN I NEED IT.
@Mustafaismail22
@Mustafaismail22 4 жыл бұрын
👍
@williamboshi1855
@williamboshi1855 4 жыл бұрын
lmao
@hsemog
@hsemog 4 жыл бұрын
Always appreciate you sharing your knowledge Ben! Thank you.
@waynevanson277
@waynevanson277 4 жыл бұрын
NOW I KNOW! I've definitely had trouble with how all the database services work together, but know I'm more informed. Thank you so much!
@PranayPratyush
@PranayPratyush 4 жыл бұрын
Need more content creators like Ben. If only Ben could analyze every ecosystem for me that would be great.
@tak68tak
@tak68tak 4 жыл бұрын
Thanks for a bird view explanation about GraphQL, which is really helpful to get better understanding it.
@petecapecod
@petecapecod 4 жыл бұрын
Ben that video was awesome 😎 Content: 🔥 Presentation: 🔥 Delivery: 🔥
@bawad
@bawad 4 жыл бұрын
Thank you 🙂
@ferdinandocoluccelli9574
@ferdinandocoluccelli9574 4 жыл бұрын
Hi Ben, thank you for this video that gives a full view of usingGraphQL. You are very clear in your explanation.
@bawad
@bawad 4 жыл бұрын
thanks
@JonParton
@JonParton 4 жыл бұрын
Great run down Ben! Been starting my graphql journey and you hit on all the tech that I've ended up researching and a few more!! Thanks for sharing!
@pranav.bhasin
@pranav.bhasin 2 жыл бұрын
I'd love to hear a more recent version of this video
@Tyler8Oliver
@Tyler8Oliver 4 жыл бұрын
I personally like to front my data and business layers with either a restful or rpc interface that graphql then communicates to to get the data needed for its consumer.
@omemester6985
@omemester6985 3 жыл бұрын
Would love to see an updated Prisma review on the channel
@guyman8282
@guyman8282 4 жыл бұрын
Personally I love Ariadne (schema first python) for graphql backend and nuxt (vue framework) frontend. Super simple yet super powerful
@xiaokourou
@xiaokourou 4 жыл бұрын
guyman8282 I like that stack a lot but I’m wondering how you handle offline and sync merge conflicts without using appsync
@nbaua3454
@nbaua3454 4 жыл бұрын
Bro, you're always awesome with graphql stuff.. love this video. kudos
@JuanSB827
@JuanSB827 4 жыл бұрын
This channel is gold
@bawad
@bawad 4 жыл бұрын
Thanks!
@andriyleliv4608
@andriyleliv4608 2 жыл бұрын
Great - thank you.
@danieldosen5260
@danieldosen5260 4 жыл бұрын
+1 for typeorm and type-graphql. I'm also a big fan of mobx - but am not sure how mature mst-gql is for client-side work. Try it and let us know :)
@fullofcaffeine
@fullofcaffeine 4 жыл бұрын
I'm using it and albeit I'm finding some bumps along the way, all of them so far were related to the learning curve :) It's actually quite awesome.
@MrJohn360
@MrJohn360 4 жыл бұрын
Great video, thanks for sharing!
@JDiculous1
@JDiculous1 4 жыл бұрын
absolute gold, thanks!!
@khaldrogo9451
@khaldrogo9451 3 жыл бұрын
9:23 - I have come from the future, where the current future of typeorm is uncertain (the maintainer isn't sure if he will be spending more time on it going forward). After much research, I have decided to use mikro-orm instead. Anyone that might be making the same choice, I hope my decision proves helpful.
@farshadgh2011
@farshadgh2011 3 жыл бұрын
Thanks this really helped me
@VladyVeselinov
@VladyVeselinov 4 жыл бұрын
When you're dealing with big schemas that you're not familiar top to bottom, code-first gql is REALLY cumbersome to read and detters people from contributing to the codebase. If you're going to work on an app with multiple people, especially large teams, I'd advise you go for the schema-first approach.
@bawad
@bawad 4 жыл бұрын
this is where graphql-playground comes in handy to see the entire schema I actually like code-first better for large projects because the typedefs and resolvers are together
@RiccoSobers
@RiccoSobers 4 жыл бұрын
Great video. I really like the TypeORM + TypeGraphQL. Even though I'm not a big fan of class syntax (preference) but this seems very efficient. Isn't KnexJS a query builder and Objection uses KnexJS under the hood. Prisma 2's Photon is an interesting ORM
@planetmall2
@planetmall2 4 жыл бұрын
Great job with this video.
@ProgrammingwithPeter
@ProgrammingwithPeter 4 жыл бұрын
I totally love NestJS, is going to get big if it gets a community!
@cuppajoe5777
@cuppajoe5777 4 жыл бұрын
I think there's a lot of misconceptions in what GraphQL should be used for; You talked about having to sync your database to the GraphQL schema. A better way is actually to split up the concerns of how you store your data and how that data is accessed and operated upon. GraphQL is a great way to think about what data your application provides without leaking the specifics of how that data is stored. You could have multiple databases in different ways, and unify the access through GraphQL. You could argue that generating the types would be helpful, but then you're tying your GraphQL schema to your database and that has the consequence of having to update the schema on each change to underlying data. A way to think of this is, when you flesh out details about what your application is about, GraphQL can be a great tool to specify the kinds of data that should be visible in the UI. It's establishing a contract between consumer and provider, rather than implementation details.
@bawad
@bawad 4 жыл бұрын
You can pick which fields you expose from the database and still share models
@cuppajoe5777
@cuppajoe5777 4 жыл бұрын
@@bawad That is true for TypeORM in this case, but my point was more that you could use GraphQL to define the data that your UI needs, rather than defining the schema 1:1 with the database. Coupling GraphQL to your database has its drawbacks. First, you leak information about _how_ your data is stored, rather than _what_. This can make it difficult to keep a consistent schema across services and databases. It also makes scaling very hard when using different data sources. You'll need to define a source of truth for what data is available. I say this from my experience working with GraphQL and a variety services with different databases and endpoints. We ended up with a single GraphQL schema that defined the data that should be available in the UI. Types can be based on the data that different services provided, and the resolvers would take care of fetching and prepare the data when being queried. This also tied perfectly in with caching as we can use the schema to verify the schema of data in cache (using in-house tools) and deprecate anything with GraphQL if needed.
@bawad
@bawad 4 жыл бұрын
yeah that's a good point, there are times where the data needs for the UI are totally different from the database
@jerrytab4276
@jerrytab4276 4 жыл бұрын
If you use mongodb and typescript you can use typegoose orm its like typeorm
@-Jakob-
@-Jakob- 4 жыл бұрын
Perfect, almost all the stuff I'm using for my current project is what Ben recommends. type-graphql together with TypeORM is really nice, for SPOT/SSOT's sake, don't miss it.
@hansjaru
@hansjaru 4 жыл бұрын
I have used fetchql. very small.
@tjalferes
@tjalferes 4 жыл бұрын
thanks
@gersongarrido5153
@gersongarrido5153 4 жыл бұрын
Thanks for your videos Ben! I have a little request 🥺, can you make a video using serverless and Apollo server. I couldn't find any good example with a postgres connection.
@bawad
@bawad 4 жыл бұрын
when I learn serverless, sure
@koistya
@koistya 4 жыл бұрын
For those who’re curious how a code-first GraphQL API implementation may look like, check out Node.js API Starter Kit on GitHub.
@koistya
@koistya 4 жыл бұрын
There many useful hidden features. For example, whenever you update PostgreSQL schema (migration), it automatically updates all the TypeScript definitions for db tables and enums (see yarn db:reset).
@lucasquinnlife
@lucasquinnlife 4 жыл бұрын
There's two problems you didn't meation but pretty important. 1. Auth. 2. Local state. 1. This belongs to middleware or server, apollo server could handle this, but others' solutions are pretty different. It confuses many people. 2. How to handle local state in frontend, apollo-client always try to beat Redux, but their solution really sucks, I'm wondering if I should use their solution(I know it's a little combersome, but I really don't want two sources of truth), or set up a separate context store.
@bawad
@bawad 4 жыл бұрын
1. I like to use middleware for this 2. for local state I use useState/useReducer
@fullofcaffeine
@fullofcaffeine 4 жыл бұрын
@@bawad Could you elaborate on how you use `useState`/`useReducer` together with your choice of graphql client/server libs?
@bawad
@bawad 4 жыл бұрын
I don't mix them. If I need data from the api I use apollo if I need local state I do useState/useReducer
@devdiedelta2706
@devdiedelta2706 3 жыл бұрын
Thanks so much for all you do. Huge fan . Do you have a patreon ?
@FalconStakepool
@FalconStakepool 2 жыл бұрын
Great overview about GraphQL. What would you use for debugging a GraphQL that seems to respond correctly but it's showing the schema incorrectly? I would like to know what's going on but I have no error message.
@Shoutiez
@Shoutiez 4 жыл бұрын
Hi Ben, Could you make a video about authentication system and basic product CRUD with this stack. Backend: Node.js + GraphQL + Passport.js(local strategy) + postgresql with sequalize / frontend: react react-apollo? I can't find tut video for if you can do this would save my life.
@hsemog
@hsemog 4 жыл бұрын
Niwat A he already did a video a month ago about jwt, graphql and react.
@DanishAnton
@DanishAnton 4 жыл бұрын
Hey Ben, is SSR not a concern to you when building apps? I'm checking out Gatsby due to built in SSR. As always, great videos!
@bawad
@bawad 4 жыл бұрын
It is sometimes Gatsby is a good choice
@HeitorYT
@HeitorYT Жыл бұрын
Nestjs + Fastify + GraphQL + Prisma + PostgreSQL. That's a great backend, isn't it?
@abhisheksah
@abhisheksah 4 жыл бұрын
cool
@xiaokourou
@xiaokourou 4 жыл бұрын
Hi Ben, great video! One thing I’ve really been struggling with is how to do offline and handle sync merge conflicts without using AWS appsync. I saw a library extending apology called offix and also read about using pouchdb but offix seems too new and pouchdb I think doesn’t map relations? Could really use some advice before I commit to one.
@bawad
@bawad 4 жыл бұрын
sorry, don't have any experience with offline syncing
@vitor14
@vitor14 4 жыл бұрын
Hi Ben, i really like your videos. I have a question: graphql sacrifice performance in comparation with a rest api? Like in the amount of request per second, i cant find a good benchmark
@bawad
@bawad 4 жыл бұрын
I don't know of any benchmarks either but graphql is slower . For most applications it should negligible
@artakan303
@artakan303 4 жыл бұрын
I noticed you were a big fan of feather js 2 years ago, but you don't mention it any more in the eco-system ? Is there a reason? I just discovered this framework and I think it's great ... Your view on this would be greatly appreciated, thank you.
@bawad
@bawad 4 жыл бұрын
I liked it for REST, but didn't find it useful for graphql
@blacklotus1606
@blacklotus1606 4 жыл бұрын
@Ben Awad I have a question if you do not mind, have you ever used Redux when using graphql with apollo-server. and what are your thoughts on using Redux with graphql and apollo-server ? Thank you very much and love your content.
@bawad
@bawad 4 жыл бұрын
I haven't, I usually use useState/useReducer for local state with graphql
@blacklotus1606
@blacklotus1606 4 жыл бұрын
@@bawad okay great, i was looking into it.thanks
@Jack-kf9vs
@Jack-kf9vs 3 жыл бұрын
i think you can use the zustand
@ComisarioLobo
@ComisarioLobo 4 жыл бұрын
Hi Ben, do you know how Gatsby works under the hood with GraphQL? Also do you recommend using NextJS?
@bawad
@bawad 4 жыл бұрын
1. I don't 2. yes
@reinvanimschoot3314
@reinvanimschoot3314 4 жыл бұрын
What is your opinion on the fact that TypeORM has currently over 1k open issues? It feels like the project is just not actively maintained which is why I went with Knex/Objection instead, but I'd be curious to hear why you'd still recommend it.
@bawad
@bawad 4 жыл бұрын
Yeah it was unmaintained for a while, but I think it's getting some attention now. But yeah that part of it is unfortunate. If you could mix GraphQL with the Objection/Knex models I would recommend them, but right now only typeorm can do that
@JingTeee
@JingTeee 4 жыл бұрын
Does URQL needs graphql? It will increase bundle size.
@wassim5622
@wassim5622 4 жыл бұрын
Really great vid, but cant i use mysql with graphql ? will i run into problems ?
@bawad
@bawad 4 жыл бұрын
you can use any db with graphql including mysql
@wassim5622
@wassim5622 4 жыл бұрын
@@bawad Oh, thanks
@fullofcaffeine
@fullofcaffeine 4 жыл бұрын
Do you have any pointers on how to use join-monster and or data-loader with a typeorm+typegraphql stack?
@bawad
@bawad 4 жыл бұрын
Haven't done any videos specifically with join-monster/dataloader and typegraphql, but it should be the same kzfaq.info?search_query=benawad+dataloader
@srglmr
@srglmr 3 жыл бұрын
I’m new to all these names Is this all work in nodejs ? Or is it something else ?
@JanieLe2109
@JanieLe2109 4 жыл бұрын
hi, could you pls share how do you pass value of date time into a data field of a graphql mutation in the playground? Thanks
@bawad
@bawad 4 жыл бұрын
iso formatted string
@jacksmith870
@jacksmith870 4 жыл бұрын
Hey ben, what do you do for living? Is youtube your full time work?
@bawad
@bawad 4 жыл бұрын
I'm working on www.mysaffronapp.com/ fulltime and youtube part time. I have money saved up from consulting + some comes from youtube ads / patreon
@Hugo280603
@Hugo280603 4 жыл бұрын
I wouldn't recommend Prisma, it has a lot of bugs, missing features and they stopped the development for prisma v1 to focus on v2
@mi3lix9
@mi3lix9 4 жыл бұрын
Can we use type graphql with firebase?
@bawad
@bawad 4 жыл бұрын
Idk I've never tried firebase
@fullofcaffeine
@fullofcaffeine 4 жыл бұрын
How do you integrate DataLoader with TypeORM?
@fullofcaffeine
@fullofcaffeine 4 жыл бұрын
Found an article that might help: codeburst.io/using-dataloader-with-graphql-a-concrete-example-9b21352f1676.
@bawad
@bawad 4 жыл бұрын
here's one example of how I do it: kzfaq.info/get/bejne/layBZL12vK_SYqc.html
@creative-commons-videos
@creative-commons-videos 4 жыл бұрын
is realm still active with react native, i am not able to find any latest videos realm database in 2019 or even 2018, all videos are almost 2 years old :) should i use it or not ?
@bawad
@bawad 4 жыл бұрын
I think realm is dead
@tenminutetokyo2643
@tenminutetokyo2643 4 жыл бұрын
DOOD!
@nicky-hajal
@nicky-hajal 4 жыл бұрын
What lead you away from Postgraphile/Hasura? I've been trying out Postgraphile and love it in theory, but finding authentication + mixing in my own mutations to be a bit of a bottleneck in reality.
@bawad
@bawad 4 жыл бұрын
1. didn't want to write postgres functions 2. didn't want to use serverless
@lucasquinnlife
@lucasquinnlife 4 жыл бұрын
I really love hasura, but the biggest problem is auth. Another problem is I don't wanna use many serverless functional, so I'm wondering if I should write native postgres functions in my datadata to achieve some business logic.
@TheRandomGuyOnline
@TheRandomGuyOnline 4 жыл бұрын
Anyone ever tell you that you look like a little bit like Cillian Murphy
My GraphQL Performance Problem
13:33
Ben Awad
Рет қаралды 49 М.
The Hidden Cost Of GraphQL And NodeJS
28:35
ThePrimeTime
Рет қаралды 188 М.
小蚂蚁被感动了!火影忍者 #佐助 #家庭
00:54
火影忍者一家
Рет қаралды 55 МЛН
Кадр сыртындағы қызықтар | Келінжан
00:16
Comfortable 🤣 #comedy #funny
00:34
Micky Makeover
Рет қаралды 16 МЛН
Алексей Щербаков разнес ВДВшников
00:47
GraphQL vs REST for Side Projects
14:15
Ben Awad
Рет қаралды 91 М.
The Truth About GraphQL
12:06
Theo - t3․gg
Рет қаралды 97 М.
GraphQL vs REST: What's The Difference And When To Use Which?
26:57
GraphQL N+1 Problem
16:14
Ben Awad
Рет қаралды 109 М.
Typescript Generics Tutorial
21:56
Ben Awad
Рет қаралды 218 М.
Learn GraphQL In 40 Minutes
39:43
Web Dev Simplified
Рет қаралды 736 М.
Where to Host a Fullstack Project on a Budget
21:44
Ben Awad
Рет қаралды 334 М.
GraphQL Typescript Authentication Boilerplate
22:58
Ben Awad
Рет қаралды 14 М.
Learn GraphQL in 4 Hours - From Beginner to Expert
3:55:14
PedroTech
Рет қаралды 179 М.
Isograph - Rethink GraphQL Powered React Apps - Robert Balicki, Pinterest
35:09
小蚂蚁被感动了!火影忍者 #佐助 #家庭
00:54
火影忍者一家
Рет қаралды 55 МЛН