(window.webpackJsonp=window.webpackJsonp||[]).push([[14],{649:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,n):{};r.get||r.set?Object.defineProperty(t,n,r):t[n]=e[n]}return t.default=e,t}(n(6)),o=function(e){return e&&e.__esModule?e:{default:e}}(n(684));function a(e){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function l(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function i(e,t){return!t||"object"!==a(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function c(e){return(c=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function u(e,t){return(u=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var f=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),i(this,c(t).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&u(e,t)}(t,r.Component),function(e,t,n){t&&l(e.prototype,t),n&&l(e,n)}(t,[{key:"render",value:function(){return r.default.createElement("article",null,r.default.createElement("header",null,r.default.createElement("h1",{className:"mt-4"},"Offline Access"),r.default.createElement("hr",null)),r.default.createElement("section",null,r.default.createElement("p",null,r.default.createElement("img",{src:o.default,className:"w-100"})),r.default.createElement("p",null,"When you visit a website without an internet connection in Chrome, you see the offline dinosaur."),r.default.createElement("p",null,"No wonder we tend to think of websites as less reliable than mobile applications - we can't use them without the network."),r.default.createElement("p",null,"At least, not typically. We could use ",r.default.createElement("a",{href:"http://diveintohtml5.info/offline.html",target:"_blank",rel:"nofollow noopener"},"App Cache")," and the Cache Manifest to create an offline experience. For ",r.default.createElement("a",{href:"http://alistapart.com/article/application-cache-is-a-douchebag",target:"_blank",rel:"nofollow noopener"},"a number of reasons"),", developers have found App Cache difficult to work with."),r.default.createElement("p",null,"Luckily, there's a new web standard, ",r.default.createElement("a",{href:"https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API",target:"_blank",rel:"nofollow noopener"},"Service Worker"),", that potentially supplants App Cache by providing more granular control over networking in JavaScript, as opposed to manifest files."),r.default.createElement("p",null,"Service Workers are JavaScript tasks (a bit like server-side daemons but running on the client side) that are instantiated by web pages and from that point, can intercept and route traffic emanating from that page. The Service Worker API is much more flexible than AppCache as it allows the developer to decide in minute detail what happens to each client-side web request — but with flexibility comes complexity.")))}}]),t}();t.default=f},684:function(e,t){e.exports="/images/6659f44dd04743383bbcf19ea3066107.png"}}]);