{"id":2438,"date":"2018-11-21T16:31:35","date_gmt":"2018-11-21T16:31:35","guid":{"rendered":"https:\/\/ionicframework.com\/?p=2438"},"modified":"2019-05-10T21:53:38","modified_gmt":"2019-05-10T21:53:38","slug":"capacitor-in-2019-native-progressive-web-apps-for-all","status":"publish","type":"post","link":"https:\/\/ionic.io\/blog\/capacitor-in-2019-native-progressive-web-apps-for-all","title":{"rendered":"Capacitor in 2019: Native Progressive Web Apps for All"},"content":{"rendered":"\r\n<p>\ud83d\udc4b if you\u2019re new here, <a href=\"http:\/\/capacitor.ionicframework.com\/\">Capacitor<\/a> is the latest project from the team behind <a href=\"http:\/\/ionicframework.com\/\">Ionic Framework<\/a> that provides an abstraction on top of Native SDKs so you can write modern web apps and access any Native SDK through a cross-platform, portable layer. Capacitor apps work on iOS, Android, Electron, and the web as a PWA.<br\/><\/p>\r\n\r\n\r\n<p><!--more--><\/p>\r\n\r\n\r\n<p>It\u2019s our take on a stew with Cordova and Turbolinks and a bit of React Native for seasoning, focused on building modern web apps on mobile, what we call \u201cNative Progressive Web Apps.\u201d<br\/><\/p>\r\n\r\n\r\n\r\n<p>Capacitor and Ionic Framework are a delightful pairing, with Ionic providing the cross-platform UI controls, and Capacitor providing the runtime and Native SDK access. You might even detect subtle notes of cherry and leather and cigar smoke.<br\/><\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\"><strong>So&#8230;2018&#8230;Amiright?<\/strong><\/h2>\r\n\r\n\r\n\r\n<p>In 2018, Capacitor largely flew under the radar. This was intentional. Today, most Ionic apps run Cordova, which is working well for many users. We felt no need to cause even more of a stir by forcing a whole new native layer on users, and we also knew that there would be bugs, as Capacitor, in general, wouldn\u2019t be production ready for a bit. With Ionic 4 creating enough stress as it were, we didn\u2019t want to add more to the mix with Capacitor.<br\/><\/p>\r\n\r\n\r\n\r\n<p>Despite that, we were excited to see an increased interest in Capacitor from the Ionic community and communities outside of Ionic. Many Ionic users built apps with Capacitor and had very positive impressions of the project. I also personally received encouraging inbound interest from reporters and some dev rel folks at projects like Angular. Despite being largely an improvement on existing approaches, something about Capacitor felt new and fresh.<br\/><\/p>\r\n\r\n\r\n\r\n<p>Above all, what got me jazzed most about Capacitor is how many folks from non-web JS projects like React Native and NativeScript were excited about Capacitor. The feedback from them was similar: <em>\u201cI always wanted to continue to build with web technologies on mobile, but I struggled with Cordova and the native tooling and at some point, I got fed up and was just done with it. Capacitor will bring me back.\u201d<\/em><br\/><\/p>\r\n\r\n\r\n\r\n<p>This feedback was critical for us, as it meant that Capacitor was following the right vision (\u201cthe web will win\u201d), and that making some major UX improvements on how past tools like Cordova worked were paying off.<br\/><\/p>\r\n\r\n\r\n\r\n<p>During the rest of 2018, the Capacitor team, now led by <a href=\"https:\/\/github.com\/jcesarmobile\">Julio Cesar<\/a> with contributions from the community, added a number of key features to Capacitor. Those features included Push and Local Notification support out of the box, so apps can get notifications without worrying about installing extra plugins or adding new libraries\u2014Plus, support for Electron, tons of bug fixes, and web implementations for key plugins.<br\/><\/p>\r\n\r\n\r\n\r\n<p>Fast forward to November 2018, and the team at Ionic is finally coming up for air with Ionic 4 final fast approaching. We\u2019ve been having a lot of internal conversations about our plans for open source in 2019 and where Capacitor fits in\u2026<br\/><\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\"><strong>2019<\/strong><\/h2>\r\n\r\n\r\n\r\n<p>In 2019, Capacitor will become the official native abstraction and runtime for all Ionic apps. But in order to get there, a few things need to happen:<br\/><\/p>\r\n\r\n\r\n\r\n<p>First, we need to ship the 1.0, production-ready release of Capacitor. We plan to do that close to the v4 final release which is slated for January. <br\/><\/p>\r\n\r\n\r\n\r\n<p>Next, while we added Capacitor support to Ionic CLI this year, we haven\u2019t promoted it or made a big splash about it, yet. In 2019, we are going to encourage users to try it out for new apps. That means prompts in the CLI and more promotion on the getting started guide.<br\/><\/p>\r\n\r\n\r\n\r\n<p>Finally, Capacitor needs to be integrated into our commercial DevOps product (Ionic Pro). Developers need to be able to do builds with Capacitor and push remote updates in Capacitor apps\u2014All that work will be ongoing in 2019.<br\/><\/p>\r\n\r\n\r\n\r\n<p>For the project itself, a big priority for 2019 is <strong>not<\/strong> adding features, but instead doubling down on <strong>stability<\/strong>. That means investing in more unit and automated testing. We want Capacitor to be the most stable mobile platform around, and we do that by letting the community build on top of it, while we focus on creating a wonderfully stable and reliable core runtime.<br\/><\/p>\r\n\r\n\r\n\r\n<p>Speaking of the community, we have work to do to help the community flourish and be everything that it can be. Despite the fact that we did not do a lot of community work in 2018, I am thrilled about the 1300 folks that joined our <a href=\"https:\/\/getcapacitor.herokuapp.com\/\">Slack<\/a> and the volume of PRs and contributions we\u2019ve had on the <a href=\"http:\/\/github.com\/ionic-team\/capacitor\">Capacitor Github repo<\/a>. Whenever you make something new like Capacitor it\u2019s always hard to know if it\u2019s going to be a <em>thing.<\/em> Having seen projects like Ionic definitely become a thing, it\u2019s thrilling to see the same early adopter passion for Capacitor that Ionic had when we started.<br\/><\/p>\r\n\r\n\r\n\r\n<p>Beyond community development, a major priority for us is making it easy for developers to build awesome plugins and native integrations, and getting those in front of the Capacitor community. That means adding an index of existing Capacitor plugins and investing in our <a href=\"https:\/\/capacitor.ionicframework.com\/docs\/plugins\/\">plugin development guides<\/a>.<br\/><br\/><\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\"><strong>What about Cordova?<\/strong><\/h2>\r\n\r\n\r\n\r\n<p>Even though Ionic has been working on a new project that essentially replaces Cordova, we still use Cordova heavily and continue to invest in the platform. In fact, we are planning on directly supporting Cordova for Enterprise customers for a long time to come. That means our investment in the platform will <em>grow<\/em> rather than shrink. Stay tuned for more updates on this specific support plan in 2019.<br\/><\/p>\r\n\r\n\r\n\r\n<p>We get asked often: why couldn\u2019t we have just improved or modified Cordova? Unfortunately, I don\u2019t have an answer that will satisfy many people as for why we built our own thing instead. The open source space is filled with new projects that built on older projects and made tangible improvements that couldn\u2019t have been done without radically changing the original product, which is what Capacitor would have required. We felt like we couldn\u2019t do that with Cordova for technical and political reasons. Whether that is right or wrong that is the conclusion we came to. <br\/><\/p>\r\n\r\n\r\n\r\n<p>On the plus side, Ionic now controls almost all of its stack. When you build an Ionic v4 app and use Capacitor, we control the native runtime layer, the UI controls, and the \u201cframework\u201d used to build the controls (Stencil). The only part we don\u2019t control is the frontend framework you use on top (Angular, React, Vue, or nothing). This is significant: If there\u2019s an issue in any part of the stack that we control, we can fix it right away. We are already seeing some wonderful returns on this investment and it\u2019s enabling us to build a stronger Ionic and focus on what we do uniquely well.<br\/><\/p>\r\n\r\n\r\n\r\n<p>One last thing: For our enterprise customers that are using some of our premium Cordova plugins like <a href=\"https:\/\/ionicframework.com\/enterprise\/identity-vault\">Identity Vault<\/a> or Couchbase Lite Enterprise integration, expect those plugins to work for both Cordova and Capacitor in 2019 as we have been deliberate in building them in a cross-runtime fashion.<br\/><\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\"><strong>So, no new features?<\/strong><\/h2>\r\n\r\n\r\n\r\n<p>Well, okay, maybe a <em>few<\/em>, but we\u2019re not necessarily forcing them to happen in 2019.<br\/><\/p>\r\n\r\n\r\n\r\n<p>One of the big things that I want to see happen with Capacitor is easier integration with Native SDKs. The reality of the mobile market is that many services and SDK vendors are pulling back from building plugins for third-party frameworks like Cordova or React Native, and instead focusing on their native iOS and Android SDKs (while encouraging the community to build wrappers for their framework of choice). A lot of this is a reaction to the sheer number of options in the market, as it\u2019s just not feasible for many companies to support every cross-platform solution under the sun.<br\/><\/p>\r\n\r\n\r\n\r\n<p>We\u2019ve been noodling on an idea we are calling Capacitor Native Views: A super simple way to wrap a Native SDK and expose it as a reusable component that can be easily consumed in JavaScript.<br\/><\/p>\r\n\r\n\r\n\r\n<p>Some toolkits, like NativeScript, take the approach of exposing every Native SDK API to JavaScript. We think the security implications of that are undesirable, and it doesn\u2019t remove your need to learn platform-specific APIs. We don\u2019t think you should have to learn those APIs if you don\u2019t want to, and we don\u2019t think you should expose all Native APIs to JavaScript for security reasons.<br\/><\/p>\r\n\r\n\r\n\r\n<p>Instead, Native Views provide a structure for wrapping and consuming a Native SDK so that it can be easily and safely exposed to JS and your web code, with rich TypeScript support and minimal maintenance required for the actual wrapper.<br\/><\/p>\r\n\r\n\r\n\r\n<p>This idea is still super early, so don\u2019t expect this to land in 2019, but we mainly want to gauge interest in the concept and figure out what we need to do to make it happen at a larger scale.<br\/><\/p>\r\n\r\n\r\n\r\n<p>Beyond that, we want to make it easy for Capacitor to embed into existing native projects, something we\u2019ve already started to see. In fact, we\u2019ve had several requests for embedding Capacitor into a React Native shell so you can build most of your app with Ionic + Web Technology, and wrap it with some React Native calls. That was something we didn\u2019t anticipate, but is really exciting because it further proves to us that developers can get huge productivity gains by building 90%+ of their app with web technology. Expect to see embed work happen in 2019.<br\/><\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\"><strong>Until next time&#8230;<\/strong><\/h2>\r\n\r\n\r\n\r\n<p>We\u2019re heads down and focused on getting some big releases out at Ionic for the end of the year, Capacitor included. We\u2019re more excited than ever about the opportunity to make building mobile apps even easier than before, all by focusing on the most widely used and known technology stack in the world: The web.<br\/><\/p>\r\n\r\n\r\n\r\n<p>Stay tuned for a big 1.0 update from us on Capacitor soon, and until then we hope to see you around the repo!<br\/><\/p>\r\n\r\n\r\n\r\n<p>Interested in getting started with Capacitor? Check out our announcement webinar:<\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-has-aspect-ratio wp-embed-aspect-16-9\"><div class=\"wp-block-embed__wrapper\">\r\n<iframe loading=\"lazy\" title=\"Reimagining Cordova: Building Native Progressive Web Apps with Capacitor\" width=\"960\" height=\"540\" data-src=\"https:\/\/www.youtube.com\/embed\/cjikyeo9bJc?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" class=\"lazyload\" data-load-mode=\"1\"><\/iframe>\r\n<\/div><\/figure>\r\n\r\n\r\n\r\n<p><\/p>\r\n\r\n\r\n\r\n<p><\/p>\r\n\r\n\r\n\r\n<p><\/p>\r\n","protected":false},"excerpt":{"rendered":"<p>\ud83d\udc4b if you\u2019re new here, Capacitor is the latest project from the team behind Ionic Framework that provides an abstraction on top of Native SDKs so you can write modern web apps and access any Native SDK through a cross-platform, portable layer. Capacitor apps work on iOS, Android, Electron, and the web as a PWA.<\/p>\n","protected":false},"author":3,"featured_media":0,"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":[120,121,123],"tags":[151],"class_list":["post-2438","post","type-post","status-publish","format-standard","hentry","category-announcements","category-engineering","category-perspectives","tag-capacitor"],"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>Capacitor in 2019: Native Progressive Web Apps for All - 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\/capacitor-in-2019-native-progressive-web-apps-for-all\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Capacitor in 2019: Native Progressive Web Apps for All\" \/>\n<meta property=\"og:description\" content=\"\ud83d\udc4b if you\u2019re new here, Capacitor is the latest project from the team behind Ionic Framework that provides an abstraction on top of Native SDKs so you can write modern web apps and access any Native SDK through a cross-platform, portable layer. Capacitor apps work on iOS, Android, Electron, and the web as a PWA.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/ionic.io\/blog\/capacitor-in-2019-native-progressive-web-apps-for-all\" \/>\n<meta property=\"og:site_name\" content=\"Ionic Blog\" \/>\n<meta property=\"article:published_time\" content=\"2018-11-21T16:31:35+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-05-10T21:53:38+00:00\" \/>\n<meta name=\"author\" content=\"Max Lynch\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@maxlynch\" \/>\n<meta name=\"twitter:site\" content=\"@ionicframework\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Max Lynch\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/ionic.io\/blog\/capacitor-in-2019-native-progressive-web-apps-for-all#article\",\"isPartOf\":{\"@id\":\"https:\/\/ionic.io\/blog\/capacitor-in-2019-native-progressive-web-apps-for-all\"},\"author\":{\"name\":\"Max Lynch\",\"@id\":\"https:\/\/ionic.io\/blog\/#\/schema\/person\/91f360cffbd804a464b0c4a87b5c5f1e\"},\"headline\":\"Capacitor in 2019: Native Progressive Web Apps for All\",\"datePublished\":\"2018-11-21T16:31:35+00:00\",\"dateModified\":\"2019-05-10T21:53:38+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/ionic.io\/blog\/capacitor-in-2019-native-progressive-web-apps-for-all\"},\"wordCount\":1693,\"commentCount\":19,\"publisher\":{\"@id\":\"https:\/\/ionic.io\/blog\/#organization\"},\"keywords\":[\"Capacitor\"],\"articleSection\":[\"Announcements\",\"Engineering\",\"Perspectives\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/ionic.io\/blog\/capacitor-in-2019-native-progressive-web-apps-for-all#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/ionic.io\/blog\/capacitor-in-2019-native-progressive-web-apps-for-all\",\"url\":\"https:\/\/ionic.io\/blog\/capacitor-in-2019-native-progressive-web-apps-for-all\",\"name\":\"Capacitor in 2019: Native Progressive Web Apps for All - Ionic Blog\",\"isPartOf\":{\"@id\":\"https:\/\/ionic.io\/blog\/#website\"},\"datePublished\":\"2018-11-21T16:31:35+00:00\",\"dateModified\":\"2019-05-10T21:53:38+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/ionic.io\/blog\/capacitor-in-2019-native-progressive-web-apps-for-all#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/ionic.io\/blog\/capacitor-in-2019-native-progressive-web-apps-for-all\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/ionic.io\/blog\/capacitor-in-2019-native-progressive-web-apps-for-all#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/ionic.io\/blog\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Capacitor in 2019: Native Progressive Web Apps for All\"}]},{\"@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\/91f360cffbd804a464b0c4a87b5c5f1e\",\"name\":\"Max Lynch\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/ionic.io\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2018\/05\/max-avatar-150x150.jpg\",\"contentUrl\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2018\/05\/max-avatar-150x150.jpg\",\"caption\":\"Max Lynch\"},\"description\":\"CEO\",\"sameAs\":[\"http:\/\/twitter.com\/maxlynch\",\"https:\/\/x.com\/maxlynch\"],\"url\":\"https:\/\/ionic.io\/blog\/author\/max\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Capacitor in 2019: Native Progressive Web Apps for All - 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\/capacitor-in-2019-native-progressive-web-apps-for-all","og_locale":"en_US","og_type":"article","og_title":"Capacitor in 2019: Native Progressive Web Apps for All","og_description":"\ud83d\udc4b if you\u2019re new here, Capacitor is the latest project from the team behind Ionic Framework that provides an abstraction on top of Native SDKs so you can write modern web apps and access any Native SDK through a cross-platform, portable layer. Capacitor apps work on iOS, Android, Electron, and the web as a PWA.","og_url":"https:\/\/ionic.io\/blog\/capacitor-in-2019-native-progressive-web-apps-for-all","og_site_name":"Ionic Blog","article_published_time":"2018-11-21T16:31:35+00:00","article_modified_time":"2019-05-10T21:53:38+00:00","author":"Max Lynch","twitter_card":"summary_large_image","twitter_creator":"@maxlynch","twitter_site":"@ionicframework","twitter_misc":{"Written by":"Max Lynch","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/ionic.io\/blog\/capacitor-in-2019-native-progressive-web-apps-for-all#article","isPartOf":{"@id":"https:\/\/ionic.io\/blog\/capacitor-in-2019-native-progressive-web-apps-for-all"},"author":{"name":"Max Lynch","@id":"https:\/\/ionic.io\/blog\/#\/schema\/person\/91f360cffbd804a464b0c4a87b5c5f1e"},"headline":"Capacitor in 2019: Native Progressive Web Apps for All","datePublished":"2018-11-21T16:31:35+00:00","dateModified":"2019-05-10T21:53:38+00:00","mainEntityOfPage":{"@id":"https:\/\/ionic.io\/blog\/capacitor-in-2019-native-progressive-web-apps-for-all"},"wordCount":1693,"commentCount":19,"publisher":{"@id":"https:\/\/ionic.io\/blog\/#organization"},"keywords":["Capacitor"],"articleSection":["Announcements","Engineering","Perspectives"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/ionic.io\/blog\/capacitor-in-2019-native-progressive-web-apps-for-all#respond"]}]},{"@type":"WebPage","@id":"https:\/\/ionic.io\/blog\/capacitor-in-2019-native-progressive-web-apps-for-all","url":"https:\/\/ionic.io\/blog\/capacitor-in-2019-native-progressive-web-apps-for-all","name":"Capacitor in 2019: Native Progressive Web Apps for All - Ionic Blog","isPartOf":{"@id":"https:\/\/ionic.io\/blog\/#website"},"datePublished":"2018-11-21T16:31:35+00:00","dateModified":"2019-05-10T21:53:38+00:00","breadcrumb":{"@id":"https:\/\/ionic.io\/blog\/capacitor-in-2019-native-progressive-web-apps-for-all#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/ionic.io\/blog\/capacitor-in-2019-native-progressive-web-apps-for-all"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/ionic.io\/blog\/capacitor-in-2019-native-progressive-web-apps-for-all#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/ionic.io\/blog"},{"@type":"ListItem","position":2,"name":"Capacitor in 2019: Native Progressive Web Apps for All"}]},{"@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\/91f360cffbd804a464b0c4a87b5c5f1e","name":"Max Lynch","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ionic.io\/blog\/#\/schema\/person\/image\/","url":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2018\/05\/max-avatar-150x150.jpg","contentUrl":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2018\/05\/max-avatar-150x150.jpg","caption":"Max Lynch"},"description":"CEO","sameAs":["http:\/\/twitter.com\/maxlynch","https:\/\/x.com\/maxlynch"],"url":"https:\/\/ionic.io\/blog\/author\/max"}]}},"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/posts\/2438","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\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/comments?post=2438"}],"version-history":[{"count":0,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/posts\/2438\/revisions"}],"wp:attachment":[{"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/media?parent=2438"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/categories?post=2438"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/tags?post=2438"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}