Web Rendering Patterns. SSR, CSR, Hydration, Static Generation, Resumability

Поделиться
HTML-код
  • Опубликовано: 27 ноя 2024

Комментарии • 22

  • @dprophecyguy
    @dprophecyguy 3 месяца назад +5

    Notes:
    ## Introduction
    - Web rendering includes steps from user opening a site to full page display
    - Key steps: DNS lookup, HTTP request, HTML parsing, CSS parsing, JavaScript execution
    - Different rendering approaches exist due to varied site requirements
    ## Key Metrics
    1. Time to First Byte (TTFB): Time between clicking a link and first content byte loading
    2. First Contentful Paint (FCP): Time when any part of page content is rendered
    3. Largest Contentful Paint (LCP): Time until largest image/text block is rendered
    4. Total Blocking Time (TBT): Measures main thread blocking during page load
    ## Business Considerations
    - Types of applications:
    - B2B (Business-to-Business)
    - B2C (Business-to-Consumer)
    - Internal Tools
    - Profit Centers vs. Cost Centers
    ## Rendering Patterns
    ### 1. Server-Side Rendering (SSR)
    - Types: Dynamic SSR, Static Site Generation (SSG)
    - Advantages:
    - Fast time to content
    - Good SEO
    - Improved Core Web Vitals
    - Disadvantages:
    - Full page reloads
    - Increased server load
    - More complex server configuration
    ### 2. Static Site Generation (SSG)
    - Generates static HTML files during build time
    - Advantages:
    - Fast load times
    - Reduced server load
    - Good SEO
    - Disadvantages:
    - Limited to static content
    - Frequent rebuilds for content updates
    ### 3. Client-Side Rendering (CSR)
    - Renders content in the browser using JavaScript
    - Advantages:
    - Smooth user experience
    - Easier development and maintenance
    - Reduced server load
    - Disadvantages:
    - Poor SEO (if not mitigated)
    - Slower initial load
    - Performance issues on low-power devices
    ### 4. Hydration
    - Process of making server-side rendered static HTML interactive
    - Types:
    - Full Hydration
    - Partial/Selective Hydration
    - Progressive Hydration
    - Island Architecture
    - Challenges:
    - Uncanny Valley effect
    - "One app for the price of two" problem
    ### 5. Resumability
    - Recovers application state without re-executing components on client-side
    - Implemented in Qwik framework
    - Solves "one app for the price of two" problem
    ### 6. Pre-rendering
    - Creates SEO-friendly single-page applications
    - Serves different versions for users and web crawlers
    - Advantages:
    - Good SEO for SPAs
    - Smooth single-page experience
    - Disadvantages:
    - More complex setup
    - Higher server load
    ## Advanced Techniques
    1. Code Splitting
    2. Preloading
    3. Lazy Loading
    4. Application Shell Architecture
    5. Trimorphic Rendering (combines SSR, CSR, and Service Workers)
    ## Choosing the Right Approach
    Consider:
    - Website vs. Web Application
    - Static vs. Dynamic content
    - SEO requirements
    - Initial loading time importance
    - UI responsiveness needs
    - Budget constraints
    - Offline support requirements
    Use the decision tree provided in the lecture to guide your choice.
    ## Use Cases
    1. Social Network: SSR with Hydration (Progressive/Island Architecture)
    2. Dashboard: Client-Side Rendering with optimization techniques
    3. Marketplace (e.g., Amazon): SSR or SSR with Hydration
    Remember to always consider specific project requirements and constraints when choosing a rendering pattern.

  • @kahaanpatel7916
    @kahaanpatel7916 6 дней назад

    Easily the best FE systems design content creator, thank you!

  • @VenkatRamanKS
    @VenkatRamanKS 23 дня назад

    Hello Dmitriy, Love 💖from Tamilnadu and Tamil Eelam. Thanks for saving me with helpful contents.

  • @amitkrgupta094
    @amitkrgupta094 3 месяца назад +4

    Dang, This is gold! Going to binge watch all these this weekend!

  • @ksubramanyeshwara
    @ksubramanyeshwara 3 месяца назад +2

    About to start reactjs and i found the goldmine I guess. as soon as I complete reactjs ill study from you. keep them coming

  • @arjunvaidy8466
    @arjunvaidy8466 3 месяца назад

    You gave the great explanation of rendering patterns and I am fortunate I found this channel in recommendations

  • @MuhammadAhmad-ie5xh
    @MuhammadAhmad-ie5xh 3 месяца назад +1

    Your explanation is clear as crystal! Thank you❤

  • @RajYadav-fy4lm
    @RajYadav-fy4lm 3 месяца назад +1

    brother i cannot express my love ♥for watching and gaining so much of knowledge from this YT channel, eagerly wait for your videos tbh. Lots of love and keep bringing more content

  • @manikanta138
    @manikanta138 2 месяца назад

    thanks a lot man, really i owe you alot , the way you are providing content is very usefull for senior and lead level and manager level thank you once again keep going

  • @INetreba
    @INetreba 3 месяца назад +1

    Thank you! Very useful. Important topic and unique content

  • @utsavagrawal5920
    @utsavagrawal5920 2 месяца назад

    Superb content.. thanks for clearing the gaps..🎉

  • @tuku_mann
    @tuku_mann 3 месяца назад +1

    Thank you! I've been waiting for it ❤

  • @AvinashSingh-tr5vt
    @AvinashSingh-tr5vt 3 месяца назад +1

    thank you , great video

  • @abhisheksrivastava1208
    @abhisheksrivastava1208 3 месяца назад +1

    great video

  • @a7mdbest15
    @a7mdbest15 2 месяца назад

    Gem channel.

  • @carefree_ladka
    @carefree_ladka 6 дней назад

    subed man. Thank you :)

  • @mayankupreti6966
    @mayankupreti6966 2 месяца назад

    Great explanation. Is it possible to get the slides of the video

  • @JihedSalhi-s9c
    @JihedSalhi-s9c 3 месяца назад +1

    Great video, thank you. Just one small advice, in your next videos speak slower ❤

  • @prashlovessamosa
    @prashlovessamosa 3 месяца назад

    can you please share the slides that you have used in the video.
    Thanks for free knowledge.

  • @HossamMohamed-r4l
    @HossamMohamed-r4l 24 дня назад

    can you provide a link for the slides please?, i want to review them later

  • @murhafal-msri5479
    @murhafal-msri5479 Месяц назад +1

    in 17:40 I think the build-time definition is not quite right. build time is the process before the project is served to the server not to the client.

  • @DebashishGhoshOfficial
    @DebashishGhoshOfficial 3 месяца назад +2

    Is there a way to filter out the breathing noise? It's hurting my ears. :'(