Unveiling Qwik 1.0: What You Need to Know!

  Рет қаралды 27,844

Jack Herrington

Jack Herrington

Жыл бұрын

Qwik 1.0 has been released! Let's celebrate with a tutorial of building a voting application that shows how to use integrations like auth, prisma, and tailwind, as well as Qwik's built in routing, server actions and route actions, to build a voting app.
Code: github.com/jherr/qwik-voting
👉 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
👉 VS Code theme and font? Night Wolf [black] and Operator Mono
👉 Terminal Theme and font? oh-my-posh with atomic and SpaceMono NF
00:56 Qwik Project Setup
02:03 Adding Integrations
03:02 Adding Authorization
08:28 Prisma Database Setup
12:53 Home Page Buildout
15:43 Setting Up The Page Layout
18:36 Building The Category Page
23:41 Function Properties
26:09 Server Actions
29:07 Creating Signals
30:53 Using Visible Tasks
31:52 Creating Route Actions and Forms

Пікірлер: 84
@AlekVila
@AlekVila 12 күн бұрын
This was great. I hope you'll continue to make Qwik tutorials.
@bigmistqke
@bigmistqke Жыл бұрын
1.0 is huge. Congrats to the qwik team!!
@fifty6737
@fifty6737 4 ай бұрын
this framework blows anything i've used or seen out of the water
@amerrashed6287
@amerrashed6287 Жыл бұрын
The best clear introduction for qwik yet ! Qwik looks awesome, combining all good features of other frameworks, all in one box!
@calvinnguyen1451
@calvinnguyen1451 4 ай бұрын
Liked and Subscribed. This is one of the best Qwik introduction and tutorials out there!
@babyboie20
@babyboie20 Жыл бұрын
I really appreciate all of your videos! I always learn so much. I can't lock much of the knowledge into long term memory because I have no practical applications I could use them in, but I always know I can come back and watch again once I find one. Thanks again!
@IanJamieson
@IanJamieson Жыл бұрын
Qwik honestly looks like it can replace React. I know it takes time, ui libs, community etc, but it looks super polished for a 1.0 and things look cleaner and easier ❤
@jherr
@jherr Жыл бұрын
I'm a little concerned about the PropFunction thing, that needs to go. There also needs to be migration story. And I think Qwik needs to find an application base to dominate quickly, like content/cms driven apps. And then it can work towards the e-Commerce space.
@jmnoob1337
@jmnoob1337 Жыл бұрын
@@jherr Hey Jack, have you come across the "React Qwikify"? Qwik can do two things with React: run a regular old hydrated React app island inside of a Qwik app, so if you had an existing React app it might be one way to start a migration. They also implemented a way to use React component libraries WITHOUT loading React, so it simply renders the JSX, wraps it with a Qwik component as a controller, and now you have React MUI buttons etc inside your Qwik app! I haven't used the Qwikify, but it should be a great help for those who are just looking for UI components for Qwik. And the PropFunction thing is annoying. I wonder if there's a way they could get around that. Qwik needs a way to make sure that both the compiler (optimizer) AND the developers recognize all `$` functions as special, following special rules, because they will be code-split. Do you have any ideas on other ways to handle this?
@jherr
@jherr Жыл бұрын
@@jmnoob1337 They have a compiler, it should just handle the PropFunction thing behind the scenes. As for the React integration, I've seen it but haven't used it.
@jherr
@jherr Жыл бұрын
@@jmnoob1337 It's more fundamental that that, as a React dev I just want to send a function, I don't want to think about the underlying mechanics. So having to make a prop as a PropFunction and then wrap the function I send in a $ is just overhead that gets between me and getting my work done. And it's work that I don't have to do in React. In addition, I've taught a lot of folks React and the whole idea of passing functions as properties is in and of itself a big conceptual hurdle (I know it doesn't sound like it to you, but it is for some folks) so adding on this additional stuff is just another barrier to entry. In addition it's not a good look the outside DX standpoint. I can easily see a flamey article that shows React vs Qwik which just goes to town on this and that blowing up on Reddit and becoming the common thinking around the framework.
@jmnoob1337
@jmnoob1337 Жыл бұрын
​@@jherr Okay. I do remember when first learning React it was strange and mind-blowing that I could just pass a function in as props! I wonder what could be done about this. For now I see it as a tradeoff, a necessary evil with Qwik. On the other hand, Qwik did manage to simplify some of the other APIs compared to React. Two that I have noticed are: no need to pass a function into `setState` in order for it to update properly (simply directly update the store's property, or the value of the signal), and no need for a wrapper component when creating context (just call the hook in the parent and set up the store, and now any children can have access to the context). I actually found it annoying when switching from using Qwik back to working with React because of the extra code necessary to accomplish these tasks. But either way, Qwik takes some time to get your head around it. It's tough to just "jump in" without first reading multiple pages of the docs or watching some Qwik tutorials/interviews. The Qwik team prides itself in how the compiler just "does the right thing" (regarding reducing the JS required to be shipped to the client, and regarding knowing which functions to run on the server and which need shipped to the client), so hopefully in the future they can improve on the DX so it just "does the right thing" without the dev needing to think about wrapping functions or using specific types.
@shai_reznik
@shai_reznik Жыл бұрын
Great job Jack! really enjoyed it 👏💪 one small note - I would use setTimeout instead of setInterval Loved the snarky remarks idea :)
@jherr
@jherr Жыл бұрын
Yeah, fixed that in the code before I posted it.
@shai_reznik
@shai_reznik Жыл бұрын
@@jherr 💪💪
@hayatof1
@hayatof1 Жыл бұрын
Love this and honestly just heard about Qwik today (and officially confused me haha). The confusion is as some have said that these frameworks are starting to have similar "ideas" even if it is a little different. I have invested in NextJS and lately been trying to get better with their new NextJS 13 app router which feels to have brought a lot of what Qwik has. Any idea if we would ever get a comparison between NextJS 13 with Quik? or why one might work better than another? Thank you again for all the content you have provided
@abdessittirharkati7603
@abdessittirharkati7603 Жыл бұрын
I was waiting for this, Qwik is great!
@DB-dk2mj
@DB-dk2mj Жыл бұрын
Gorgeous! Jack and Qwik team! From Russia with love!
@romanzanettin9425
@romanzanettin9425 Жыл бұрын
great content as always ❤ thx
@blue_berry_pie64
@blue_berry_pie64 Жыл бұрын
btw, your background is so relaxed😊
@blue_berry_pie64
@blue_berry_pie64 Жыл бұрын
Hi Jack, I got the error : Running seed command `ts-node --compiler-options {"module":"CommonJS"} prisma/seed.ts` ... An error occurred while running the seed command: Error: Command failed with ENOENT: ts-node --compiler-options {"module":"CommonJS"} prisma/seed.ts spawn ts-node ENOENT  ERROR  Command failed with exit code 1: prisma migrate reset I have tried to find solution but it doesnt work. Do you have any suggestion?
@michaelta05
@michaelta05 Жыл бұрын
Another great video with great content and this time is Qwik! Thank you so much Jack. Just wondering pnpm was initially use to bootstrap the app but then npm was used to run qwik to add prisma and other packages... not sure why so, why not use pnpm all the way?
@michaeljmeyer3
@michaeljmeyer3 Жыл бұрын
Doesn't pnpm create links to prevent bloat? I have not used it much, but I wonder if its functionality is just suited for running locally scoped scripts? Running pnpmi after installing should clear any oddities up, either way.
@jwickerszh
@jwickerszh Жыл бұрын
Yeah, Qwik v1 !! Nice app example as well, really illustrates well the new loaders / actions. I notice though, not much time was spent on the resumability part of Qwik.. I know, it has been covered a lot before, but it might have been a good idea to do a qwik recap of what separates this from all the other frameworks or/and link to a previous video. I suspect a lot of new people will start here since it just hit v1 and might not have the whole background.
@jherr
@jherr Жыл бұрын
I've seen one video demonstrating resumability specifically. IMHO, I wouldn't base my framework choice on it. Hydration is become less and less of a factor it seems. I asked recently about the importance of raw performance to web app developers and the majority opinion was that it was not the most important concern when it comes to framework choice.,
@jwickerszh
@jwickerszh Жыл бұрын
@@jherr Hydration is always a factor, the question might be biased when we are only comparing hydrating frameworks though. Performance in itself is also industry dependent, and since we work in e-commerce it is actually pretty high on the list. So, does it matter for demo web-apps? probably not. But you do get all the performance benefits for free.
@jherr
@jherr Жыл бұрын
@@jwickerszh I was kinda surprised by the poll result myself. Coming out of e-Commerce it was like, performance is king. But it's a more complicated space now than it was when Qwik was started. For example, Astro can constrain the size of the bundle and hydration substantially with its islands. And NextJS App Router performance is complex because it's delivering a much large payload but still getting better time to interactive than the pages directory because of the smaller amount of client side calculation. BTW, want to say that I am super impressed with Qwik, so don't take this criticism as a write off, I'm just trying to be realistic. I just don't think Qwik will win a ton of supporters on startup speed alone.
@chaboxx159c
@chaboxx159c 10 ай бұрын
This is amazing , Thanks Jack.
@ibrahimmohammed3484
@ibrahimmohammed3484 Жыл бұрын
kevin de bruyne of web development tutorials 😁
@jherr
@jherr Жыл бұрын
One day I'll have to really look into who that is since I get that a lot.
@ibrahimmohammed3484
@ibrahimmohammed3484 Жыл бұрын
@@jherr he's a belgium football "soccer" player in Man city team both of you look alike both in face and skills quality😄
@jherr
@jherr Жыл бұрын
@@ibrahimmohammed3484 Ah yes, I am well known for my corner kick. 🤣 Man city wow, no kiddin', that's the big deal. I knew about Man city before Ted Lasso and I don't even really follow sports.
@eleah2665
@eleah2665 Жыл бұрын
Framework extravaganza!
@germandeluca3712
@germandeluca3712 Жыл бұрын
Can you tell me what extension you use for the file explorer's icon theme?
@ishakimanuel3513
@ishakimanuel3513 Жыл бұрын
love that terminal.
@JGBSolutions
@JGBSolutions Жыл бұрын
Hey thanks for this tutorial! Qwik looks good. Especially with that 1.0 release. And it looks like all the frameworks (Remix, Next, Solid, Svelte and now Qwik) just look alike these days. They copy features and APIs from each other. Though Remix might be a little different.
@jherr
@jherr Жыл бұрын
Agreed. Qwik has the resumability thing that other frameworks don't/can't have, but outside of that the core features are very similar. I look forward to more and easier integrations.
@NosherwanGhazanfar
@NosherwanGhazanfar Жыл бұрын
As Jack has already stated, Qwik's advantage is resume-ability. If you look up hydration vs resume-ability you will get the advantage here.
@hamatoYogi
@hamatoYogi Жыл бұрын
Great video Jack! ❤
@sobrevivendo-no-front
@sobrevivendo-no-front Жыл бұрын
WOW! AMAZING!
@andresquesada6059
@andresquesada6059 Жыл бұрын
Qwik is amazing!
@mikekidder
@mikekidder Жыл бұрын
great "qwik" tutorial. FYI, i ran the prisma/tailwind installs using pnpm and did not get any errors.
@jherr
@jherr Жыл бұрын
weird, wonder if it's a node version issue.or pnpm vs something else
@claveralvaro6245
@claveralvaro6245 Жыл бұрын
Yeaaaaah baby !!!!
@megabaytm
@megabaytm Жыл бұрын
31:41 probably should be a setTimeout instead (and clearTimeout accordingly) Thanks for video btw!
@jherr
@jherr Жыл бұрын
Haha, yeah, I fixed that in the code before I posted it.
@kamichikora6035
@kamichikora6035 Жыл бұрын
Coming from the mern stack, how can i host on heroku? I really like this framework
@derSeega
@derSeega Жыл бұрын
Hi can anyone tell me if there is free hosting for qwik? Like vercel for nextjs? Thanks in advance
@heralst
@heralst Жыл бұрын
🎉
@olduniverse9270
@olduniverse9270 Жыл бұрын
Great video!. btw, your terminal looks cool, do you have a video about it?
@jherr
@jherr Жыл бұрын
No, though I probably should at some point. Issue is that I keep changing it. This time it's oh-my-posh with the atomic prompt style on Tabby with SpaceMono NF as the font.
@frontend3409
@frontend3409 Жыл бұрын
why you first using pnpm, and later npm?
@AndresJimenezS
@AndresJimenezS 11 ай бұрын
Could you try the microfrontends part for qwik?
@pro-verstka
@pro-verstka Жыл бұрын
Hi, how did you enable top panel with address bar in Arc?
@jherr
@jherr Жыл бұрын
It comes up automatically when the URL is localhost.
@SingularityLabsAI
@SingularityLabsAI 7 ай бұрын
Have you deployed it anywhere ? wanted to check the performance.
@Kamleshsharma35
@Kamleshsharma35 10 ай бұрын
Can we have simple example to demonstrate features of qwik? Thanks
@jherr
@jherr 10 ай бұрын
kzbin.info/www/bejne/hJuugHSYjNaCg5Y
@gonzalooviedo5435
@gonzalooviedo5435 7 ай бұрын
This is very good, but is very easy to lost how it works due to big letters and a lot of scrolling up and down and is impossible to check the overall code and relation between them
@shashydass4114
@shashydass4114 Жыл бұрын
Great video!
@adarshvk2125
@adarshvk2125 Жыл бұрын
Can we integrate other state management library like redux toolkit to qwik?
@jherr
@jherr Жыл бұрын
I don’t think so and i don’t think you’d need it. Qwik has state management built in specific to its hydration model.
@mmecaroni
@mmecaroni Жыл бұрын
Seriously.. how do you get your terminal to be so pretty?? lol show me!!! Great tuts by the way!
@eindbaas
@eindbaas Жыл бұрын
What zsh theme is that?
@jherr
@jherr Жыл бұрын
It's oh-my-posh and the theme is atomic.
@Herxh428
@Herxh428 Жыл бұрын
Fyi one of the creator of qwik is also a creator of angularJs😊
@jherr
@jherr Жыл бұрын
And Angular, which the Angular folks like to point out is a different framework whenever I lump Angular and AngularJS together. Sigh.
@Herxh428
@Herxh428 Жыл бұрын
@@jherr isn't angular updated version of angularjs?
@Herxh428
@Herxh428 Жыл бұрын
@@jherr also the creator of both are same i guess 😅🙄
@jherr
@jherr Жыл бұрын
@@Herxh428 Far be it for me to tell that story. 🙄AngularJS 1.x and Angular 2+.x are, according to the Angular community, fundamentally different frameworks. FWIW, I honestly though AngularJS died years ago but apparently it was EOL just recently or is soon to be or something.
@jherr
@jherr Жыл бұрын
@@Herxh428 Haha, right! Which gives even more credibility to the "they are the same" idea. 🤣 I actually was doing stuff on Angular JS 1.5 and was really stung by Angular 2. The migration was tedious, but not difficult. Even at the time I considered them the same thing.
@erikslorenz
@erikslorenz Жыл бұрын
Until something replaces react I just dont have the bandwidth lol
@jherr
@jherr Жыл бұрын
Nothing is going to replace React for a while.
@kklowd
@kklowd Жыл бұрын
I fail to see how qwik stacks against other frameworks
@felipetiagofp
@felipetiagofp Жыл бұрын
I came looking for someone saying Nextjs is dead. Please..
@asimalqasmi7316
@asimalqasmi7316 Жыл бұрын
1st
@atatdotdot
@atatdotdot 10 ай бұрын
Prisma: "Cool, database-agnostic ORM..." Also Prisma: "This feature only works on postgres, not on sqlite..." 🤦‍♂
@enjay86
@enjay86 Жыл бұрын
Thanks for this summary of Qwik. One BIG NO-NO: 31:38 NEVER set "undefined" to any variable manually. Undefined should stay reserved for JS engine... use other falsy value, like "null".
@EranRiesenfeld
@EranRiesenfeld Жыл бұрын
You have read my survey response and just made a video out of it 😅 Thank you for this introduction to qwik(city). 🙏🏼
@franciscokloganb
@franciscokloganb Жыл бұрын
Yet another JS framework
Signals For Solid, Qwik And React
28:17
Jack Herrington
Рет қаралды 47 М.
3 React Mistakes, 1 App Killer
14:00
Jack Herrington
Рет қаралды 113 М.
Chips evolution !! 😔😔
00:23
Tibo InShape
Рет қаралды 42 МЛН
WHY IS A CAR MORE EXPENSIVE THAN A GIRL?
00:37
Levsob
Рет қаралды 4,9 МЛН
Sprinting with More and More Money
00:29
MrBeast
Рет қаралды 32 МЛН
Miško Hevery on Qwik versus React
14:17
Jack Herrington
Рет қаралды 6 М.
Server Actions: NextJS 13.4's Best New Feature
21:41
Jack Herrington
Рет қаралды 59 М.
RIP React? New Qwik Release Is REALLY Interesting
22:32
Theo - t3․gg
Рет қаралды 62 М.
Will React's New Cache Fix Its "Use" Hook?
19:41
Jack Herrington
Рет қаралды 47 М.
Why Signals Are Better Than React Hooks
16:30
Web Dev Simplified
Рет қаралды 449 М.
Finally Fix Your Issues With JS/React Memory Management 😤
20:13
Jack Herrington
Рет қаралды 79 М.
This is the Only Right Way to Write React clean-code - SOLID
18:23
Are Your React Components Too BIG?
12:20
Jack Herrington
Рет қаралды 22 М.
The power button can never be pressed!!
0:57
Maker Y
Рет қаралды 54 МЛН
What’s your charging level??
0:14
Татьяна Дука
Рет қаралды 7 МЛН
What percentage of charge is on your phone now? #entertainment
0:14
Выложил СВОЙ АЙФОН НА АВИТО #shorts
0:42
Дмитрий Левандовский
Рет қаралды 1,3 МЛН
Kalem ile Apple Pen Nasıl Yapılır?😱
0:20
Safak Novruz
Рет қаралды 1,2 МЛН
5 НЕЛЕГАЛЬНЫХ гаджетов, за которые вас посадят
0:59
Кибер Андерсон
Рет қаралды 710 М.