{"componentChunkName":"component---src-templates-lesson-page-js","path":"/progressive-web-apps/02-when-you-should-use-a-pwa/","webpackCompilationHash":"a16c2e57d401e22678c3","result":{"data":{"currentLesson":{"id":"cb7345c2-ddd9-5937-accb-9a1d6ef13108","body":"function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsx mdx */\nvar _frontmatter = {\n  \"title\": \"When should you use a PWA?\",\n  \"youtubeId\": \"DfFlBWCQjzA\",\n  \"duration\": 344\n};\n\nvar makeShortcode = function makeShortcode(name) {\n  return function MDXDefaultShortcode(props) {\n    console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\");\n    return mdx(\"div\", props);\n  };\n};\n\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, [\"components\"]);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h2\", {\n    \"id\": \"when-should-you-use-a-pwa\"\n  }, \"When should you use a PWA?\"), mdx(\"p\", null, \"The hardest problem with software is distribution. App developers often spend more on distribution than they earn back. This problem is solved by the web platform, however web apps have historically been less capable than native apps. With the advent of PWAs, web apps have become just as capable as native, supporting features such as push notifications and Add to Homescreen, without giving up the reach of the web.\"), mdx(\"p\", null, \"Progressive Web Apps combine the best of the native applications and the Web. This session outlines the business case, and gives an overview of PWA features.\"));\n}\n;\nMDXContent.isMDXComponent = true;","title":"When should you use a PWA?","duration":344,"youtubeId":"DfFlBWCQjzA"}},"pageContext":{"isCreatedByStatefulCreatePages":false,"id":"cb7345c2-ddd9-5937-accb-9a1d6ef13108","lesson":{"id":"cb7345c2-ddd9-5937-accb-9a1d6ef13108","title":"When should you use a PWA?","slug":"/progressive-web-apps/02-when-you-should-use-a-pwa/","duration":344},"currentCourse":{"id":"c4a0b327-b291-5ccc-b2bc-746eb4c862e8","title":"Progressive Web Apps","slug":"/progressive-web-apps/","premium":null,"lessons":[{"id":"a74efa60-6e25-5afe-b0d0-7cc36fa23c88","title":"Intro & Setup","slug":"/progressive-web-apps/01-intro-and-setup/","duration":108},{"id":"cb7345c2-ddd9-5937-accb-9a1d6ef13108","title":"When should you use a PWA?","slug":"/progressive-web-apps/02-when-you-should-use-a-pwa/","duration":344},{"id":"ff10915e-1bb5-5cc9-96f8-5e4cad6e0c0e","title":"Your development cycle","slug":"/progressive-web-apps/03-your-development-cycle/","duration":123},{"id":"a42b1a7e-3de2-5a9b-a024-2663b6673148","title":"Make a static site work offline (by hand)","slug":"/progressive-web-apps/04-make-a-static-site-work-offline-by-hand/","duration":492}]},"previousLesson":{"id":"a74efa60-6e25-5afe-b0d0-7cc36fa23c88","title":"Intro & Setup","slug":"/progressive-web-apps/01-intro-and-setup/","duration":108},"nextLesson":{"id":"ff10915e-1bb5-5cc9-96f8-5e4cad6e0c0e","title":"Your development cycle","slug":"/progressive-web-apps/03-your-development-cycle/","duration":123},"premium":null}}}