{"id":2089,"date":"2017-12-21T20:17:48","date_gmt":"2017-12-21T20:17:48","guid":{"rendered":"https:\/\/ionicframework.com\/?p=2089"},"modified":"2020-09-22T20:52:36","modified_gmt":"2020-09-22T20:52:36","slug":"prime-time-for-pwas","status":"publish","type":"post","link":"https:\/\/ionic.io\/blog\/prime-time-for-pwas","title":{"rendered":"Prime Time for PWAs"},"content":{"rendered":"<p>What is going on, folks! Mike here, with some incredible news. As of today, Edge and Safari have both shipped support for Service Worker in their developer previews! \ud83c\udf89\ud83c\udf8a<\/p>\n<p><!--more--><\/p>\n<p>This is a huge step towards making Progressive Web App&#8217;s first class citizens on iOS and Windows. I wanted to take a moment and give a quick history lesson of how we got to this point and how this changes <em>everything<\/em>&#8230;<\/p>\n<div class=\"video-container\">\n  <video src=\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2017\/12\/sft-service-worker-blog.mp4\" controls playsinline ><\/video>\n<\/div>\n<p><\/p>\n<h3>In the Beginning&#8230;<\/h3>\n<p>When Service Worker was first introduced, it was a drastic change from the traditional caching mechanisms browsers had in the past. Instead of a clunky, obscure cache file, we finally had an API in JavaScript that allowed <em>us<\/em>, the developer, to be in control. With it came a whole new way of building apps for the web, and to better manage apps in an offline context.<\/p>\n<p>Progressive Web Apps pushed the web forward, and at the center it all was Service Worker. It was responsible for making sure apps still worked when the network was spotty, handling uploads in the background, and making sure we could send notifications to our users. But for a long time it was a feature only available in Chrome. For many developers, the lack of support from other browsers was enough to stop them from caring about PWAs, or write them off as being not ready.<\/p>\n<p>However, soon other browsers saw the potential and started adding support for Service Workers and, in doing so, support for the full PWA API set. Firefox added support next, then a few smaller browsers, until the last two remaining were Microsoft Edge and Apple Safari.<\/p>\n<h3>So Here We Are<\/h3>\n<p>So, as of this week, both Edge and Safari support Service workers! This is HUGE deal, as now every major browser will support Service Worker. This means that all your apps will be able to cache content and work offline, no matter what browser they&#8217;re in. Even more encouraging is that Safari is already underway working on support for Web App Manifest, so developers can expect to see their PWAs saved to a user&#8217;s home screen on iOS in the near future.<\/p>\n<p>At Ionic, we&#8217;ve already been singing the praises of Service Worker and PWAs for some time now (and the web, in general). Developers who use Ionic already have Service Workers integrated into their apps out of the box through our CLI and tooling. With Safari and Edge now adding support, PWAs can finally take center stage and become a prime deploy target for many apps!<\/p>\n<h3>What&#8217;s Next<\/h3>\n<p>We recently just launch a new page dedicated to everything <a href=\"https:\/\/ionicframework.com\/pwa\">Progressive Web Apps<\/a>. So if you&#8217;re still not sure what a PWA is or just need a refresher, take a look! You&#8217;ll learn everything from the basics, who&#8217;s already deploying PWAs, and what kind of effects PWAs are having on products.<\/p>\n<p>Also, keep an eye out for updates on the next release of Ionic in the new year. We\u2019ve built this next release exclusively with PWAs in mind. We&#8217;re also working on new hosting service that will help you take advantage of all these new PWA features, which we\u2019ll be talking more about in the new year!<\/p>\n<p>Cheers!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>What is going on, folks! Mike here, with some incredible news. As of today, Edge and Safari have both shipped support for Service Worker in their developer previews! \ud83c\udf89\ud83c\udf8a<\/p>\n","protected":false},"author":5,"featured_media":2092,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"publish_to_discourse":"","publish_post_category":"","wpdc_auto_publish_overridden":"","wpdc_topic_tags":"","wpdc_pin_topic":"","wpdc_pin_until":"","discourse_post_id":"","discourse_permalink":"","wpdc_publishing_response":"","wpdc_publishing_error":"","_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1],"tags":[22,33,35],"class_list":["post-2089","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-all","tag-progressive-web-apps","tag-pwa","tag-service-workers"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v23.0 (Yoast SEO v23.0) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Prime Time for PWAs - Ionic Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/ionic.io\/blog\/prime-time-for-pwas\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Prime Time for PWAs\" \/>\n<meta property=\"og:description\" content=\"What is going on, folks! Mike here, with some incredible news. As of today, Edge and Safari have both shipped support for Service Worker in their developer previews! \ud83c\udf89\ud83c\udf8a\" \/>\n<meta property=\"og:url\" content=\"https:\/\/ionic.io\/blog\/prime-time-for-pwas\" \/>\n<meta property=\"og:site_name\" content=\"Ionic Blog\" \/>\n<meta property=\"article:published_time\" content=\"2017-12-21T20:17:48+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-09-22T20:52:36+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2017\/12\/pwa-flag-img.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1400\" \/>\n\t<meta property=\"og:image:height\" content=\"720\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Mike Hartington\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@mhartington\" \/>\n<meta name=\"twitter:site\" content=\"@ionicframework\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Mike Hartington\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/ionic.io\/blog\/prime-time-for-pwas#article\",\"isPartOf\":{\"@id\":\"https:\/\/ionic.io\/blog\/prime-time-for-pwas\"},\"author\":{\"name\":\"Mike Hartington\",\"@id\":\"https:\/\/ionic.io\/blog\/#\/schema\/person\/c8c92b04d526adb925ea514c619a267b\"},\"headline\":\"Prime Time for PWAs\",\"datePublished\":\"2017-12-21T20:17:48+00:00\",\"dateModified\":\"2020-09-22T20:52:36+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/ionic.io\/blog\/prime-time-for-pwas\"},\"wordCount\":544,\"commentCount\":7,\"publisher\":{\"@id\":\"https:\/\/ionic.io\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/ionic.io\/blog\/prime-time-for-pwas#primaryimage\"},\"thumbnailUrl\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2017\/12\/pwa-flag-img.png\",\"keywords\":[\"Progressive Web Apps\",\"PWA\",\"service workers\"],\"articleSection\":[\"All\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/ionic.io\/blog\/prime-time-for-pwas#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/ionic.io\/blog\/prime-time-for-pwas\",\"url\":\"https:\/\/ionic.io\/blog\/prime-time-for-pwas\",\"name\":\"Prime Time for PWAs - Ionic Blog\",\"isPartOf\":{\"@id\":\"https:\/\/ionic.io\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/ionic.io\/blog\/prime-time-for-pwas#primaryimage\"},\"image\":{\"@id\":\"https:\/\/ionic.io\/blog\/prime-time-for-pwas#primaryimage\"},\"thumbnailUrl\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2017\/12\/pwa-flag-img.png\",\"datePublished\":\"2017-12-21T20:17:48+00:00\",\"dateModified\":\"2020-09-22T20:52:36+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/ionic.io\/blog\/prime-time-for-pwas#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/ionic.io\/blog\/prime-time-for-pwas\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/ionic.io\/blog\/prime-time-for-pwas#primaryimage\",\"url\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2017\/12\/pwa-flag-img.png\",\"contentUrl\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2017\/12\/pwa-flag-img.png\",\"width\":1400,\"height\":720},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/ionic.io\/blog\/prime-time-for-pwas#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/ionic.io\/blog\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Prime Time for PWAs\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/ionic.io\/blog\/#website\",\"url\":\"https:\/\/ionic.io\/blog\/\",\"name\":\"ionic.io\/blog\",\"description\":\"Build amazing native and progressive web apps with the web\",\"publisher\":{\"@id\":\"https:\/\/ionic.io\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/ionic.io\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/ionic.io\/blog\/#organization\",\"name\":\"Ionic\",\"url\":\"https:\/\/ionic.io\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/ionic.io\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2020\/10\/white-on-color.png\",\"contentUrl\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2020\/10\/white-on-color.png\",\"width\":1920,\"height\":854,\"caption\":\"Ionic\"},\"image\":{\"@id\":\"https:\/\/ionic.io\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/ionicframework\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/ionic.io\/blog\/#\/schema\/person\/c8c92b04d526adb925ea514c619a267b\",\"name\":\"Mike Hartington\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/ionic.io\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2018\/08\/mike-headshot-2-smaller-150x150.png\",\"contentUrl\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2018\/08\/mike-headshot-2-smaller-150x150.png\",\"caption\":\"Mike Hartington\"},\"description\":\"Director of Developer Relations\",\"sameAs\":[\"https:\/\/twitter.com\/mhartington\",\"https:\/\/x.com\/mhartington\"],\"url\":\"https:\/\/ionic.io\/blog\/author\/mike\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Prime Time for PWAs - Ionic Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/ionic.io\/blog\/prime-time-for-pwas","og_locale":"en_US","og_type":"article","og_title":"Prime Time for PWAs","og_description":"What is going on, folks! Mike here, with some incredible news. As of today, Edge and Safari have both shipped support for Service Worker in their developer previews! \ud83c\udf89\ud83c\udf8a","og_url":"https:\/\/ionic.io\/blog\/prime-time-for-pwas","og_site_name":"Ionic Blog","article_published_time":"2017-12-21T20:17:48+00:00","article_modified_time":"2020-09-22T20:52:36+00:00","og_image":[{"width":1400,"height":720,"url":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2017\/12\/pwa-flag-img.png","type":"image\/png"}],"author":"Mike Hartington","twitter_card":"summary_large_image","twitter_creator":"@mhartington","twitter_site":"@ionicframework","twitter_misc":{"Written by":"Mike Hartington","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/ionic.io\/blog\/prime-time-for-pwas#article","isPartOf":{"@id":"https:\/\/ionic.io\/blog\/prime-time-for-pwas"},"author":{"name":"Mike Hartington","@id":"https:\/\/ionic.io\/blog\/#\/schema\/person\/c8c92b04d526adb925ea514c619a267b"},"headline":"Prime Time for PWAs","datePublished":"2017-12-21T20:17:48+00:00","dateModified":"2020-09-22T20:52:36+00:00","mainEntityOfPage":{"@id":"https:\/\/ionic.io\/blog\/prime-time-for-pwas"},"wordCount":544,"commentCount":7,"publisher":{"@id":"https:\/\/ionic.io\/blog\/#organization"},"image":{"@id":"https:\/\/ionic.io\/blog\/prime-time-for-pwas#primaryimage"},"thumbnailUrl":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2017\/12\/pwa-flag-img.png","keywords":["Progressive Web Apps","PWA","service workers"],"articleSection":["All"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/ionic.io\/blog\/prime-time-for-pwas#respond"]}]},{"@type":"WebPage","@id":"https:\/\/ionic.io\/blog\/prime-time-for-pwas","url":"https:\/\/ionic.io\/blog\/prime-time-for-pwas","name":"Prime Time for PWAs - Ionic Blog","isPartOf":{"@id":"https:\/\/ionic.io\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/ionic.io\/blog\/prime-time-for-pwas#primaryimage"},"image":{"@id":"https:\/\/ionic.io\/blog\/prime-time-for-pwas#primaryimage"},"thumbnailUrl":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2017\/12\/pwa-flag-img.png","datePublished":"2017-12-21T20:17:48+00:00","dateModified":"2020-09-22T20:52:36+00:00","breadcrumb":{"@id":"https:\/\/ionic.io\/blog\/prime-time-for-pwas#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/ionic.io\/blog\/prime-time-for-pwas"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ionic.io\/blog\/prime-time-for-pwas#primaryimage","url":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2017\/12\/pwa-flag-img.png","contentUrl":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2017\/12\/pwa-flag-img.png","width":1400,"height":720},{"@type":"BreadcrumbList","@id":"https:\/\/ionic.io\/blog\/prime-time-for-pwas#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/ionic.io\/blog"},{"@type":"ListItem","position":2,"name":"Prime Time for PWAs"}]},{"@type":"WebSite","@id":"https:\/\/ionic.io\/blog\/#website","url":"https:\/\/ionic.io\/blog\/","name":"ionic.io\/blog","description":"Build amazing native and progressive web apps with the web","publisher":{"@id":"https:\/\/ionic.io\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/ionic.io\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/ionic.io\/blog\/#organization","name":"Ionic","url":"https:\/\/ionic.io\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ionic.io\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2020\/10\/white-on-color.png","contentUrl":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2020\/10\/white-on-color.png","width":1920,"height":854,"caption":"Ionic"},"image":{"@id":"https:\/\/ionic.io\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/ionicframework"]},{"@type":"Person","@id":"https:\/\/ionic.io\/blog\/#\/schema\/person\/c8c92b04d526adb925ea514c619a267b","name":"Mike Hartington","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ionic.io\/blog\/#\/schema\/person\/image\/","url":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2018\/08\/mike-headshot-2-smaller-150x150.png","contentUrl":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2018\/08\/mike-headshot-2-smaller-150x150.png","caption":"Mike Hartington"},"description":"Director of Developer Relations","sameAs":["https:\/\/twitter.com\/mhartington","https:\/\/x.com\/mhartington"],"url":"https:\/\/ionic.io\/blog\/author\/mike"}]}},"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2017\/12\/pwa-flag-img.png","_links":{"self":[{"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/posts\/2089","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/comments?post=2089"}],"version-history":[{"count":0,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/posts\/2089\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/media\/2092"}],"wp:attachment":[{"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/media?parent=2089"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/categories?post=2089"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/tags?post=2089"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}