Qwik… the world's first O(1) JavaScript framework?

  Рет қаралды 672,563

Fireship

Fireship

Күн бұрын

Qwik is a JavaScript framework that uses a new rendering paradigm called resumability. It can serialize a JavaScript app into HTML, thus eliminating the need for the hydration technique used in meta-frameworks like Next.js.
#javascript #programming #TheCodeReport
🔗 Resources
- Qwik GitHub github.com/Bui...
- Docs qwik.builder.i...
- Beta Announcement www.builder.io...
- Lazy Loading Tutorial • How to make your JavaS...
🔥 Get More Content - Upgrade to PRO
Upgrade to Fireship PRO at fireship.io/pro
Use code lORhwXd2 for 25% off your first payment.
🎨 My Editor Settings
- Atom One Dark
- vscode-icons
- Fira Code Font
🔖 Topics Covered
- What is Qwik framework?
- Qwik vs React
- Qwik vs Angular
- Best JS frameworks of 2022
- How to make JS bundle smaller?

Пікірлер: 1 300
@G-u-z-i-o
@G-u-z-i-o 2 жыл бұрын
We've literally come full circle. From bare HTML that happens to ship extra JS for interactivity, to JS generating all HTML at runtime, to JS generating all HTML on the server and hydrating it on the runtime, to JS generating all HTML on the server and some being partially hydrated, and finally back to bare HTML (that just happens to be JS pre-generated) that happens to ship extra JS for interactivity. The next stage is to go through all this mess once again but with WebAssembly lol.
@personmcguy3537
@personmcguy3537 2 жыл бұрын
Looks like you got a startup idea on your hands
@oursbrun4243
@oursbrun4243 2 жыл бұрын
@_Hedura_ lmao;
@bossgd100
@bossgd100 2 жыл бұрын
Lol and each time "it was better " ( in theory)
@yeicore
@yeicore 2 жыл бұрын
This
@Thorax232
@Thorax232 2 жыл бұрын
This is a naive and incorrect outlook. If you think there's no difference between what this is doing, which is basically just a smaller scope than island architecture, and PHP, you're out of your damn mind. Qwik ships 0 JS, and pieces, even down to the function, on demand. It's not statically built files.
@super_nova_
@super_nova_ 2 жыл бұрын
I have 10 years of experience in this framework, let me know if you have any project
@Fireship
@Fireship 2 жыл бұрын
sorry we're only looking for people with 12 years of Qwik experience
@сойка-и8й
@сойка-и8й 2 жыл бұрын
@@Fireship I have 2 yrs experience in Qwik we both can come together 😂😂
@AlexMusicX
@AlexMusicX 2 жыл бұрын
Lel
@thelatestartosrs
@thelatestartosrs 2 жыл бұрын
i have an amazing project idea looking for 10 devs (paid on project completion (pay is good)) NEED PEOPLE Working now we will compete on the scissors market and sell scissors to everyone using blockchain to keep track of scissor owners and their corresponding NFT
@vice-108
@vice-108 2 жыл бұрын
@@сойка-и8й but 12==12?😏
@Otakutaru
@Otakutaru 2 жыл бұрын
Could you do some more Qwik content? As everything in this industry, it seems promising because a lot of negative aspects are just not mentioned beforehand
@andrewc8125
@andrewc8125 2 жыл бұрын
can't agree more
@aniruddharao8735
@aniruddharao8735 2 жыл бұрын
I expect there'll be more info on this on beyond fireship
@PabloAndresDealbera
@PabloAndresDealbera 2 жыл бұрын
For me it seems that high latency internet connections are a nightmare with this framework because if I understood correctly, it needs to fetch the JS when you interact with certain components on the page. But I might be wrong.
@anush8
@anush8 2 жыл бұрын
LOL 😂.
@ronakmehta8106
@ronakmehta8106 2 жыл бұрын
@@PabloAndresDealbera does high latency network have trouble with loading very small file even ?
@AROAH
@AROAH 2 жыл бұрын
I knew it was only a matter of time before JavaScript developers realized that what was making their applications so slow was JavaScript.
@SAL404w
@SAL404w 2 жыл бұрын
NO BUT THAT'S IMPOSSIBLE!!! **adds more javascript**
@florentarlandis1209
@florentarlandis1209 2 жыл бұрын
@@SAL404w *frantically develops a new framework that will add more javascript to your javascript*
@cyberneticbutterfly8506
@cyberneticbutterfly8506 2 жыл бұрын
@@florentarlandis1209 JavaScript is just trying to steal the thunder from Gödel's incompleteness theorems.
2 жыл бұрын
Good thing there are plenty of alternatives to JS. There are alternatives, right? Right?
@AROAH
@AROAH 2 жыл бұрын
@ WebAssembly and… *native applications*
@jovanmitrovic9395
@jovanmitrovic9395 2 жыл бұрын
There are three things guaranteed in life : -Death -Bills -New Javascript frameworks
@сойка-и8й
@сойка-и8й 2 жыл бұрын
You forgot Taxes 🧐
@paulojose7568
@paulojose7568 2 жыл бұрын
- People complaining about javascript frameworks
@paulsullivan649
@paulsullivan649 2 жыл бұрын
This is the first framework since React or Vue that I am actually considering diving deeper into. This looks pretty dope.
@omanajz
@omanajz 2 жыл бұрын
@@patrickprakash8 angularjs is dead since last year
@kokizzu
@kokizzu 2 жыл бұрын
Svelte.. kzbin.info/www/bejne/d5Wxe2acrsmYl9E
@Cromzinc
@Cromzinc 2 жыл бұрын
@@omanajz Pretty sure he said Angular, not AngularJS :)
@patrickprakash8
@patrickprakash8 2 жыл бұрын
@@Cromzinc Yeah it's angular not the js one. But AngularJS was the starting point of all the framework creations
@jesseparrish1993
@jesseparrish1993 2 жыл бұрын
I still use ES4 because I know it won't be long before another one comes out.
@MaximSchoemaker
@MaximSchoemaker 2 жыл бұрын
For those wondering if lazy loading event callbacks is going to make your app feel sluggish in terms of response times. You can also lazy load on page idle, which AFAIK happens after initial page load / render and should not effect your lighthouse score (please correct me if I'm wrong).
2 жыл бұрын
At least by the video, I would assume the `$` suffix as a flavour for async "chunks" - such as `onClick$`, but it something is mission critical I believe you can just use good-old `onClick`.
@violet-trash
@violet-trash 2 жыл бұрын
I use es modules all the time to load in JavaScript to get that 100/100/100/100 score and it's never made a site feel slow to me. Also it's more about the CSS than that JavaScript when it comes to making a site feel fast. If you're using JavaScript to animate the UI, you're doing to wrong. At most you should be changing classes/data-attributes.
@reedlaww
@reedlaww 2 жыл бұрын
I imagine it will if it’s not handled graciously. I haven’t used this framework specifically but in Angular for example a lazy loaded module can definitely suffer from stutter even in locally hosted applications.
@32zim32
@32zim32 2 жыл бұрын
Why we just can not load all js and hydrate it asynchronously after html have been loaded? With whatever framework
@joshuarowe8410
@joshuarowe8410 Жыл бұрын
@@32zim32 That's what Next etc does. I think Qwik is just another take on that but with a lot of marketing hype on their website and maybe some slight improvement with "resumable" hydration - although I don't really know how much difference that makes for us with decent internet speeds and modern devices. It has more of an effect on old devices
@elliotsayes8446
@elliotsayes8446 2 жыл бұрын
Now add a machine learning model to predict user actions and load the required JS preemptively :)
@NatoBoram
@NatoBoram 2 жыл бұрын
No need to, you could load the click event on mouse hover
@JamilMaqdis
@JamilMaqdis 2 жыл бұрын
What about touch?
@fallenpentagon1579
@fallenpentagon1579 2 жыл бұрын
I have a brilliant idea, we can just preemptively start loading all the required JS once the page is loaded 🧠
@suharsh96
@suharsh96 2 жыл бұрын
@@NatoBoram that's why I use my phone with a mouse
@wesleychan7575
@wesleychan7575 2 жыл бұрын
Hmm, now I just need to load the mouse hover event based on the prediction of mouse move trajectory.🤔
@wakematta
@wakematta 2 жыл бұрын
I still remember when pages took around 15 seconds to load. It was great, times. You had so much free time between each interaction. Now in other hand, time flies.
@tkdevlop
@tkdevlop 2 жыл бұрын
Tiktok, shorts make people's attention spans to sht.
@JorgetePanete
@JorgetePanete 2 жыл бұрын
part of it was old http versions too
@zeeshanmh215
@zeeshanmh215 Жыл бұрын
So true. Previously i could go poop and come back and i would still have enough time to see the page loading. Golden times 😔
@guidobit
@guidobit Жыл бұрын
I remember going to the library to internet for 30 mins. Basically I loaded 1 gif.
@meckanism
@meckanism 2 жыл бұрын
Well, ThePrimeagen is gonna have a field day with this one. Great code report as always!
@udittlamba
@udittlamba 2 жыл бұрын
BLAZINGLY FAST!
@trollflix
@trollflix 2 жыл бұрын
:P
@wliaputs
@wliaputs 2 жыл бұрын
Coconut oil 🥥
@KManAbout
@KManAbout 2 жыл бұрын
Okay so if everything is lazy loaded then how long does it take for some particularly large function to load in when the user clicks on it? That's a huge problem potentially I think. There are definitely advantages to Lazy loading in some circumstances but lazy loading everything might run into bottlenecks when the user actually tries to interact with the page itself. If you have a highly interactive site and everything is lazy loaded then what might occur is that the user constantly runs into roadblocks while trying to interact with the site which could decrease the time in which users care about using your site
@leonardomangano6861
@leonardomangano6861 2 жыл бұрын
I was wondering the same
@some1csgo
@some1csgo 2 жыл бұрын
Maybe load the javascript part behind an action before it is clicked? Onhover etc
@yungbeong7664
@yungbeong7664 2 жыл бұрын
I mean it seems like you can opt-out of the lazy loading by just not putting dollarsigns everywhere. So then you will have some JS shipped with the initial load but you can choose wether or not you want to lazy load a certain functionality
@pwii
@pwii 2 жыл бұрын
I wonder if it can prefetch all visible interactive elements after the document has loaded
@zyansheep
@zyansheep 2 жыл бұрын
@@yungbeong7664 so less, "no hydration" and more, "micromanaged hydration"?
@its.arjun.s
@its.arjun.s 2 жыл бұрын
I was waiting for qwik. It's really promising, and something very refreshing in the javascriptillion amount of frameworks that exist.
@itsgoldmate8859
@itsgoldmate8859 2 жыл бұрын
It's not very refreshing since there is no hydration
@AbWischBar
@AbWischBar 2 жыл бұрын
@@itsgoldmate8859 LOL
@persiancarpet5234
@persiancarpet5234 2 жыл бұрын
@@itsgoldmate8859 GOTTEM
@Howtheheckarehandleswit
@Howtheheckarehandleswit 2 жыл бұрын
I thought the whole point of Qwik was that you don't wait for it 😜
@MrEnsiferum77
@MrEnsiferum77 2 жыл бұрын
Good luck with that mind, that's why u are using frameworks to develop stuff. Observables are resumable by nature, so u can achieve the same crap that qwik is selling.
@FatherMathew
@FatherMathew 2 жыл бұрын
Yes! A new JS framework! 🎉🎉
@taab84
@taab84 5 ай бұрын
That's why I paused to learn any JavaScript technology for now
@3mroos4
@3mroos4 2 жыл бұрын
This is really something else. Can't imagine the scalability of the apps you can build with this. Would love to see more of this
@eus9
@eus9 2 жыл бұрын
If you're lazy loading everything then I'd imagine you want all your code in very small modules. I can imagine that wouldn't scale very well at all
@aonodensetsu
@aonodensetsu 2 жыл бұрын
@@eus9 it's literally the framework that compiles your code into small chunks, it's infinitely scalable as fireship said
@demonicious_
@demonicious_ 2 жыл бұрын
@@aonodensetsu Yeah, it lazy loads EVERYTHING. Which means it scales to infinity without sacrificing load times but... what after that? Lazy Loading everything is bound to make for a horrible user experience in a large app with a lot of moving parts.
@askplays
@askplays 2 жыл бұрын
@@demonicious_ you can choose to lazy load or not with the dollar sign, and use a smart prefetching strategy for everything else. "By default, Qwik will prefetch any visible listeners on the page."
@eus9
@eus9 2 жыл бұрын
@@aonodensetsu I don't see anything in the video that suggests it's smart enough to take my modules (like the index.tsx file shown) and somehow magically break that apart into smaller files during compilatipn. Every event handler method (or other typical app logic) that you want to lazy load will need its own file. That sounds like it would become a directory structure nightmare on large applications.
@arianitonline8748
@arianitonline8748 2 жыл бұрын
this is the first frameworks that I am considering after jquery, angular, react, vue, svelte, solid, preact, inferno, marko, hugo, astro, remix, next, and the other one
@AngelHdzMultimedia
@AngelHdzMultimedia 2 жыл бұрын
Lit
@backgroundnoiselistener3599
@backgroundnoiselistener3599 2 жыл бұрын
That sounds awesome. Can’t wait to start a project on this and never completing it before going back to making to making monolithic applications for a client with 0 tech knowledge
@bunnydevx
@bunnydevx 2 жыл бұрын
Now may we ask why this was uploaded in 480p 🤔
2 жыл бұрын
This combined with Service Workers must be the faster thing ever. I wonder what is the overhead of that serialization though. Super excited about this! Huge respect to the devs for such brilliant ideia & execution.
@voyta
@voyta 2 жыл бұрын
Is it me, or is the video just 480p?
@itsgoldmate8859
@itsgoldmate8859 2 жыл бұрын
cant wait for the next javascript framework with negative hydration
@TheMrOasdf
@TheMrOasdf 2 жыл бұрын
Dehydration?
@itsgoldmate8859
@itsgoldmate8859 2 жыл бұрын
@@TheMrOasdf oh shit yeah
@theriser8751
@theriser8751 2 жыл бұрын
so the framework needs water
@fazazizeid5359
@fazazizeid5359 2 жыл бұрын
Dessiccation
@TheNewton
@TheNewton 2 жыл бұрын
2:48 so definitely for online apps and not for any interactive webpages users may save locally since chunks for even minor button behavior would be missing; especially when offline.
@noherczeg
@noherczeg 2 жыл бұрын
I missed the part about the cons. Also: that 10% gain thing does not really apply to all app-types. E.g.: apps which are now built az SPAs. Therefore this looks to me as a "last 1%" polish.
@vintprox
@vintprox 2 жыл бұрын
Qwik is a bad fit for SPAs. Nobody would love if their dashboard brainfarted with pure client operation in sudden absence of network connection. It requires a lot of rethinking this chunking strategy to work well with the app, but again it doesn't bring anything on the table for SPAs, as framework was designed primarily for SEO.
@vasiovasio
@vasiovasio 2 жыл бұрын
@@vintprox Yes! Non stop requests when the user click here and there make it useless... On the end of a day only On conclusion ( especially for me ) - Server Rendered Sites and Thats It! Forgot about SPAs because they are not what they need to be, even with hundreds of different implementations and frameworks...
@charlesm.2604
@charlesm.2604 2 жыл бұрын
@@vasiovasio I wouldn't throw SPAs out the window completely. They have their place like a dashboard or an user-protected section of your website. Basically anything that isn't initially loaded or require SEO is a good fit for SPAs. SPAs make for *really good* user-experiences (client side routing, skeletons, platform integrations, etc...). There is a reason why everybody use the gmail client.
@1337cookie
@1337cookie 2 жыл бұрын
Everyone knows you should bundle your javascript into one file to reduce http requests but everyone also knows you should split your javascript up into lots of chunks to reduce loading times.
@1337cookie
@1337cookie Жыл бұрын
@bluemondmc The joke was that you should do both opposing things at the same time. But doing one request rather than cascading requests means the client isn't waiting on network. Every cascade adds the ping time between server and client to their load time.
@strictoaster
@strictoaster 2 жыл бұрын
FYI, this video and the last one in Beyond Fireship are in 480p
@Riverbed_Dreaming
@Riverbed_Dreaming 2 жыл бұрын
To be honest if our counter for time since last JS framework was released is in days, it’s never going to move from 0, I propose moving from days to hours or maybe even minutes
@0jinx
@0jinx 2 жыл бұрын
I seconds this
@exactzero
@exactzero 2 жыл бұрын
That's the joke. It's always zero.
@JorgetePanete
@JorgetePanete Жыл бұрын
We should officially change pt (planck time) to njsfr (new javascript framework release)
@toseltreps1101
@toseltreps1101 2 жыл бұрын
your presentation style is outstanding, entertaining, funny, informative. i'm not a programmer but love your stuff nonetheless.
@kalebercanbrack8857
@kalebercanbrack8857 2 жыл бұрын
I think qwik is really cool from a technical standpoint. But loading JS as needed is not necessarily the right experience for all apps. Especially with slow connections, you could be waiting 1 or 2 seconds after each button click which may be a worse experience than waiting 5 seconds at a loading screen
@ple7y
@ple7y 2 жыл бұрын
"By default, Qwik will prefetch any visible listeners on the page." - so no worries for that. However, you can simply not put in the '$' sign not lazy loading the code...
@dealloc
@dealloc 2 жыл бұрын
Just like you, I was skeptical about it too, Kaleb. But seeing the demonstrations and answers to questions that Miško has done on live streams I saw the potential for scalability in larger apps/websites. Given that we already opt-in to lazy loading in other frameworks to split our bundles, this is just built in as a first-class citizen rather than an API on top. Of course they are going to show off the feature that deviates the most from other frameworks; but that doesn't mean you will be using this as the default. For most cases where you want immediate feedback you can bundle it together; however for things that would otherwise require networking (i.e. fetching data) or are of significant size but rarely used can opt-in to lazy loading.
@kalebercanbrack8857
@kalebercanbrack8857 2 жыл бұрын
@@ple7y oh right that '$' syntax kinda makes it an opt-in thing.
@mfpears
@mfpears 2 жыл бұрын
Imagine how bad it'd be to load all of it up-front then.
@JayVal90
@JayVal90 Жыл бұрын
@@mfpears Right like imo a slightly sluggish interaction basis for a website when I’m on a slow connection is 100x better than waiting 20 seconds for the page to load.
@deeg_with_robots
@deeg_with_robots 2 жыл бұрын
Gonna be great for so many b2b products with 2 users and 2MB circular dependent event listener logic
@ScriptCoded
@ScriptCoded 2 жыл бұрын
Wow! This is kind of like serverless functions but for the client 😅
@MasterSergius
@MasterSergius 2 жыл бұрын
Clientless?
@shreinikjain8599
@shreinikjain8599 2 жыл бұрын
@@MasterSergius if clientless, will bots use the website😆
@MasterSergius
@MasterSergius 2 жыл бұрын
@@shreinikjain8599 oh, I've got better idea - useless :)
@TheNewton
@TheNewton 2 жыл бұрын
@@MasterSergius lul "clientless" also rofl: Renderless On Frontend Library On a serious note this is all kinda leading to just connecting the browser to a RDP instance streamed through the . I thought I saw something like that about rustlang but cannot find it anymore.
@charlesm.2604
@charlesm.2604 2 жыл бұрын
@@TheNewton fuck accessibility and seo, who cares about handicaped or about making money anyway ?
@Virbox
@Virbox 2 жыл бұрын
Thanks, this inspired me to quit frontend 👍 Great video, btw!
@FalconTheFries
@FalconTheFries 2 жыл бұрын
How long have you been this to yourself?
@Virbox
@Virbox 2 жыл бұрын
@@FalconTheFries did what? I have basic frontend knowledge enough to build good-looking pages, but without frameworks
@geledek573
@geledek573 2 жыл бұрын
next generation of frontend is not framework, but AI-based frontend builder.
@GavinBogie
@GavinBogie 2 жыл бұрын
Looks like it’s time to rewrite my portfolio again :) From Astro to Qwik we gooo!!!
@pikapikabooboo
@pikapikabooboo 2 жыл бұрын
How about Fresh web framework Vs Qwik?
@robertshaw4990
@robertshaw4990 2 жыл бұрын
The way you ended this report had me in tears 😂 Keep up the good work!
@aakasheoran
@aakasheoran 2 жыл бұрын
You can superchat now in the comment section of a not-live video?
@ts8960
@ts8960 2 жыл бұрын
I just want a framework that can deploy my app as mobile, desktop, and website from the same code hopefully this framework can do that, i mean the ionic creator is on the team
@robertwallace5498
@robertwallace5498 2 жыл бұрын
Having all of the javascript serialized into the html and everything lazy loaded seems like a nightmare to debug
@IainSimmons
@IainSimmons 2 жыл бұрын
Why? The serialised HTML acts like a sourcemap. You can see the path to the component it was defined in, along with the event being handled, etc. It's probably easier than your regular stack trace to some anonymous function buried in your app
@harshad8900
@harshad8900 Жыл бұрын
What's the I/O performance hit on the server side for such an extreme fragmentation?
@kenp6773
@kenp6773 Жыл бұрын
Solid question. In practice (been using it in prod at work) it's quite a bit less. Because so much less has to get sent in the first place. If a user only visits a single page and leaves, they only had to get served just enough to see that page, nothing else. Not the entire application. Been very happy with it.
@bigmistqke
@bigmistqke 2 жыл бұрын
Hope that Marko 6 also gets a fireship video once it gets out. It's pretty wild from what I have seen and deals w a similar problem space as Qwik. Less focused on the whole lazy loading though, but also resumable and more granular/automated afaik.
@Nyzio2197
@Nyzio2197 Жыл бұрын
As a person that absolutely hates webdev, qwik is still making me exited somehow. Maybe I should go learn some webdev...
@noJ105
@noJ105 2 жыл бұрын
You cant just throw up 500tb and JS in the same sentence man shit gave me a heart attack
@physikus7888
@physikus7888 2 жыл бұрын
So instead of shipping my 128kB javascript in the first single request, I ship it serialized inside the HTML file and also by a ton of mini chunks?
@dagurdanielsson5628
@dagurdanielsson5628 2 жыл бұрын
Lazy loading all of the javascript feels to me more like a trick to win artificial benchmarks than something that would actually speed up real life applications since you´d be loading up potentially large blocks of code on user interaction rather than fetching it while/before page render. We´re basically adding extra load calls to fetch these tiny code chunks on interaction and that the user makes
@askplays
@askplays 2 жыл бұрын
Fetching on iteraction is a worst case scenario for qwik, it prefetches visible listeners on idle by default.
@tfr
@tfr 2 жыл бұрын
Uh, just letting you know, the video's in 480p Unsure if it's because the videos still being processed or an editing issue
@dinckelman
@dinckelman 2 жыл бұрын
Jokes aside, what this does is actually quite excellent. Can't wait to see what improvements come after qwik gets a full release
@insumanth
@insumanth 2 жыл бұрын
Why is the video only in 480p at Max?
@PixelpageYT
@PixelpageYT 2 жыл бұрын
So now guys take your 32nd Side project and write a fourth rewrite with the ✨newest framework✨
@p10tube
@p10tube 2 жыл бұрын
sad but true. just finished rewrite from gatsby to sveltekit and now this?
@neociber24
@neociber24 2 жыл бұрын
JS Frameworks are getting too magical. I really want to know more about if we actually need this level of optimization and real uses cases where is useful. I don't really know if 1s of delay while hydrating a LARGE page is actually that bad.
@TV4ELP
@TV4ELP 2 жыл бұрын
I wouldn't say we need it. But being proficient in a framework allows you to be faster and probably better maintainable. Could you spend a few hours more to implement good native JavaScript or even web assembly? Sure, but does anyone actually want to pay you for that? And do you actually want to do that if you can instead do more projects in the same time?
@AMaplestoryFan
@AMaplestoryFan 2 жыл бұрын
it's not that magical, the concept of lazy loading has been around since forever especially after ajax, I suspect the reason why lazy loading and what qwik calls resumability has not been used often is its ability to be cached, which is basically impossible with dynamically served html
@dealloc
@dealloc 2 жыл бұрын
Maybe you don't need it for your small apps, but larger apps/website that want to scale without hurting UX definitely could find a need for this.
@0jinx
@0jinx 2 жыл бұрын
The reason it's needed is for enterprise level WebApps and boosts to conversation rates. I see this framework being useful to apps like figma. Finally cut down on that really long first load time. And as for the second thing, it's more of an economics thing I think. Faster webpages used to be a competitive advantage, now that every webpage is fast, that level of speed is now expected and thus no longer an advantage. This we need to go even faster to maintain that advantage and keep conversation rates high
@kissu_io
@kissu_io 2 жыл бұрын
1s is quite optimistic here, usually it goes far worse than that and also, it does so quite quickly. 😅
@zyansheep
@zyansheep 2 жыл бұрын
Doesn't this mean that if your internet cuts out, the page basically becomes unusable?
@TheGamersDen
@TheGamersDen 2 жыл бұрын
service workers might solve that issue, provided you've interacted with the feature you want to use once already.
@askplays
@askplays 2 жыл бұрын
depends on the prefetching strategy you have set, you can also use a service worker. But this is just grasping for straws tbh.
@avoerman89
@avoerman89 2 жыл бұрын
99% of websites and web apps are unusable without internet
@miskohevery1127
@miskohevery1127 2 жыл бұрын
Service worker comes with Qwik out of the box to deal with this.
@askplays
@askplays 2 жыл бұрын
@@miskohevery1127 "Qwik comes with service worker"* other way around lol.
@TidusUltimate
@TidusUltimate 2 жыл бұрын
what are the drawbacks? it seems too good to be true
@gyanashekka
@gyanashekka 2 жыл бұрын
Time to convince my team lead to use Qwik in our next application. 🏃‍♂⚡⚡
@VirtualDarKness
@VirtualDarKness 2 жыл бұрын
Much more fun to rewrite your current one. Bonus points if you finish before the next relevant JS framework is released 🤣
@voidemon490
@voidemon490 2 жыл бұрын
@@VirtualDarKness lmao
@Xaero324
@Xaero324 2 жыл бұрын
Just because it's new doesn't mean you should jump ship... Go with one where it'll make coding easier and faster. Is it also easy to implement 3rd party packages with it?
@supernenechi
@supernenechi 2 жыл бұрын
I had Svelte now, and it was disgustingly fast compared to what I've had ever before. I guess I'm rewriting again!
@YonatanAvhar
@YonatanAvhar 2 жыл бұрын
So, if the user has a slow connection or are physically far from the server, would they experience 300ms+ of latency every time they click a button for the first time?
@askplays
@askplays 2 жыл бұрын
"By default, Qwik will prefetch any visible listeners on the page." So in theory no.
@birdpump
@birdpump 2 жыл бұрын
So early, the HD upload didn't finish yet
@sage_gamers
@sage_gamers 2 жыл бұрын
Please make video on your journey as a developer and the ups-downs you faced. btw love watching your video and it inspires a lot ^⁠_⁠^
@turolretar
@turolretar 2 жыл бұрын
it’s been downhill so far
@vekzdran
@vekzdran 2 жыл бұрын
That ending... :) Excellent Jeff, thank you.
@async_7
@async_7 2 жыл бұрын
I have very high hopes from this framework. Just like AngularJS this might just bring next new revolution in web frameworks.
@TomNook.
@TomNook. 2 жыл бұрын
lol
@erickheredia8910
@erickheredia8910 Жыл бұрын
Bet money there'll be another one claiming the same thing in no time, hehe.
@stevenhe3462
@stevenhe3462 2 жыл бұрын
This sounds so simple, but we have gotten to this for 20 years.
@PixelpageYT
@PixelpageYT 2 жыл бұрын
Lol i just saw them on twitter and thought: Why isn't there a fireship video about them?
@azatecas
@azatecas 2 жыл бұрын
idk if to be happy or sad yet, i love the performance improvements, but what are the tradeoffs
@santoshbadal1111
@santoshbadal1111 2 жыл бұрын
Would be great to have a video on qwik inside bun js.
@wtho
@wtho 2 жыл бұрын
I think SSR can be run in node, deno or bun, or at least it's on their roadmap
@mfruehschuetz
@mfruehschuetz 2 жыл бұрын
just tried running the qwik documentation starter and serving from bun. seems to be working.
@hglbrg
@hglbrg 2 жыл бұрын
like the excalidraw usage
@kanjakan
@kanjakan 2 жыл бұрын
This doesn't really seem ideal unless there's a way to lazy load the JS while the page is idle or something. If you have a big ass callback which lazy loads when clicked, then on slow connections, it could take quite a while before anything happens which is just as likely to make your users leave.
@askplays
@askplays 2 жыл бұрын
qwik does lazy load the JS while the page is idle by fault, fireship was just being a little "lazy", so he forgot to mention it lol.
@kanjakan
@kanjakan 2 жыл бұрын
@@askplays Ahh okay, in that case, it sounds pretty good then.
@akshattamrakar9071
@akshattamrakar9071 2 жыл бұрын
I have 4 years of professional qwik experience. Can I get a intern level job with no stipend at all.
@partlyblue
@partlyblue Жыл бұрын
This framework looks pretty cool. I can definitely see it causing web archiving issues though 🤔🤔
@kelvinpraises
@kelvinpraises 2 жыл бұрын
Ok this looks dope, any negative?
@dirtbagmoto
@dirtbagmoto 2 жыл бұрын
This sounds dreamy, wondering what the downsides are. Definitely going to check it out, thanks!
@tkdevlop
@tkdevlop 2 жыл бұрын
Network delay?
@NostraDavid2
@NostraDavid2 2 жыл бұрын
Inline JS, which may mean more duplicate code? Not saying it's a fact, but a possibility.
@exactzero
@exactzero 2 жыл бұрын
@@NostraDavid2 Duplicate code is only an issue during development.
@ShadoFXPerino
@ShadoFXPerino 2 жыл бұрын
It doesn't seem to utilize the browser cache well, since everything is serialized into HTML5 it will be different every time and therefore impossible to cache.
@3dilson
@3dilson 2 жыл бұрын
Can you go beyond Qwik on your secondary channel ?
@Nathan55411
@Nathan55411 2 жыл бұрын
This makes so much sense that it confuses me that nobody ever thought of this before
@MrEnsiferum77
@MrEnsiferum77 2 жыл бұрын
That's because u believe what frameworks are selling it to u. U can achieve the same with rxjs only.
@thomasseptimius
@thomasseptimius 2 жыл бұрын
This is how Quake managed to build their fast multiplayer games. lots of small packets. Interesting. Will dig into this.
@arthurmorgan332
@arthurmorgan332 2 жыл бұрын
You know you are early when this video maxes out at 480p 👌
@Lightbringer7734
@Lightbringer7734 2 жыл бұрын
Lol I don't even watch above 360, net is slow and expensive in here
@De_Wouter
@De_Wouter Жыл бұрын
But isn't loading things from the network one of the biggest potential performance killers?
@AvenDonn
@AvenDonn 2 жыл бұрын
The year is 2047. The lowest level language still used by humans is JavaScript. The x69420noscope CPU architecture is capable of running NodeJs as machine code. There is no rust on anything since everything is chrome plated in the future
@muokapear9138
@muokapear9138 2 жыл бұрын
Can't wait to write some qwik js code
@andriussolopovas8727
@andriussolopovas8727 2 жыл бұрын
Next time it would be cool to know the downsides of such frameworks at least a few. But otherwise its great video as always. One of the problems that may happen is that everything is lazy, meaning that if you have intermitent connection you will probably have the application freeze as if the necessary code is not yet loaded some of the functionality of the websitte that depend on it will be absent.
@askplays
@askplays 2 жыл бұрын
He really should of explained how qwik prefetch visible listeners by default, so that there is no freeze.
@maop
@maop 2 жыл бұрын
yet another 480p release... what is happening with youtube lately ? yesterday happened the same at Beyond Fireship's channel edit: o wow 12hrs after and the video about "How to Build a Discord Bot" is still in 480p!!
@Danielo515
@Danielo515 2 жыл бұрын
You know, when I first heard of server side rendering and hydration I thought it was THIS. I was feeling dumb when I discovered it was not.
@Truth_In_Victory
@Truth_In_Victory 2 жыл бұрын
Why not download the js in the background after page is rendered, prioritizing anything lazy loaded?
@askplays
@askplays 2 жыл бұрын
It does do that. Don't know why firship didn't mention it, very weird.
@kira_io
@kira_io 4 ай бұрын
why is the video 480p 😭
@alisoltani5636
@alisoltani5636 2 ай бұрын
You don't need to see high quality memes
@mfpears
@mfpears 2 жыл бұрын
Qwik is cool. I'm publishing a video tonight about how to use RxJS inside Qwik.
@mr.norris3840
@mr.norris3840 2 жыл бұрын
So I can prove that P=NP?
@krellin
@krellin 2 жыл бұрын
with the next javascript framework :D
@ziat1988
@ziat1988 2 жыл бұрын
when will I finishe learning new Js framework?
@bo3oof
@bo3oof 2 жыл бұрын
We need more of Qwik please
@davidfonseca698
@davidfonseca698 2 жыл бұрын
WTF, Qwik is really revolutionary!
@jesusbossa1070
@jesusbossa1070 2 жыл бұрын
So I think finally we can do 3d/threejs stuff without worrying about too much of bundle size 🤔
@kissu_io
@kissu_io 2 жыл бұрын
Hm, not sure how this is related. If you use a big package, it will still be huge to load. Qwik will not change that.
@jesusbossa1070
@jesusbossa1070 2 жыл бұрын
@@kissu_io of course, but that's not the point of what I was trying to say. I mean, in the imaginary project that uses threejs, this huge library and implementations only will be charged when the user plays with that. Because right now if you use that in a gatsby, nextjs or react, project this library will be charge partially or totally affecting some lighthouse metrics negatively.
@rochellerochelle1488
@rochellerochelle1488 Жыл бұрын
JavaScript is so fast that we absolutely needed it server side.
@RyanTipps
@RyanTipps 2 жыл бұрын
i am more impressed with Qwik than most other recently-released bleeding-edge JS frameworks
@PretzelLogic88
@PretzelLogic88 2 жыл бұрын
Thanks for posting this! Exciting to hear about these types of new frameworks from a voice that I trust ✌
@catlooks
@catlooks 2 жыл бұрын
computer scientists when i write O(73737467383020284673910847) algorithm (constants can be omitted and thus the algorithm is as fast as O(1))
@JetJockey87
@JetJockey87 2 жыл бұрын
Aw man I just finished learning NextJS now I gotta learn a new framework
@ultimatum97
@ultimatum97 2 жыл бұрын
Lazy loading nearly everything sounds like a terrible idea considering the impact it might have on the UI experience.
@sergiocorrenti
@sergiocorrenti Жыл бұрын
In my opinion, the library has missed its train, what is so critical is to download as much JavaScript as is necessary (by medium chunks of course) if day by day the libraries are becoming more PWA platforms, and all the JavaScript is saved in the cache-storage browser, the system starts in less of one second, and up it immediately because the entire application is in the device. I would like to get some strategy that focus more on producing libraries that are based on easing the difficulty of connecting to the http responses. Most of the time, the apps load quickly, what really make the app to be slow is all the http calls that we need to make sure we have all we need for the initial setup. authentication calls guard, rolls calls guard, policies calls guard, etc....
@dlwldma9056
@dlwldma9056 Жыл бұрын
I genuinely cannot understand how you have not get any like since the moment you shared this comment. This is exactly what I was thinking about all of these JavaScript libraries this whole time.
@rhys9957
@rhys9957 2 жыл бұрын
That sounds like a lot of network requests if you have a a high traffic site where each element fires off a network requests for a crumb of JS and you will get a weird interaction delay if the server responds slowly with the JS crumb for your button onclick event
@farazali5335
@farazali5335 2 жыл бұрын
Earlier they told us to bundle all the js in one file to reduce network requests 😃
@askplays
@askplays 2 жыл бұрын
it's optional to lazy load, and it prefetches by default. So probably not an issue.
@St0rMsk
@St0rMsk 2 жыл бұрын
Thanks to thisvideo, I can add 3+ years of quik experience on my resume...
@SatoshiCommentorto
@SatoshiCommentorto 2 жыл бұрын
Resumeability is cool, but I feel like any other SSR meta framework also has code chunking. Been loving SvelteKit.
@skejeton
@skejeton Жыл бұрын
will be hard to use if you have bad internet... especially when it's not stable. I guess the solution is to load JavaScript before interactions, at once 😉
@johnychinese
@johnychinese 2 жыл бұрын
I started smiling when he said it has functional components, jsx, hooks and vite. Am moving my code base to qwik starting tomorrow🔥
@alfredodavila94
@alfredodavila94 2 жыл бұрын
What happens then to SEO? is this the end for search engines?
@Robin_Goodfellow
@Robin_Goodfellow 2 жыл бұрын
I have a question: Is the large amount of JS frameworks being released related to JS as a language, or is it more related to the rapid development of web technologies, which just happen to use JS?
@gamerzero6085
@gamerzero6085 2 жыл бұрын
Number of JS frameworks is directly derived from the number of web developers, which there are many.
@DobesVandermeer
@DobesVandermeer 2 жыл бұрын
So many js projects and programmers drives innovation
@Avengerie
@Avengerie 2 жыл бұрын
I think it's both. Rapid development of web as a platform ("online-first", web apps, SaaS) and the fact that JS was an "accidental winner" written in 10 days almost 27 years ago, so everyone wants to replace/improve it.
@paulojose7568
@paulojose7568 2 жыл бұрын
Nah, people just like to complain
@manmanmanichfindekeinennam7613
@manmanmanichfindekeinennam7613 2 жыл бұрын
@@daedalus_00 I wouldnt say js is a bad language, its just different. The core concepts are actually pretty cool. Its just that js cant be fixed. Everything that is in the language must remain forever as it is. Thats why there are 27 years old bugs in the language which nobody fixes
@raymondmichael4987
@raymondmichael4987 2 жыл бұрын
I imagine how much fun and pain you’re having while making these videos brother; You’re uniquely different in a better way.
@7heMech
@7heMech 2 жыл бұрын
Finally something different!
@umgefahren818
@umgefahren818 2 жыл бұрын
It's very interesting that Qwik is a technology that creatly benefits HTTP/3 (and therefore QUIC)
10 Rendering Patterns for Web Apps
6:55
Beyond Fireship
Рет қаралды 335 М.
I built a JavaScript framework
10:11
Fireship
Рет қаралды 495 М.
Running With Bigger And Bigger Lunchlys
00:18
MrBeast
Рет қаралды 63 МЛН
Как мы играем в игры 😂
00:20
МЯТНАЯ ФАНТА
Рет қаралды 3 МЛН
Fake watermelon by Secret Vlog
00:16
Secret Vlog
Рет қаралды 16 МЛН
Every Framework Sucks Now
24:11
Theo - t3․gg
Рет қаралды 136 М.
React Native vs Flutter - I built the same chat app with both
10:12
RIP React? New Qwik Release Is REALLY Interesting
22:32
Theo - t3․gg
Рет қаралды 65 М.
how to never write bug
7:20
Fireship
Рет қаралды 883 М.
JavaScript Framework Tier List
40:57
Theo - t3․gg
Рет қаралды 338 М.
You don't need a frontend framework
15:45
Andrew Schmelyun
Рет қаралды 125 М.
Svelte, Solid or Qwik? Who Won?
6:38
Awesome
Рет қаралды 40 М.
How programmers flex on each other
6:20
Fireship
Рет қаралды 2,4 МЛН
How to NOT Fail a Technical Interview
8:26
Fireship
Рет қаралды 1,4 МЛН
The First Post-React Framework Just Launched
20:46
Theo - t3․gg
Рет қаралды 110 М.