Choosing between SSR, SSG, and dynamic rendering in Astro

Sdílet
Vložit
  • čas přidán 7. 08. 2023
  • Join the early access list for my course! learnastro.dev
    Astro offers several options for rendering, SSG, SSR, or a combination of the two in either direction (static-first or server-first) with dynamic rendering.
    🔗 Key Links 🔗
    - docs.astro.build/en/guides/se...
    ---------------------------------------
    🎨 VSCode Theming
    - Font: Cascadia Code: github.com/microsoft/cascadia...
    - Theme: marketplace.visualstudio.com/...
    - Icons: marketplace.visualstudio.com/...
    ---------------------------------------
    🌐 Connect With Me 🌐
    - Website: codinginpublic.dev
    - Blog: chrispennington.blog
    - Twitter: / cpenned
    - Patreon: / coding_in_public
    - Buy Me a Coffee: www.buymeacoffee.com/chrispen...
  • Jak na to + styl

Komentáře • 88

  • @mrrolandlawrence
    @mrrolandlawrence Před 2 měsíci +4

    this astro series is the best out there. saves me fumbling with the core docs. practical examples always help.

  • @aryomuhammad8254
    @aryomuhammad8254 Před 3 měsíci +4

    I really love how you explained things with drawing style like this, it really helped a lot. Thank you!

    • @CodinginPublic
      @CodinginPublic  Před 3 měsíci

      You're very welcome! So glad it was such a help!

  • @unity_12
    @unity_12 Před 10 měsíci +17

    I can never figure out how it all works. Through videos and diagrams it became clear. I'm waiting for a video with hybrid rendering! I liked the video 😇

  • @egrekov
    @egrekov Před 10 měsíci +8

    Please continue this series. It's very useful and important for me. Thank you

  • @sonny5497
    @sonny5497 Před 2 měsíci

    this was beautifully explained with diagrams. you are an amazing teacher 🎉

    • @CodinginPublic
      @CodinginPublic  Před 2 měsíci

      Glad it was helpful! Thanks for the kind words!

  • @jamesgrubb
    @jamesgrubb Před 10 měsíci +2

    Thanks for this content and your time. Middleware examples would be great - perhaps authentication / authorisation how-to

    • @CodinginPublic
      @CodinginPublic  Před 9 měsíci +1

      Working on something right now that could use some middlewear…I'll see about figuring it out and doing a video! Thanks for the comment!

  • @hiryuimajin
    @hiryuimajin Před 10 měsíci +3

    Your teaching is always amazing!

    • @CodinginPublic
      @CodinginPublic  Před 10 měsíci +1

      Thanks for the kind words! So glad you enjoyed it!

  • @JavArButt
    @JavArButt Před 10 měsíci +1

    I have seen only some of your videos, up to now, I liked them all

    • @CodinginPublic
      @CodinginPublic  Před 10 měsíci

      Thanks, my friend. Glad they’ve been a help!

  • @RodrigoDAgostino
    @RodrigoDAgostino Před 10 měsíci +5

    Such a clear explanation! Thank you for taking the time to not only explain the theory, but to also illustrate it through a good example. I’m really enjoying your content! :)

    • @CodinginPublic
      @CodinginPublic  Před 10 měsíci +1

      You're very welcome! So glad it was helpful!

  • @murtadha96
    @murtadha96 Před 10 měsíci +1

    An absolutely fantastic explanation! Thank you

  • @user-fi7lb4oh2z
    @user-fi7lb4oh2z Před 7 měsíci

    Thank you for all your content man!

  • @akosbalint3485
    @akosbalint3485 Před 7 měsíci

    Very good explanation. Thank you.

  • @systematicpsychologic7321
    @systematicpsychologic7321 Před 8 měsíci

    Thanks, this was a pretty great overview. Simple and informative. Makes me look forward to using Astro in a project.

  • @sujit_webdev
    @sujit_webdev Před 3 měsíci

    Thanks for such an amazing explanation and this extremely useful video!

  • @diegoulloao
    @diegoulloao Před 19 dny

    Amazing explanation. Really clear

  • @Oggy-WanKenobi
    @Oggy-WanKenobi Před 5 měsíci

    This is a great resource! Thanks a ton

  • @21rogerwaters
    @21rogerwaters Před 10 měsíci +1

    Wow! Thank you! Great visual explanation, please do more like that =)

  • @oussamasethoum1665
    @oussamasethoum1665 Před 7 měsíci

    This video was so clear and I understood everything, thank you so much.

  • @jmonterroso.dev13
    @jmonterroso.dev13 Před 8 měsíci

    Great video as always and yes please, we all want the video of Middleware and astro island!!

  • @veggtips.shorts
    @veggtips.shorts Před 8 měsíci +1

    Great content! Love how you explain!

  • @rayusaki88
    @rayusaki88 Před 8 měsíci

    Vey helpful. Thanks 🙏🏻. Looking forward on your Astro course

  • @latch909
    @latch909 Před 8 měsíci

    Unbelievable I didn't think to just build locally and look at the difference like this! Super clear information thank you

  • @secondubly
    @secondubly Před 7 měsíci

    just want to say a huge thanks for this video, it really helped me grasp exactly what adapters and SSR/SSG were doing because reading it in the docs it wasn't really sticking 😅

    • @CodinginPublic
      @CodinginPublic  Před 7 měsíci

      So glad it was such a help! Visuals are often what unlocks concepts for me, so I’m glad it was a help.

  • @andrezorek
    @andrezorek Před 8 měsíci

    thank you, so much, dude. great content, very clear, very straightforward.

  • @LeoMiranda
    @LeoMiranda Před 9 měsíci +1

    Fantastic explanation, thanks

  • @joshreynolds4164
    @joshreynolds4164 Před 9 měsíci +1

    Visuals really helped on this one!

  • @FumezCreates
    @FumezCreates Před 4 měsíci

    I love Astro. Your explanation is magnificent

  • @nickwoodward819
    @nickwoodward819 Před měsícem

    2:54: Now that's a diagram that should be in the docs :)

  • @funkologie
    @funkologie Před 10 měsíci

    Thanks Chris!

  • @christianseiler1250
    @christianseiler1250 Před 10 měsíci

    Love your Astro videos - extremely clear and step by step. There is one thing I cannot figure out - which is how to access reference() data from a collection properly . Maybe you could do a short video about it one day?

    • @CodinginPublic
      @CodinginPublic  Před 10 měsíci

      So glad you’ve enjoyed them. I think the content collections video should help with that (czcams.com/video/zUmqmuSvJMs/video.html). Let me know if you still have questions!

  • @SalvaToroTorus
    @SalvaToroTorus Před 8 měsíci

    Excellent

  • @qasimarif9921
    @qasimarif9921 Před 7 měsíci

    Hey! Love the content man. This was great to watch.
    I’ve got a mostly static site I’m building in Astro but plan to use some React for components and some packages. Thing is React is quite heavy in size and I’m trying to keep it as light as possible.
    Would I benefit from using SSR here at all to avoid React being called on the client side? (And avoid that 100kb load as it’s called and rendered on the server?)

    • @CodinginPublic
      @CodinginPublic  Před 6 měsíci

      You’re welcome! Well, if you’re using react, it’ll still load react on the page if you build it server side. You could use the client:visible directive to ensure the react only loads if people get to a section on the page that needs it?

  • @Web-Dev-Codi
    @Web-Dev-Codi Před 10 měsíci

    I have been thinking about messing around with Astro for a while. I will be making the jump for sure after seeing this video. I love the illustrated visual aspect in this one. What program are you utilizing for the demonstration?

    • @CodinginPublic
      @CodinginPublic  Před 10 měsíci

      So glad it was a help! It’s called TLDraw, I think.

  • @tiscover
    @tiscover Před 10 měsíci +1

    As always - great video Chris! Is there a way that Astro only renders "new" content? This would be really helpful in combination with a CMS: Let's say a client changes some text in the CMS and Astro does not generate the whole site, but only the text that was changed. Thanks anyway

    • @CodinginPublic
      @CodinginPublic  Před 10 měsíci +1

      Not to my knowledge. SSR or SSG is all at the page level (meaning you have to decide for the whole page). Perhaps in the future? I don't know if anyone even does that sort of thing?

  • @nikkehtine
    @nikkehtine Před 5 měsíci

    Nice video

  • @javayhu
    @javayhu Před 2 měsíci

    Fantastic explanation, thanks a lot. I wondered that if there is a way to implement /posts/[id].astro to support both SSG and SSR? Let's say I have 10,000 blog posts, and we only do SSG if id is

    • @CodinginPublic
      @CodinginPublic  Před měsícem

      Not that I know of currently unless you picked off a few and had their blog layout wrapper set to prerender and the rest not? But they are working on ISR, so that would be the best solution. Hopefully soon!

  • @onorlidmedina
    @onorlidmedina Před 9 měsíci +1

    Great video, can you make a video about foms with astro? Thank you

    • @CodinginPublic
      @CodinginPublic  Před 9 měsíci +1

      Glad you liked it! What would you like to know about forms?

  • @sistana
    @sistana Před 8 měsíci

    Thanks, very helpful, I want to know a litle about islands and midleware in Astro

    • @CodinginPublic
      @CodinginPublic  Před 8 měsíci

      Cool! I'll plan a tut! Thanks for saying something!

  • @ctrlteam5168
    @ctrlteam5168 Před 10 měsíci +1

    I really like Astro, I have a question. What is Astro's current positioning? Is it SSR service or spa single page application or SSG? Where is the center of gravity of Astro? Thank you.

    • @CodinginPublic
      @CodinginPublic  Před 10 měsíci +2

      So right now it’s geared towards MPAs. While it defaults to using SSG, you can easily use SSR as I show here. You can create a SPA experience using react or something but at that point it would make more sense to just use Next or something that is react-only. I do have a few Astro sites with an admin section that is completely SPA in that route. I just use react router dom for that section to do all the internal routing. Hope that helps.

  • @eannadefreine6671
    @eannadefreine6671 Před 10 měsíci

    Really interesting video. I wonder what happens when you have a component on every page, a footer for example, that needs to be SSR. Is it still possible to benefit from SSG for the actual route no just SSR the footer?

    • @CodinginPublic
      @CodinginPublic  Před 10 měsíci

      Currently it’s all page level, meaning you have to decide SSR or SSG for an entire page. Perhaps there are plans to change that in the future? I'm not sure if any frameworks are offering that though?

  • @user-bn5eb9um4x
    @user-bn5eb9um4x Před 9 měsíci

    Which UI framework deliver the less amount of JavaScript in your experience? I still can't make up my mind whether to use Preact or Svelte. But no Alpine as I didn't want to littering my markup.

    • @CodinginPublic
      @CodinginPublic  Před 9 měsíci

      I don't know that I have a recommendation between those two. I would guess Svelte? But that's merely a guess. I'd think both would be quite quick for most apps though?

    • @user-bn5eb9um4x
      @user-bn5eb9um4x Před 9 měsíci

      @@CodinginPublicTrue, those are familiar with, I'm just so familiar with vanilla. If only we can solve the last piece of the tetris colors, the "red" UI framework being missing, no Ember or Angular. Maybe Astro should have one for client-side.

  • @richardramirez5746
    @richardramirez5746 Před měsícem

    have you made astro work in old browsers using legacy vite?

    • @CodinginPublic
      @CodinginPublic  Před měsícem +1

      I haven’t! What are your needs?

    • @richardramirez5746
      @richardramirez5746 Před měsícem

      @@CodinginPublic When using Astro with vite legacy plugin, legacy scripts are generated in fact, but they do not get injected into page as Vite does when working without Astro. So my concern is having a non-running page in old browsers.

  • @inujung8224
    @inujung8224 Před 4 měsíci

    i think the diagram for const prerender is kinda opposite here? for SSG prerender should be true and SSR it should be false.

    • @CodinginPublic
      @CodinginPublic  Před 4 měsíci

      I don't remember what my diagram mentioned, but prerender only works when you're already in SSR mode (either "server" or "hybrid"). In that case, "server" makes everything NOT prerendered by default and you have to pass prerender = true to change that. "Hybrid" is the opposite. Hope that helps!

  • @TheBuddilla
    @TheBuddilla Před 9 měsíci

    My islands will be htmx LOL