Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Jamstack: Going back to the roots

Jamstack: Going back to the roots

Do you remember Microsoft FrontPage? The concept of static web pages is back! With some of the tools and concepts developed in the last years, we can get advantage of some features that static web pages offer and get web apps with better performance, more security, easier scaling and cheaper costs.

“Jamstack” is a term that is becoming more popular lately. There are more and more tools, services and frameworks that help us to develop web applications with this approach. We will talk about this architecture and what advantages it brings us compared to “Server Side Rendered” applications. We will also talk about different types of tools that we have at our disposal to create web applications based mainly on pre-rendered content.

Facundo Giuliani

October 17, 2020
Tweet

More Decks by Facundo Giuliani

Other Decks in Programming

Transcript

  1. Facundo Giuliani Web fgiuliani.com Twitter @facundozurdo GitHub @fgiuliani Software Engineer

    Lead Web Developer @ MultiTracks.com Auth0 Ambassador - GitKraken Ambassador
  2. 3

  3. Static Web Page A web page that is delivered to

    the user's browser exactly as stored
  4. Dynamic Web Page A web page where some of the

    content is generated dynamically, when needed
  5. Single Page Application A web application that interacts with the

    user by dynamically rewriting the current web page with new data from the server
  6. Client Side Rendering PROS CONS ◆ Richer interactions. ◆ Faster

    rendering after initial page load. ◆ Lower server load. ◆ Reusable UI components. ◆ Slower initial page load. ◆ Low SEO If not implemented correctly. ◆ Dependency on external libraries.
  7. Server Side Rendering PROS CONS ◆ Faster initial page load.

    ◆ Better SEO / Social Media Optimization. ◆ More secure (server-side code). ◆ Lower user device load. ◆ Busier web servers. ◆ Overall slow page rendering. ◆ Full page reload after route changes. ◆ The page is viewable sooner, but it’s not interactive.
  8. ◆ Fast ◆ Cheap ◆ Easy to maintain Static Web

    Pages ◆ Secure ◆ Easy to scale ◆ Stable
  9. Jamstack A new way of building websites and apps that

    delivers better performance, higher security, lower cost of scaling, and better developer experience.
  10. Content Management System Application or set of related programs that

    are used to create and manage digital content
  11. Headless CMS A CMS where the content repository is separated

    or decoupled from the presentation layer
  12. ◆ Serverless Apps: AWS Lambda, Azure Functions, Google Cloud Functions

    ◆ Form Service: Formspree, Typeform, Netlify Forms ◆ Database: FaunaDB, Firebase, Supabase ◆ Authentication: Auth0, Firebase Authentication API Services
  13. ◆ Search Engine: Algolia, Azure Search ◆ e-Commerce: Snipcart, Shopify

    ◆ Comments: Commento, Mouthful ◆ Image and Video Management: Cloudinary API Services
  14. ◆ Better Performance ◆ Cheaper Servers ◆ Better Caching Jamstack

    ◆ More Security ◆ Easy to scale ◆ Better SEO PROS ◆ Better Developer Experience
  15. Jamstack PROBLEMS ◆ Different costs to evaluate ◆ External dependencies

    ◆ Atomic build time ◆ Hard for content editors