{"id":4393,"date":"2020-02-10T11:23:23","date_gmt":"2020-02-10T16:23:23","guid":{"rendered":"https:\/\/2020.jacksonville.wordcamp.org\/?post_type=wcb_session&#038;p=4393"},"modified":"2020-02-10T12:15:32","modified_gmt":"2020-02-10T17:15:32","slug":"insanely-fast-mobile-offline-first-interactive-sites-with-svelte-sapper-and-wordpress","status":"publish","type":"wcb_session","link":"https:\/\/jacksonville.wordcamp.org\/2020\/session\/insanely-fast-mobile-offline-first-interactive-sites-with-svelte-sapper-and-wordpress\/","title":{"rendered":"Insanely fast mobile, offline-first, interactive sites with Svelte, Sapper, and WordPress"},"content":{"rendered":"\n<p>If you find GatsbyJS, ReactJS, Angular, NextJS\/NuxtJS, REST &amp; GraphQL interesting then this talk is for you. We will learn how to marry 3 wonderful platforms to build insanely fast, offline-first, mobile-friendly, interactive Single Page Applications (SPA) \/ web sites.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>WordPress is great as a CMS, and even better as a headless\/decoupled CMS.<\/li><li>Svelte is a compiler that compiles HTML+CSS+JavaScript into pure JavaScript that is executable on client (browser) as well as server (NodeJS). The code it produces does not use Virutal DOM, does not need a runtime framework, and thus produces very small bundles that run faster than alternatives such as ReactJS and Angular. As a bonus, the developer experience is extremely pleasant, due to the simplicity of Svelte programming model.<\/li><li>Sapper is a client- as well as server-side framework that lets you create high performance websites that can fetch content or data from RESTful backends and render them either client-side or server-side with Svelte. And blurs the line between the client and the server by rendering either on client or server.<\/li><\/ul>\n\n\n\n<p>The end result is a website that is SEO friendly, fast, content rich, and interactive.<\/p>\n\n\n\n<p>BENEFITS<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Content rich and easy to manage because its WordPress!<\/li><li> Fast performance due to Sapper&#8217;s prefetching and Svelte&#8217;s SSR (server-side rendering)<\/li><li> SEO ready due to server-side rendering (SSR)<\/li><li> Mobile ready and offline-first due to Sapper&#8217;s service worker.<\/li><li> All the sweetness of Svelte, which makes it super easy to build highly interactive JavaScript driven sites.<\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"<p>If you find GatsbyJS, ReactJS, Angular, NextJS\/NuxtJS, REST &amp; GraphQL interesting then this talk is for you. We will learn how to marry 3 wonderful platforms to build insanely fast, offline-first, mobile-friendly, interactive Single Page Applications (SPA) \/ web sites. WordPress is great as a CMS, and even better as a headless\/decoupled CMS. Svelte is &hellip; <a href=\"https:\/\/jacksonville.wordcamp.org\/2020\/session\/insanely-fast-mobile-offline-first-interactive-sites-with-svelte-sapper-and-wordpress\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Insanely fast mobile, offline-first, interactive sites with Svelte, Sapper, and WordPress&#8221;<\/span><\/a><\/p>\n","protected":false},"author":17747546,"featured_media":0,"template":"","meta":{"jetpack_post_was_ever_published":false,"_wcpt_session_time":1585427400,"_wcpt_session_duration":3000,"_wcpt_session_type":"session","_wcpt_session_slides":"","_wcpt_session_video":"","_wcpt_speaker_id":[4392],"footnotes":""},"session_track":[57],"session_category":[],"class_list":["post-4393","wcb_session","type-wcb_session","status-publish","hentry","wcb_track-advanced"],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/pbaLNw-18R","session_date_time":{"date":"March 28, 2020","time":"4:30 pm"},"session_speakers":[{"id":"4392","slug":"jitesh-doshi","name":"Jitesh Doshi","link":"https:\/\/jacksonville.wordcamp.org\/2020\/speaker\/jitesh-doshi\/"}],"session_cats_rendered":null,"_links":{"self":[{"href":"https:\/\/jacksonville.wordcamp.org\/2020\/wp-json\/wp\/v2\/sessions\/4393","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jacksonville.wordcamp.org\/2020\/wp-json\/wp\/v2\/sessions"}],"about":[{"href":"https:\/\/jacksonville.wordcamp.org\/2020\/wp-json\/wp\/v2\/types\/wcb_session"}],"version-history":[{"count":1,"href":"https:\/\/jacksonville.wordcamp.org\/2020\/wp-json\/wp\/v2\/sessions\/4393\/revisions"}],"predecessor-version":[{"id":4885,"href":"https:\/\/jacksonville.wordcamp.org\/2020\/wp-json\/wp\/v2\/sessions\/4393\/revisions\/4885"}],"speakers":[{"embeddable":true,"href":"https:\/\/jacksonville.wordcamp.org\/2020\/wp-json\/wp\/v2\/speakers\/4392"}],"author":[{"embeddable":true,"href":"https:\/\/jacksonville.wordcamp.org\/2020\/wp-json\/wporg\/v1\/users\/jkdoshi"}],"wp:attachment":[{"href":"https:\/\/jacksonville.wordcamp.org\/2020\/wp-json\/wp\/v2\/media?parent=4393"}],"wp:term":[{"taxonomy":"wcb_track","embeddable":true,"href":"https:\/\/jacksonville.wordcamp.org\/2020\/wp-json\/wp\/v2\/session_track?post=4393"},{"taxonomy":"wcb_session_category","embeddable":true,"href":"https:\/\/jacksonville.wordcamp.org\/2020\/wp-json\/wp\/v2\/session_category?post=4393"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}