{"id":9365,"date":"2021-11-11T13:29:31","date_gmt":"2021-11-11T11:29:31","guid":{"rendered":"https:\/\/www.antartika.it\/news\/jamstack-ovvero-perche-il-mio-sito-e-piu-svelte-del-tuo\/"},"modified":"2021-11-11T16:05:00","modified_gmt":"2021-11-11T14:05:00","slug":"jamstack-why-my-website-is-faster-than-yours","status":"publish","type":"post","link":"https:\/\/www.antartika.it\/en\/web-development\/jamstack-why-my-website-is-faster-than-yours\/","title":{"rendered":"Jamstack: Why My Website Is Faster Than Yours"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><strong>TLTR<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">There are various approaches to the architecture of a website or web application. One of the emerging solutions is called Jamstack, which has very specific characteristics (function decoupling, content pre-rendering, modularity, GIT-based, and versioning) that lead to significant advantages in terms of performance, security, scalability, and cost-effectiveness.<br>The Jamstack approach&#8217;s main drawback is the need for more effort (time and costs) compared to pre-packaged solutions, making it suitable only for those seeking quality and performance.<\/p>\n\n\n\n<div id=\"introduzione\" class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<h2 class=\"wp-block-heading\">Introduction<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">In <a href=\"https:\/\/www.antartika.it\/en\/web-development\/4x100-perfect-score-according-to-google\/\" data-type=\"post\" data-id=\"9331\">a recent article<\/a>, we discussed how our website achieved the highest possible score on <a href=\"https:\/\/web.dev\/measure\/\" data-type=\"URL\" data-id=\"https:\/\/web.dev\/measure\/\" target=\"_blank\" rel=\"noreferrer noopener\">web.dev\/measure<\/a>, Google&#8217;s official tool for measuring website performance. For the mentioned site, <a href=\"https:\/\/www.falegnameriamuraro.it\/\" data-type=\"URL\" data-id=\"https:\/\/www.falegnameriamuraro.it\/\" target=\"_blank\" rel=\"noreferrer noopener\">falegnameriamuraro.it<\/a>, we implemented <strong>an innovative web architecture called Jamstack,<\/strong> using a JavaScript framework named <strong>Svelte *<\/strong>.<br>In this article, we aim to describe the technological choices we&#8217;ve made to illustrate, and hopefully make understandable, the differences, advantages, and disadvantages compared to more well-known and conventional solutions.<\/p>\n\n\n\n<p class=\"small wp-block-paragraph\"><em>* For this project, the stack is complemented with Tailwind CSS for styling, Netlify CMS as a headless CMS, and Vercel for deployment.<\/em><\/p>\n<\/div><\/div>\n\n\n\n<div id=\"architettura-jamstack\" class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<h2 class=\"wp-block-heading\">The Jamstack Architecture<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">At the foundation of everything lies a new method, <strong>a new paradigm for creating websites and web applications, which has been named Jamstack<\/strong> (originally <strong>JAM<\/strong>stack). Mathias Biilmann, CEO and founder of Netlify, a company that provides cloud computing services focused on these technologies, coined the term. Here&#8217;s his definition of Jamstack:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">&#8220;A modern web development architecture based on client-side JavaScript, reusable APIs, and prebuilt Markup&#8221;.<\/p>\n<cite>Mathias Biilman<\/cite><\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Jamstack is not a language, framework, or tool.<\/strong> It&#8217;s an approach to web architecture, grounded in these three pillars:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>JavaScript<\/li>\n\n\n\n<li>APIs<\/li>\n\n\n\n<li>Markup<\/li>\n<\/ul>\n\n\n\n<p class=\"h3 wp-block-paragraph\">Javascript<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">All dynamic functionalities are managed through JavaScript, the programming language of the web, in its various forms and manifestations, libraries, and possible frameworks.<\/p>\n\n\n\n<p class=\"h3 wp-block-paragraph\">API<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">All server-side functionalities are abstracted and encapsulated within reusable APIs. These are standardized procedures that allow a software application to integrate and communicate easily, securely, and efficiently with other applications.<\/p>\n\n\n\n<p class=\"h3 wp-block-paragraph\">Markup<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The Jamstack architecture relies on HyperText <strong>Markup <\/strong>Language content, the web standard, served as simple static files that are distributed across the network in the fastest and most efficient manner possible, through a Content Delivery Network (CDN).<\/p>\n\n\n<style>\n:root{\n    --primary:      #008B95;\n    --secondary:    #363534;\n    --grey:         #F9F9F9;\n    --gr-dark:      #B6B6B5;\n    --anta-grey:    #6D6C6B;\n}\n\n\n\n\/************   Cf7 **************************+*\/\n.blocco-newsletter-articoli-blog.sfondo-a-righe {\n    background-image: linear-gradient(135deg,#e9e9e9 10%,#fff 10%,#fff 50%,#e9e9e9 50%,#e9e9e9 60%,#fff 60%,#fff 100%);\n    background-size: 7.07px 7.07px;\n    border: 1px solid #e9e9e9;\n}\n\n.blocco-newsletter-articoli-blog .titolo-cta {\n    font-family: var(--font-fam-body);\n    color: var(--bs-primary);\n}\n\n.blocco-newsletter-articoli-blog form p.h4 {\n    display: none;\n}\n\n.blocco-newsletter-articoli-blog form .row  {\n    margin-top: 1.5rem;\n}\n\n.blocco-newsletter-articoli-blog .wpcf7 input[type=\"email\"]{\n    margin-bottom: 0;\n    margin-top:0;\n\n}\n.blocco-newsletter-articoli-blog .wpcf7 label {\n    margin-top: 0;\n}\n.blocco-newsletter-articoli-blog .wpcf7 p.h4{\n    color:var(--anta-grey);\n}\n\n.blocco-newsletter-articoli-blog form [type=checkbox]+.wpcf7-list-item-label::before {\n    background-color: white;\n}\n\n.blocco-newsletter-articoli-blog .wpcf7 input[type=\"email\"] {\n    background-color: white !important;\n    font-size: calc(var(--fsz-p) * 1.15);\n    \/* content: 'per 1.15 mantiene fluidit\u00e0 e arriva a 24px che \u00e8 il risultato desiderato su desktop'; *\/\n}\n.blocco-newsletter-articoli-blog .wpcf7 input[type=\"email\"]:autofill,\n.blocco-newsletter-articoli-blog .wpcf7 input[type=\"email\"]:-webkit-autofill {\n    background-color: white !important;\n    box-shadow: 0 0 0 40px white inset!important;\n}\n\n.blocco-newsletter-articoli-blog .wpcf7 .wpcf7-submit {\n    background-color: white;\n}\n.blocco-newsletter-articoli-blog .wpcf7 input[type=\"email\"]::placeholder{\n    color:var(--gr-dark);\n    font-weight: 300;\n    font-size: var(--fsz-h5);\n    padding-left: 0.5rem;\n}\n.blocco-newsletter-articoli-blog .wpcf7 .wpcf7-spinner{\n    position: absolute;\n    bottom: 5rem;\n    right: 3rem;\n}\n\n.blocco-newsletter-articoli-blog .wpcf7 .wpcf7-submit:hover{\n    border: 2px solid var(--primary);\n    background-color: var(--primary);\n    color: white;\n}\n.blocco-newsletter-articoli-blog .wpcf7 .wpcf7-submit:disabled{\n    opacity: 1;\n}\n.blocco-newsletter-articoli-blog .wpcf7 form.sent .wpcf7-response-output{\n    border-color: var(--primary);\n}\n@media screen and (max-width:575px){\n    .blocco-newsletter-articoli-blog .wpcf7 .wpcf7-submit{\n        position: absolute;\n        bottom: 0rem;\n    }\n}\n@media screen and (min-width:1400px){\n\n\n    .blocco-newsletter-articoli-blog .wpcf7 .wpcf7-acceptance label{\n        margin-top:0;\n    }\n}\n<\/style>\n\n\n<div  class=\"anta-block blocco-newsletter-articoli-blog sfondo-a-righe py-4 mt-5\">\n\n    <div class=\"container-fluid\">\n        <div class=\"row\">\n            <div class=\"col-12\">\n                <p class=\"h2 mb-3 mt-0 titolo-cta\"><span class=\"green\">Subscribe to our newsletter<\/span><\/p>\n            <\/div>\n        <\/div>\n\n        <div class=\"row align-items-start\">\n            <div class=\"col-12\">\n                <p class=\"p-lg\">And receive news, tips, and strategies to enhance your online presence.<\/p>\n            <\/div>\n\n            <div class=\"col-12 position-relative\">\n                \n<div class=\"wpcf7 no-js\" id=\"wpcf7-f12032-o1\" lang=\"en-US\" dir=\"ltr\" data-wpcf7-id=\"12032\">\n<div class=\"screen-reader-response\"><p role=\"status\" aria-live=\"polite\" aria-atomic=\"true\"><\/p> <ul><\/ul><\/div>\n<form action=\"\/en\/wp-json\/wp\/v2\/posts\/9365#wpcf7-f12032-o1\" method=\"post\" class=\"wpcf7-form init\" aria-label=\"Contact form\" novalidate=\"novalidate\" data-status=\"init\">\n<fieldset class=\"hidden-fields-container\"><input type=\"hidden\" name=\"_wpcf7\" value=\"12032\" \/><input type=\"hidden\" name=\"_wpcf7_version\" value=\"6.1.5\" \/><input type=\"hidden\" name=\"_wpcf7_locale\" value=\"en_US\" \/><input type=\"hidden\" name=\"_wpcf7_unit_tag\" value=\"wpcf7-f12032-o1\" \/><input type=\"hidden\" name=\"_wpcf7_container_post\" value=\"0\" \/><input type=\"hidden\" name=\"_wpcf7_posted_data_hash\" value=\"\" \/>\n<\/fieldset>\n<div class=\"wpcf7-turnstile cf-turnstile\" data-sitekey=\"0x4AAAAAADKz9X03-_9CBiDr\" data-response-field-name=\"_wpcf7_turnstile_response\"><\/div>\n\n<div class=\"row align-items-end\">\n<div class=\"col-sm-9 pe-sm-0\">\n<label for=\"your-email-blog\" class=\"mb-0\">\n<h4 class=\"h4\">Enter your email address:<\/h4>\n\n    <span class=\"wpcf7-form-control-wrap\" data-name=\"your-email-blog\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-email wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-email\" id=\"your-email-blog\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"yourmail@mail.ext\" value=\"\" type=\"email\" name=\"your-email-blog\" \/><\/span><\/label>\n<\/div>\n<div class=\"col-sm-3 ps-sm-0\">\n<input class=\"wpcf7-form-control wpcf7-submit has-spinner\" type=\"submit\" value=\"Send\" \/>\n<\/div>\n<div class=\"privacy d-flex mt-3\">\n <fieldset class=\"m-0 p-0 border-0\">\n      <legend class=\"visually-hidden\">Consenso al trattamento dei dati personali<\/legend>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"acceptance-516\"><span class=\"wpcf7-form-control wpcf7-acceptance\"><span class=\"wpcf7-list-item\"><label><input type=\"checkbox\" name=\"acceptance-516\" value=\"1\" class=\"acceptance\" aria-invalid=\"false\" \/><span class=\"wpcf7-list-item-label\">I consent to the processing of my data in accordance with your <a href=\"https:\/\/www.iubenda.com\/privacy-policy\/82033330\" class=\"iubenda-nostyle no-brand iubenda-embed \" title=\"Privacy Policy\" target=\"_blank\" rel=\"noopener\">privacy policy<\/a><span class=\"ms-1\">*<\/span><\/span><\/label><\/span><\/span><\/span>\n  <legend class=\"visually-hidden\">Newsletter subscription<\/legend>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"checkbox-newsletter\"><span class=\"wpcf7-form-control wpcf7-checkbox\"><span class=\"wpcf7-list-item first last\"><label><input type=\"checkbox\" name=\"checkbox-newsletter[]\" value=\"I would like to subscribe to the newsletter to receive updates on Digital Marketing\" \/><span class=\"wpcf7-list-item-label\">I would like to subscribe to the newsletter to receive updates on Digital Marketing<\/span><\/label><\/span><\/span><\/span> \n<\/fieldset>\n<\/div>\n<\/div>\n<div class=\"spacing-l d-sm-none\"><\/div><div class=\"wpcf7-response-output\" aria-hidden=\"true\"><\/div>\n<\/form>\n<\/div>\n            <\/div>\n        <\/div><!-- end row -->\n    <\/div><!-- end container-fluid -->\n\n<\/div><\/div><\/div>\n\n\n\n<div id=\"principi-caratteristiche\" class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<h2 class=\"wp-block-heading\">Principles and Characteristics<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Now, let&#8217;s provide an overview of the prominent characteristics of the Jamstack architecture. It&#8217;s not easy to discuss complex topics in a concise and simple manner, but we&#8217;ll give it a try to provide at least an idea of the key differences compared to traditional approaches.<\/p>\n\n\n\n<p class=\"h3 wp-block-paragraph\">Function Decoupling<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In 2021, the majority of websites are built using a CMS like WordPress or a site builder like Wix. In both cases, code, content, and design are managed by a single system, a single <strong>complex monolithic application.<\/strong><br>The &#8220;engine&#8221; resides in the backend, where the logic and operational code of the entire application are located, and where templates are inserted. The backend also includes a CMS (Content Management System), used to create and manage content, which is stored in a server&#8217;s database.<br>When users access the website&#8217;s pages, <strong>the required content is fetched from the database, assembled into templates, and served in the browser.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In a Jamstack application, <strong>all these processes are decoupled and managed separately<\/strong> by specialized, independent applications. This approach also offers extreme <strong>flexibility and technological freedom,<\/strong> making it possible to easily replace different system elements, <strong>composing different technological stacks as needed.<\/strong><\/p>\n\n\n\n<p class=\"h3 wp-block-paragraph\">Content Pre-rendering<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In a Jamstack website, the entire frontend (what users see and experience in their browsers) is built in advance of user requests: content is always ready to be served in the form of <strong>highly optimized static pages.<\/strong><br>Even with a traditional CMS, content can be pre-cached, which, in many ways and within certain limits, functions similarly to content pre-rendering in a Jamstack architecture. Beyond the potential superiority of one solution over the other, the underlying logic of operation remains fundamentally different:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>A CMS is a dynamic application that can pre-cache static content in advance.<\/strong><\/li>\n\n\n\n<li><strong>A Jamstack site is a static application capable of making all necessary dynamic calls.<\/strong><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">In a traditional CMS-based site, most of the work is done in the backend, on the server side. In a Jamstack application, <strong>the focus shifts almost entirely to the frontend, <\/strong>directly in the user&#8217;s browser, where requests for dynamic data originate only when necessary.<\/p>\n\n\n\n<p class=\"h3 wp-block-paragraph\">Modularity<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The fundamental modularity of the Jamstack approach <strong>allows for virtual connections to various services via APIs.<\/strong> This enables both avoiding reinventing the wheel each time and building <strong>extremely complex applications,<\/strong> integrating them relatively easily with specialized or advanced services.<\/p>\n\n\n\n<p class=\"h3 wp-block-paragraph\">GIT-Based and Versioning<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">One of the features of Jamstack, often overlooked, is that it&#8217;s <strong>based on GIT.<\/strong><br>What is GIT? GIT is arguably <strong>the most important tool for software developers.<\/strong><br>It&#8217;s a robust <strong>version control system, tracking all changes made to source files over time.<\/strong> It&#8217;s a highly useful tool for small projects and essential for complex projects where multiple individuals work asynchronously and nonlinearly.<br>Interestingly, GIT was created in just a couple of days and nights (!!!) by <strong>Linus Torvalds<\/strong>, the controversial and brilliant father of Linux.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Thanks to GIT, <strong>all the source code of a Jamstack website or application is stored on online repository services<\/strong> like <a href=\"https:\/\/github.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Github<\/a>, <a href=\"https:\/\/bitbucket.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">Bitbucket<\/a>, <a href=\"https:\/\/sourceforge.net\/\" target=\"_blank\" rel=\"noreferrer noopener\">Sourceforge<\/a>, making saving, sharing, comparing versions, and more, easy, fast, and secure.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The result is that with a few simple commands, a developer can save their work to the cloud, a colleague can download it to their computer, share it with others, compare different code versions, revert to previous versions (!!!), and much more.<\/p>\n\n\n<style>\n:root{\n    --primary:      #008B95;\n    --secondary:    #363534;\n    --grey:         #F9F9F9;\n    --gr-dark:      #B6B6B5;\n    --anta-grey:    #6D6C6B;\n}\n\n\n\n\/************   Cf7 **************************+*\/\n.blocco-newsletter-articoli-blog.sfondo-a-righe {\n    background-image: linear-gradient(135deg,#e9e9e9 10%,#fff 10%,#fff 50%,#e9e9e9 50%,#e9e9e9 60%,#fff 60%,#fff 100%);\n    background-size: 7.07px 7.07px;\n    border: 1px solid #e9e9e9;\n}\n\n.blocco-newsletter-articoli-blog .titolo-cta {\n    font-family: var(--font-fam-body);\n    color: var(--bs-primary);\n}\n\n.blocco-newsletter-articoli-blog form p.h4 {\n    display: none;\n}\n\n.blocco-newsletter-articoli-blog form .row  {\n    margin-top: 1.5rem;\n}\n\n.blocco-newsletter-articoli-blog .wpcf7 input[type=\"email\"]{\n    margin-bottom: 0;\n    margin-top:0;\n\n}\n.blocco-newsletter-articoli-blog .wpcf7 label {\n    margin-top: 0;\n}\n.blocco-newsletter-articoli-blog .wpcf7 p.h4{\n    color:var(--anta-grey);\n}\n\n.blocco-newsletter-articoli-blog form [type=checkbox]+.wpcf7-list-item-label::before {\n    background-color: white;\n}\n\n.blocco-newsletter-articoli-blog .wpcf7 input[type=\"email\"] {\n    background-color: white !important;\n    font-size: calc(var(--fsz-p) * 1.15);\n    \/* content: 'per 1.15 mantiene fluidit\u00e0 e arriva a 24px che \u00e8 il risultato desiderato su desktop'; *\/\n}\n.blocco-newsletter-articoli-blog .wpcf7 input[type=\"email\"]:autofill,\n.blocco-newsletter-articoli-blog .wpcf7 input[type=\"email\"]:-webkit-autofill {\n    background-color: white !important;\n    box-shadow: 0 0 0 40px white inset!important;\n}\n\n.blocco-newsletter-articoli-blog .wpcf7 .wpcf7-submit {\n    background-color: white;\n}\n.blocco-newsletter-articoli-blog .wpcf7 input[type=\"email\"]::placeholder{\n    color:var(--gr-dark);\n    font-weight: 300;\n    font-size: var(--fsz-h5);\n    padding-left: 0.5rem;\n}\n.blocco-newsletter-articoli-blog .wpcf7 .wpcf7-spinner{\n    position: absolute;\n    bottom: 5rem;\n    right: 3rem;\n}\n\n.blocco-newsletter-articoli-blog .wpcf7 .wpcf7-submit:hover{\n    border: 2px solid var(--primary);\n    background-color: var(--primary);\n    color: white;\n}\n.blocco-newsletter-articoli-blog .wpcf7 .wpcf7-submit:disabled{\n    opacity: 1;\n}\n.blocco-newsletter-articoli-blog .wpcf7 form.sent .wpcf7-response-output{\n    border-color: var(--primary);\n}\n@media screen and (max-width:575px){\n    .blocco-newsletter-articoli-blog .wpcf7 .wpcf7-submit{\n        position: absolute;\n        bottom: 0rem;\n    }\n}\n@media screen and (min-width:1400px){\n\n\n    .blocco-newsletter-articoli-blog .wpcf7 .wpcf7-acceptance label{\n        margin-top:0;\n    }\n}\n<\/style>\n\n\n<div  class=\"anta-block blocco-newsletter-articoli-blog sfondo-a-righe py-4 mt-5\">\n\n    <div class=\"container-fluid\">\n        <div class=\"row\">\n            <div class=\"col-12\">\n                <p class=\"h2 mb-3 mt-0 titolo-cta\"><span class=\"green\">Subscribe to our newsletter<\/span><\/p>\n            <\/div>\n        <\/div>\n\n        <div class=\"row align-items-start\">\n            <div class=\"col-12\">\n                <p class=\"p-lg\">And receive news, tips, and strategies to enhance your online presence.<\/p>\n            <\/div>\n\n            <div class=\"col-12 position-relative\">\n                \n<div class=\"wpcf7 no-js\" id=\"wpcf7-f12032-o2\" lang=\"en-US\" dir=\"ltr\" data-wpcf7-id=\"12032\">\n<div class=\"screen-reader-response\"><p role=\"status\" aria-live=\"polite\" aria-atomic=\"true\"><\/p> <ul><\/ul><\/div>\n<form action=\"\/en\/wp-json\/wp\/v2\/posts\/9365#wpcf7-f12032-o2\" method=\"post\" class=\"wpcf7-form init\" aria-label=\"Contact form\" novalidate=\"novalidate\" data-status=\"init\">\n<fieldset class=\"hidden-fields-container\"><input type=\"hidden\" name=\"_wpcf7\" value=\"12032\" \/><input type=\"hidden\" name=\"_wpcf7_version\" value=\"6.1.5\" \/><input type=\"hidden\" name=\"_wpcf7_locale\" value=\"en_US\" \/><input type=\"hidden\" name=\"_wpcf7_unit_tag\" value=\"wpcf7-f12032-o2\" \/><input type=\"hidden\" name=\"_wpcf7_container_post\" value=\"0\" \/><input type=\"hidden\" name=\"_wpcf7_posted_data_hash\" value=\"\" \/>\n<\/fieldset>\n<div class=\"wpcf7-turnstile cf-turnstile\" data-sitekey=\"0x4AAAAAADKz9X03-_9CBiDr\" data-response-field-name=\"_wpcf7_turnstile_response\"><\/div>\n\n<div class=\"row align-items-end\">\n<div class=\"col-sm-9 pe-sm-0\">\n<label for=\"your-email-blog\" class=\"mb-0\">\n<h4 class=\"h4\">Enter your email address:<\/h4>\n\n    <span class=\"wpcf7-form-control-wrap\" data-name=\"your-email-blog\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-email wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-email\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"yourmail@mail.ext\" value=\"\" type=\"email\" name=\"your-email-blog\" \/><\/span><\/label>\n<\/div>\n<div class=\"col-sm-3 ps-sm-0\">\n<input class=\"wpcf7-form-control wpcf7-submit has-spinner\" type=\"submit\" value=\"Send\" \/>\n<\/div>\n<div class=\"privacy d-flex mt-3\">\n <fieldset class=\"m-0 p-0 border-0\">\n      <legend class=\"visually-hidden\">Consenso al trattamento dei dati personali<\/legend>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"acceptance-516\"><span class=\"wpcf7-form-control wpcf7-acceptance\"><span class=\"wpcf7-list-item\"><label><input type=\"checkbox\" name=\"acceptance-516\" value=\"1\" class=\"acceptance\" aria-invalid=\"false\" \/><span class=\"wpcf7-list-item-label\">I consent to the processing of my data in accordance with your <a href=\"https:\/\/www.iubenda.com\/privacy-policy\/82033330\" class=\"iubenda-nostyle no-brand iubenda-embed \" title=\"Privacy Policy\" target=\"_blank\" rel=\"noopener\">privacy policy<\/a><span class=\"ms-1\">*<\/span><\/span><\/label><\/span><\/span><\/span>\n  <legend class=\"visually-hidden\">Newsletter subscription<\/legend>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"checkbox-newsletter\"><span class=\"wpcf7-form-control wpcf7-checkbox\"><span class=\"wpcf7-list-item first last\"><label><input type=\"checkbox\" name=\"checkbox-newsletter[]\" value=\"I would like to subscribe to the newsletter to receive updates on Digital Marketing\" \/><span class=\"wpcf7-list-item-label\">I would like to subscribe to the newsletter to receive updates on Digital Marketing<\/span><\/label><\/span><\/span><\/span> \n<\/fieldset>\n<\/div>\n<\/div>\n<div class=\"spacing-l d-sm-none\"><\/div><div class=\"wpcf7-response-output\" aria-hidden=\"true\"><\/div>\n<\/form>\n<\/div>\n            <\/div>\n        <\/div><!-- end row -->\n    <\/div><!-- end container-fluid -->\n\n<\/div><\/div><\/div>\n\n\n\n<div id=\"vantaggi-jamstack\" class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<h2 class=\"wp-block-heading\">Advantages of Jamstack<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Now that we have an understanding of what the Jamstack architecture is and how it works, let&#8217;s explore the most important and interesting aspect: the advantages of this approach. Some of these advantages have already been hinted at and are direct consequences of the characteristics we&#8217;ve just discussed.<\/p>\n\n\n\n<p class=\"h3 wp-block-paragraph\">Performance<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>In the Jamstack architecture, content is already prepared <\/strong>(pre-rendered) and distributed across the network through a Content Delivery Network (CDN).<strong> From a speed perspective, this is currently the best technological solution available.<\/strong><br>To illustrate the difference from a site built in a traditional manner using a CMS, let&#8217;s make a comparison using a metaphor.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Imagine:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>a reader (a web user) goes to a library (the browser on their computer or smartphone),<\/li>\n\n\n\n<li>they order a book (type in the URL of a web page),<\/li>\n\n\n\n<li>the book isn&#8217;t available in the library (it&#8217;s not in their browser&#8217;s cache).<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Let&#8217;s see what happens in these two different scenarios.<\/p>\n\n\n\n<figure class=\"wp-block-table tabellaJ is-style-stripes\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\"><\/th><th class=\"has-text-align-left\" data-align=\"left\"><\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\">The library (the browser) sends the request to its wholesaler (network node).<\/td><td class=\"has-text-align-left\" data-align=\"left\">The library (the browser) sends the request to its wholesaler (network node).<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">The wholesaler forwards the request to the publisher (server hosting the site).<\/td><td class=\"has-text-align-left\" data-align=\"left\">The wholesaler already has a printed copy of the book and immediately gives it to the library (the content was pre-rendered and distributed across the network through a CDN).<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">The request is forwarded to the print department (CMS),<\/td><td class=\"has-text-align-left\" data-align=\"left\"><\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">where an operator retrieves the document templates from the storage (database).<\/td><td class=\"has-text-align-left\" data-align=\"left\"><\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">The document is printed (content rendering in the template),<\/td><td class=\"has-text-align-left\" data-align=\"left\"><\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">and delivered to a courier (network server),<\/td><td class=\"has-text-align-left\" data-align=\"left\"><\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">who sends it to the wholesaler (network node),<\/td><td class=\"has-text-align-left\" data-align=\"left\"><\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">which finally delivers it to the library (the user&#8217;s browser).<\/td><td class=\"has-text-align-left\" data-align=\"left\"><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">This metaphor, though rough and approximate, helps us understand why there are (few) sites that load and become interactive in a couple of seconds, and (many) others that take around ten seconds or more.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Like other professionals (not many, to be honest), we at Antartika have been addressing performance issues for many years. <strong>Even for sites we create using &#8220;traditional&#8221; CMS platforms<\/strong> (like WordPress, for instance)<strong> we offer advanced and performant solutions,<\/strong> such as content pre-caching and distribution through CDNs. Unfortunately, this isn&#8217;t the case for the vast majority of websites currently on the internet.<\/p>\n\n\n\n<p class=\"h3 wp-block-paragraph\">Security<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A Jamstack application mainly exposes static content, which inherently lacks vulnerabilities. Alongside static assets, only the APIs of dynamic microservices are exposed as potential attack points. These APIs are <strong>few in number and easily controllable<\/strong> (for instance, through read-only implementations whenever possible). This is in stark contrast to a classic monolithic CMS, where various dynamic functions (core application of the CMS, template, plugins) constitute vulnerabilities and potential attack points.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In a nutshell: <strong>the risk and vulnerability factors of this architecture are predominantly human-related, pertaining to passwords and authentication processes of microservices.<\/strong> With rigorous management of these aspects, <strong>a level of security that is hard to match <\/strong>can be achieved (though it&#8217;s important to note that absolute security doesn&#8217;t exist, and any network-connected service can&#8217;t withstand an attack conducted with nearly infinite power and\/or nearly infinite duration).<\/p>\n\n\n\n<p class=\"h3 wp-block-paragraph\">Cost Efficiency<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Firstly, as mentioned earlier, the Jamstack architecture shifts much of the work from the backend to the frontend, from the server to the browser. This also has <strong>an important economic consequence,<\/strong> which we&#8217;ll now explore. In the process of creating and consuming content on the web, there are two costs:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>the cost borne by the platform hosting and publishing the content (servers and energy consumption);<\/li>\n\n\n\n<li>the cost borne by users utilizing the content (devices and energy consumption).<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Hence, <strong>shifting a substantial part of the work from the server to users&#8217; clients also shifts a large portion of the costs to users<\/strong> (for an individual user, these costs are so low that usually, in more fortunate and affluent parts of the world, they&#8217;re not even perceived or considered).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Secondly, the Jamstack architecture, as previously explained, <strong>minimizes the number of exchanges<\/strong> (requests and responses) and the amount of information transferred between the server and the client (thus reducing resources and energy needed).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">As a third and final consideration, it&#8217;s worth adding that the adoption of this approach by developers often stems from a<strong> significant focus on performance, hence the speed and efficiency of code.<\/strong> This also translates into less hardware usage and energy consumption.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Due to these three factors just mentioned, it&#8217;s reasonable to believe that <strong>the Jamstack architecture could have competitively lower operating costs compared to traditional solutions.<\/strong> Although specialized hosting service providers in this field are still relatively few, it seems that the offered prices are quite accessible, and many providers also offer generous free tiers that might be sufficient for many small businesses.<\/p>\n\n\n\n<p class=\"h3 wp-block-paragraph\">Scalability<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Building on GIT and utilizing static content and microservices, deploying to one of the various <strong>cloud computing services specializing in the Jamstack architecture<\/strong> (Netlify, Vercel, Gatsby Cloud, etc.) takes just a couple of clicks and a little more.<br>All the effort put into developing a content delivery strategy, even for complex applications, ends here\u2014it can be easily and economically outsourced to one of these specialized providers. And as the necessary resources grow, upgrading to a higher service tier can be accomplished with just a couple more clicks.<\/p>\n\n\n<style>\n:root{\n    --primary:      #008B95;\n    --secondary:    #363534;\n    --grey:         #F9F9F9;\n    --gr-dark:      #B6B6B5;\n    --anta-grey:    #6D6C6B;\n}\n\n\n\n\/************   Cf7 **************************+*\/\n.blocco-newsletter-articoli-blog.sfondo-a-righe {\n    background-image: linear-gradient(135deg,#e9e9e9 10%,#fff 10%,#fff 50%,#e9e9e9 50%,#e9e9e9 60%,#fff 60%,#fff 100%);\n    background-size: 7.07px 7.07px;\n    border: 1px solid #e9e9e9;\n}\n\n.blocco-newsletter-articoli-blog .titolo-cta {\n    font-family: var(--font-fam-body);\n    color: var(--bs-primary);\n}\n\n.blocco-newsletter-articoli-blog form p.h4 {\n    display: none;\n}\n\n.blocco-newsletter-articoli-blog form .row  {\n    margin-top: 1.5rem;\n}\n\n.blocco-newsletter-articoli-blog .wpcf7 input[type=\"email\"]{\n    margin-bottom: 0;\n    margin-top:0;\n\n}\n.blocco-newsletter-articoli-blog .wpcf7 label {\n    margin-top: 0;\n}\n.blocco-newsletter-articoli-blog .wpcf7 p.h4{\n    color:var(--anta-grey);\n}\n\n.blocco-newsletter-articoli-blog form [type=checkbox]+.wpcf7-list-item-label::before {\n    background-color: white;\n}\n\n.blocco-newsletter-articoli-blog .wpcf7 input[type=\"email\"] {\n    background-color: white !important;\n    font-size: calc(var(--fsz-p) * 1.15);\n    \/* content: 'per 1.15 mantiene fluidit\u00e0 e arriva a 24px che \u00e8 il risultato desiderato su desktop'; *\/\n}\n.blocco-newsletter-articoli-blog .wpcf7 input[type=\"email\"]:autofill,\n.blocco-newsletter-articoli-blog .wpcf7 input[type=\"email\"]:-webkit-autofill {\n    background-color: white !important;\n    box-shadow: 0 0 0 40px white inset!important;\n}\n\n.blocco-newsletter-articoli-blog .wpcf7 .wpcf7-submit {\n    background-color: white;\n}\n.blocco-newsletter-articoli-blog .wpcf7 input[type=\"email\"]::placeholder{\n    color:var(--gr-dark);\n    font-weight: 300;\n    font-size: var(--fsz-h5);\n    padding-left: 0.5rem;\n}\n.blocco-newsletter-articoli-blog .wpcf7 .wpcf7-spinner{\n    position: absolute;\n    bottom: 5rem;\n    right: 3rem;\n}\n\n.blocco-newsletter-articoli-blog .wpcf7 .wpcf7-submit:hover{\n    border: 2px solid var(--primary);\n    background-color: var(--primary);\n    color: white;\n}\n.blocco-newsletter-articoli-blog .wpcf7 .wpcf7-submit:disabled{\n    opacity: 1;\n}\n.blocco-newsletter-articoli-blog .wpcf7 form.sent .wpcf7-response-output{\n    border-color: var(--primary);\n}\n@media screen and (max-width:575px){\n    .blocco-newsletter-articoli-blog .wpcf7 .wpcf7-submit{\n        position: absolute;\n        bottom: 0rem;\n    }\n}\n@media screen and (min-width:1400px){\n\n\n    .blocco-newsletter-articoli-blog .wpcf7 .wpcf7-acceptance label{\n        margin-top:0;\n    }\n}\n<\/style>\n\n\n<div  class=\"anta-block blocco-newsletter-articoli-blog sfondo-a-righe py-4 mt-5\">\n\n    <div class=\"container-fluid\">\n        <div class=\"row\">\n            <div class=\"col-12\">\n                <p class=\"h2 mb-3 mt-0 titolo-cta\"><span class=\"green\">Subscribe to our newsletter<\/span><\/p>\n            <\/div>\n        <\/div>\n\n        <div class=\"row align-items-start\">\n            <div class=\"col-12\">\n                <p class=\"p-lg\">And receive news, tips, and strategies to enhance your online presence.<\/p>\n            <\/div>\n\n            <div class=\"col-12 position-relative\">\n                \n<div class=\"wpcf7 no-js\" id=\"wpcf7-f12032-o3\" lang=\"en-US\" dir=\"ltr\" data-wpcf7-id=\"12032\">\n<div class=\"screen-reader-response\"><p role=\"status\" aria-live=\"polite\" aria-atomic=\"true\"><\/p> <ul><\/ul><\/div>\n<form action=\"\/en\/wp-json\/wp\/v2\/posts\/9365#wpcf7-f12032-o3\" method=\"post\" class=\"wpcf7-form init\" aria-label=\"Contact form\" novalidate=\"novalidate\" data-status=\"init\">\n<fieldset class=\"hidden-fields-container\"><input type=\"hidden\" name=\"_wpcf7\" value=\"12032\" \/><input type=\"hidden\" name=\"_wpcf7_version\" value=\"6.1.5\" \/><input type=\"hidden\" name=\"_wpcf7_locale\" value=\"en_US\" \/><input type=\"hidden\" name=\"_wpcf7_unit_tag\" value=\"wpcf7-f12032-o3\" \/><input type=\"hidden\" name=\"_wpcf7_container_post\" value=\"0\" \/><input type=\"hidden\" name=\"_wpcf7_posted_data_hash\" value=\"\" \/>\n<\/fieldset>\n<div class=\"wpcf7-turnstile cf-turnstile\" data-sitekey=\"0x4AAAAAADKz9X03-_9CBiDr\" data-response-field-name=\"_wpcf7_turnstile_response\"><\/div>\n\n<div class=\"row align-items-end\">\n<div class=\"col-sm-9 pe-sm-0\">\n<label for=\"your-email-blog\" class=\"mb-0\">\n<h4 class=\"h4\">Enter your email address:<\/h4>\n\n    <span class=\"wpcf7-form-control-wrap\" data-name=\"your-email-blog\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-email wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-email\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"yourmail@mail.ext\" value=\"\" type=\"email\" name=\"your-email-blog\" \/><\/span><\/label>\n<\/div>\n<div class=\"col-sm-3 ps-sm-0\">\n<input class=\"wpcf7-form-control wpcf7-submit has-spinner\" type=\"submit\" value=\"Send\" \/>\n<\/div>\n<div class=\"privacy d-flex mt-3\">\n <fieldset class=\"m-0 p-0 border-0\">\n      <legend class=\"visually-hidden\">Consenso al trattamento dei dati personali<\/legend>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"acceptance-516\"><span class=\"wpcf7-form-control wpcf7-acceptance\"><span class=\"wpcf7-list-item\"><label><input type=\"checkbox\" name=\"acceptance-516\" value=\"1\" class=\"acceptance\" aria-invalid=\"false\" \/><span class=\"wpcf7-list-item-label\">I consent to the processing of my data in accordance with your <a href=\"https:\/\/www.iubenda.com\/privacy-policy\/82033330\" class=\"iubenda-nostyle no-brand iubenda-embed \" title=\"Privacy Policy\" target=\"_blank\" rel=\"noopener\">privacy policy<\/a><span class=\"ms-1\">*<\/span><\/span><\/label><\/span><\/span><\/span>\n  <legend class=\"visually-hidden\">Newsletter subscription<\/legend>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"checkbox-newsletter\"><span class=\"wpcf7-form-control wpcf7-checkbox\"><span class=\"wpcf7-list-item first last\"><label><input type=\"checkbox\" name=\"checkbox-newsletter[]\" value=\"I would like to subscribe to the newsletter to receive updates on Digital Marketing\" \/><span class=\"wpcf7-list-item-label\">I would like to subscribe to the newsletter to receive updates on Digital Marketing<\/span><\/label><\/span><\/span><\/span> \n<\/fieldset>\n<\/div>\n<\/div>\n<div class=\"spacing-l d-sm-none\"><\/div><div class=\"wpcf7-response-output\" aria-hidden=\"true\"><\/div>\n<\/form>\n<\/div>\n            <\/div>\n        <\/div><!-- end row -->\n    <\/div><!-- end container-fluid -->\n\n<\/div><\/div><\/div>\n\n\n\n<div id=\"costi\" class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<h2 class=\"wp-block-heading\">Drawbacks: Costs<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The fact that it&#8217;s a completely custom-made solution comes with obvious advantages but equally evident disadvantages: <strong>unlike a WIX website or a WordPress site built with a standard template, Jamstack is not a ready-made solution that works &#8220;out of the box.&#8221;<\/strong><br>The Jamstack architecture needs to be thought out and designed case by case, in terms of customizing services based on specific requirements. There are many questions followed by diverse answers and technological choices. For instance:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Should a JavaScript framework be used? If so, which one? React? Vue? Angular? Svelte?\u2026<\/li>\n\n\n\n<li>Is a site generator necessary, such as Next, Hugo, Gatsby, Jeckyll, Nuxt\u2026?\u2026<\/li>\n\n\n\n<li>For styling, what&#8217;s used? Tailwind? Styled Components? CSS Modules?\u2026<\/li>\n\n\n\n<li>Is a CMS needed? Which one to choose from the dozens available: Strapi? Ghost? Contentful?\u2026<\/li>\n\n\n\n<li>Which hosting to use? Netlify? Vercel? Heroku? AWS?<\/li>\n\n\n\n<li>etc.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Choosing the right stack is a complex task that considers many factors, including available skills and the development team&#8217;s preferences. Once the most suitable solution is designed, <strong>all the different pieces need to be taken and assembled together. <\/strong>Certainly, this requires <strong>more time and effort <\/strong>compared to a pre-packaged solution, which can be bought ready-made and only requires pressing the power button.<\/p>\n<\/div><\/div>\n\n\n\n<div id=\"jamstack-da-competizione\" class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<h2 class=\"wp-block-heading\">Conclusion: Jamstack is for the Competitive<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">To draw conclusions and summarize the key differences between a traditional monolithic application (WordPress, Joomla, Drupal, etc.) and Jamstack, let&#8217;s make a comparison with the world of bicycles.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The traditional solution corresponds to a <strong>mass-market bicycle:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>it can be bought at a supermarket or a specialized store;<\/li>\n\n\n\n<li>there are many models available, with varying prices and qualities (some excellent);<\/li>\n\n\n\n<li>some customization is possible (color, saddle, wheels, etc.).<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">The Jamstack solution is a <strong>custom-made bicycle:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>it&#8217;s tailor-made by an experienced craftsman;<\/li>\n\n\n\n<li>offers virtually infinite customizations;<\/li>\n\n\n\n<li>is assembled individually, piece by piece<\/li>\n\n\n\n<li>with extreme attention to detail.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Those who buy a custom bicycle often spend hundreds or thousands of extra euros to have components that allow them to reduce the overall weight by a few kilograms or a few hundred grams.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Similarly, in a highly performant Jamstack solution, developers often spend hours or days of work to eliminate a few tens of kilobytes of weight, and consequently, <strong>reduce average loading times<\/strong> by a fraction of a second.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The Jamstack architecture isn&#8217;t a solution for everyone: it&#8217;s an advanced solution that&#8217;s suited for those willing to invest in <strong>quality and performance<\/strong> and can appreciate how these translate into <strong>a competitive advantage for their business.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>It all depends on needs and objectives:<\/strong> if the purpose is occasional leisurely rides, spending thousands of euros on a competitive bicycle is utterly unnecessary. If the goal is to compete in the Paris-Roubaix race, a high-end bicycle is indispensable, and a few hundred grams more or less can<strong> make the difference between victory and trailing behind.<\/strong><\/p>\n<\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Jamstack is an approach to the architecture of websites or web applications that leads to significant advantages in terms of performance, security, scalability, and cost-effectiveness. <span class=\"excerpt-link\"><a class=\"ms-1 understrap-read-more-link\" href=\"https:\/\/www.antartika.it\/en\/web-development\/jamstack-why-my-website-is-faster-than-yours\/\">Read more &raquo;<span class=\"screen-reader-text\"> from Jamstack: Why My Website Is Faster Than Yours<\/span><\/a><\/span><\/p>\n","protected":false},"author":9,"featured_media":7523,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"_lmt_disableupdate":"yes","_lmt_disable":"","footnotes":""},"categories":[194],"tags":[278,280,279],"class_list":["post-9365","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-web-development","tag-pagespeed-en","tag-sitoweb-en","tag-webperformance-en"],"acf":[],"modified_by":"AntaUser3","_links":{"self":[{"href":"https:\/\/www.antartika.it\/en\/wp-json\/wp\/v2\/posts\/9365","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.antartika.it\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.antartika.it\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.antartika.it\/en\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/www.antartika.it\/en\/wp-json\/wp\/v2\/comments?post=9365"}],"version-history":[{"count":0,"href":"https:\/\/www.antartika.it\/en\/wp-json\/wp\/v2\/posts\/9365\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.antartika.it\/en\/wp-json\/wp\/v2\/media\/7523"}],"wp:attachment":[{"href":"https:\/\/www.antartika.it\/en\/wp-json\/wp\/v2\/media?parent=9365"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.antartika.it\/en\/wp-json\/wp\/v2\/categories?post=9365"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.antartika.it\/en\/wp-json\/wp\/v2\/tags?post=9365"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}