Web-frameworks that server-side-render (or SSG) require rehydration step, how is that different from Qwik approach of resumability?
How is Qwik reusability different from rehydration of other web-frameworks
200 Views Asked by Misko Hevery At
1
There are 1 best solutions below
Related Questions in QWIK
- Get Maximum Log Size
- Debugging Windows Services while starting
- Possible consequences of duplicate ProgId for different classes
- How to chain BCryptEncrypt and BCryptDecrypt calls using AES in GCM mode?
- mingw-64 conflicting declarations when cross-compiling
- I run an EXE program from a Windows Service but I can't see form C#?
- Why is PowerShell "not recognized" when installing Chocolatey?
- How to check if Windows device is phone or tablet/pc?
- How to add directories to Cygwin gcc default search path
- Can't install anything with pip2 on Windows 7 due to UnicodeDecodeError
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
There are many web frameworks out there. All of them have some form of SSR/SSG. The purpose of SSR/SSG is to precompute the HTML on the server/build time, because HTML is the fastest way to show content to the user.
The drawback of HTML is that it is not interactive. So while SSR/SSG can get your site painted quickly there has to be rehydration to make the site interactive.
What is rehydaration?
There are two reasons for rehydration:
Without the above two points, the HTML is really just static.
The reason why rehydration is expensive is that both of the above points require that the framework downloads all components on the page and executes their templates. During the template execution, the framework collects listener closures and attaches them to the DOM as well as collects component tree metadata.
The above is expensive in terms of bandwidth (download a lot of code) and execution (interpret a lot of code)
Is there a different approach?
Yes, and that is where the resumability of Qwik comes in.
Qwik, like other frameworks SSR/SSG and send HTML to the browser. A Qwik application just like other web-frameworks requires that
So far the needs are the same, but instead of downloading and executing templates to collect the listeners and data, Qwik serializes all of that information into HTML in the form of additional attributes and elements on the server/build. This means that:
This is what is meant by Qwik being resumable. Because Qwik serializes all of the data int HTML Qwik gets to skip the rehydration step, to bring HTML to life. The rehydration step is often the biggest cost of all of the first-party code which executes on the browser on application startup. Qwik just resumes where the server left off.