{"id":3244,"date":"2020-04-08T17:10:36","date_gmt":"2020-04-08T17:10:36","guid":{"rendered":"https:\/\/ionicframework.com\/blog\/?p=3244"},"modified":"2020-10-16T18:54:06","modified_gmt":"2020-10-16T18:54:06","slug":"announcing-capacitor-2-0","status":"publish","type":"post","link":"https:\/\/ionic.io\/blog\/announcing-capacitor-2-0","title":{"rendered":"Announcing Capacitor 2.0"},"content":{"rendered":"<p style=\"font-size:25px; line-height: 150%;\">Today I\u2019m thrilled to announce the 2.0 release of Capacitor, Ionic\u2019s native runtime that makes it easy to build web apps that run on iOS, Android, and on the web as Progressive Web Apps\u2014 all powered by a single codebase.<\/p>\n<p>Developers use Capacitor as a native app container for packaging and deploying their Ionic apps to various mobile and desktop platforms. Capacitor allows them to access native features like the Camera using the same code across all platforms &#8211; without having to worry about platform-specific details.<\/p>\n<p>This new version updates Capacitor and its project templates to the latest security, bug fixes, and features including:<\/p>\n<ul>\n<li>Swift 5 and Xcode 11+ support<\/li>\n<li>Android 10 (SDK 29) and AndroidX support, which makes Face Unlock and Iris Unlock available now in Ionic <a href=\"https:\/\/ionicframework.com\/enterprise\/identity-vault\">Identity Vault<\/a>.<\/li>\n<li>Bug fixes and usability improvements to 23+ core plugins<\/li>\n<\/ul>\n<p><!--more--><\/p>\n<h2>Why Capacitor?<\/h2>\n<p>Traditionally, web developers have turned to tools like Apache Cordova\/Adobe PhoneGap to deploy their web apps to other platforms. This worked well for many years, with Ionic recommending Cordova as the default method for targeting native iOS and Android platforms. Over time our opinions changed about how this layer should work and after exploring various ideas, determined the best option was to bring the native runtime component of app building in-house.<\/p>\n<p>Now a key part of the Ionic Platform, Capacitor makes it easy for web developers to reuse their skills to build quality apps for all platforms, while significantly lessening the likelihood that they\u2019ll get stuck on native-specific issues. You can learn more about how Capacitor compares with Cordova <a href=\"https:\/\/ionicframework.com\/resources\/articles\/capacitor-vs-cordova-modern-hybrid-app-development\">in this article penned by Max<\/a>.<\/p>\n<p>Capacitor 2.0 updates its underlying technology to support the latest versions of programming languages and operating systems that power all Capacitor apps, enabling improved performance, security, and modern development experiences. Specifically, support for the latest tech from iOS and Android is now available.<\/p>\n<h2>Swift 5 and Xcode 11+<\/h2>\n<p>On the iOS front, this means <a href=\"https:\/\/www.raywenderlich.com\/55728-what-s-new-in-swift-5\">Swift 5<\/a> and Xcode 11+ support. This brings smaller app bundle sizes, modern development tooling and features, and compatibility with earlier versions of Swift.<\/p>\n<h2>Android 10 (SDK 29) and AndroidX<\/h2>\n<p>On Android, this means Android 10 (aka SDK 29), with improved security and biometrics, audio\/video capabilities, and system-wide dark mode.<\/p>\n<p>Additionally, AndroidX, the next generation of the Android Support Library, is now supported. Both provide Android developers with a standard way to provide users with newer features on earlier versions of Android or graceful fallback when unavailable.<\/p>\n<p>AndroidX replaces the Support Library, providing feature parity and backward-compatibility while also bringing improvements to library modularity, smaller code size, and a better developer experience.<\/p>\n<p>Whether you\u2019re a consumer of Capacitor or a <a href=\"https:\/\/capacitorjs.com\/docs\/plugins\">plugin author<\/a>, you simply need to update your projects (or CLI) to access these new capabilities (see below).<\/p>\n<h2>Improved Plugins, Tooling, and Docs<\/h2>\n<p>Capacitor 1.0 wouldn\u2019t have been as successful as it has been without a solid developer experience backing it. With Capacitor 2.0, we\u2019ve reviewed it from head to toe, leading to  updates to the core plugins, the CLI tooling, and documentation.<\/p>\n<p>Fundamentally, if you\u2019re going to build unique app experiences, you need a reliable set of plugins to build on top of. Capacitor 2.0 includes many updates to its <a href=\"https:\/\/capacitorjs.com\/docs\/apis\">23 core plugins<\/a>, from bug fixes to new features to usability improvements. Many of these changes were driven by feedback from you, the Ionic community, so thank you! We appreciate your efforts and feedback &#8211; it helps us ensure that it\u2019s never been easier to get started with Capacitor.<\/p>\n<p>Speaking of awesome community efforts, Ionic\u2019s official tool for generating splash screens and icons, <code>cordova-res<\/code>, just got a big update: Capacitor support! Thanks to wannadream for <a href=\"https:\/\/github.com\/ionic-team\/cordova-res\/pull\/85\">this contribution<\/a>.<\/p>\n<pre><code class=\"language-shell\">npm i -g cordova-res\ncordova-res --skip-config --copy\n<\/code><\/pre>\n<p>With this expanding scope, I guess we\u2019ll have to <a href=\"https:\/\/github.com\/ionic-team\/cordova-res\/issues\/99\">rename it<\/a>!<\/p>\n<p>Capacitor\u2019s embrace of native tooling means that it\u2019s never been easier to implement more creative native features. That said, the nuances and details can be challenging, so we\u2019ve begun to add new implementation guides to the Capacitor docs, including <a href=\"https:\/\/capacitorjs.com\/docs\/guides\/deep-links\/\">Deep Links<\/a>, <a href=\"https:\/\/ionicframework.com\/blog\/adding-sign-in-with-apple-to-an-ionic-app\/\">Sign In with Apple<\/a> and a refreshed <a href=\"https:\/\/capacitorjs.com\/docs\/guides\/push-notifications-firebase\">Push Notifications with Firebase<\/a> guide. There are more coming soon &#8211; if there\u2019s content you think is missing, please let us know in the comments.<\/p>\n<h2>Sign In with Apple<\/h2>\n<p>Sign in with Apple offers users the ability to sign into apps and websites using their Apple ID. Benefits include a focus on security (automatic two-factor authentication and user activity is not tracked) and users can start using your app right away (bypassing traditional sign-up measures).<\/p>\n<p>As of April 2020, apps that use a third-party or social login service are required to offer Sign in with Apple as an option as well. This includes Facebook, Twitter, Linkedin, and Google.<\/p>\n<p>The community-driven Capacitor Sign in with Apple plugin offers an easy implementation process out of the box. Simply install the plugin, configure the native iOS project, then move on. Learn how <a href=\"https:\/\/ionicframework.com\/blog\/adding-sign-in-with-apple-to-an-ionic-app\/\">here<\/a>.<\/p>\n<h2>Android Face Unlock &amp; Iris Unlock<\/h2>\n<p>In order to protect your user\u2019s data, you need to keep up with the latest mobile security features. Security is traditionally challenging to implement correctly &#8211; with disastrous results if done wrong.<\/p>\n<p>With the new support of AndroidX in Capacitor 2.0, <a href=\"https:\/\/ionicframework.com\/enterprise\/identity-vault\">Ionic Identity Vault<\/a> now supports Android\u2019s Face Unlock and Iris Unlock. This update to Ionic\u2019s all-in-one frontend identity management system brings industry-leading facial and iris authentication features to the Android platform. Using a simple API, you can add top of the line biometric authentication to your Capacitor apps. <a href=\"https:\/\/ionicframework.com\/enterprise\/identity-vault#demo\">Learn more here<\/a>.<\/p>\n<h2>Coming Soon: CORS is no more!<\/h2>\n<p>Speaking of listening to dev feedback &#8211; we\u2019ve got a new plugin in the works that should alleviate most of the pain Ionic developers feel when accessing external data &amp; APIs on mobile.<\/p>\n<p>Cross-Origin Resource Sharing (CORS) is a mechanism that browsers and webviews \u2014 like the ones powering Capacitor \u2014 use to protect your user&#8217;s data and prevent attacks that would compromise your app.<\/p>\n<p>While great for security, this commonly restricts HTTP\/S requests &#8211; the mechanism through which developers access and manage external data &#8211; leading to lots of confusion. Ultimately, this is a distraction that takes away time and focus better spent building apps.<\/p>\n<p>Soon, we\u2019ll introduce a new HTTP plugin that addresses this automatically in a cross-platform approach. On mobile, HTTP requests are executed natively, outside the webview. This effectively bypasses CORS, resulting in an improved developer experience while maintaining proper security protocols (native apps are not subjected to CORS). Web requests use fetch, the modern web browser API for retrieving external resources.<\/p>\n<p>The HTTP plugin is in <a href=\"https:\/\/github.com\/ionic-team\/capacitor\/pull\/2495\">active development<\/a>. We\u2019d love for you to test it and provide feedback. You can also check out our <a href=\"https:\/\/ionicframework.com\/docs\/troubleshooting\/cors\">CORS troubleshooting guide<\/a> in the meantime.<\/p>\n<h2>An update on Electron support<\/h2>\n<p>After taking a hard look at what our priorities and focus needs to be in 2020, we&#8217;ve decided to put Electron support back into beta. After additional investment in key platforms that generate the most interest (iOS, Android, and PWAs), we&#8217;ll revisit it.<\/p>\n<h2>Backward compatibility with Cordova<\/h2>\n<p>Capacitor 2.0 maintains near 100% backward compatibility with Cordova (available since the project originally launched). Not only does this ensure <a href=\"https:\/\/capacitorjs.com\/docs\/cordova\/migrating-from-cordova-to-capacitor\">a smooth migration<\/a> from Cordova to Capacitor, but it also provides access to thousands of existing native plugins. Learn how to use Cordova plugins <a href=\"https:\/\/capacitorjs.com\/docs\/cordova\/using-cordova-plugins\">here<\/a>.<\/p>\n<h2>Easy Update Process<\/h2>\n<p>Capacitor gives Ionic developers complete control of their native projects. Among <a href=\"https:\/\/capacitorjs.com\/docs\/cordova#native-project-management\">many other benefits<\/a>, this makes updating easy and straightforward.<\/p>\n<p>First, update Capacitor Core and the CLI:<\/p>\n<pre><code class=\"language-shell\">cd your-app-folder\nnpm install @capacitor\/cli@latest\nnpm install @capacitor\/core@latest\n<\/code><\/pre>\n<p>Next, update each Capacitor library in use:<\/p>\n<pre><code class=\"language-shell\">npm install @capacitor\/ios@latest\nnpx cap sync ios\n\nnpm install @capacitor\/android@latest\n# Within Android Studio, click \u201cSync Project with Gradle Files\u201d button\n\ncd electron\nnpm install @capacitor\/electron@latest\n<\/code><\/pre>\n<p>Then, follow these update instructions which cover one-time manual steps:<\/p>\n<ul>\n<li><a href=\"https:\/\/capacitorjs.com\/docs\/ios\/updating\/#from-1-5-1-to-2-0-0\">iOS<\/a><\/li>\n<li><a href=\"https:\/\/capacitorjs.com\/docs\/android\/updating\/#from-1-5-1-to-2-0-0\">Android<\/a><\/li>\n<li>[Electron]https:\/\/capacitorjs.com\/docs\/electron\/updating\/#from-1-5-2-to-2-0-0)<\/li>\n<li><a href=\"https:\/\/github.com\/ionic-team\/capacitor\/releases\/tag\/2.0.0\">Breaking Changes<\/a><\/li>\n<\/ul>\n<h2>More than a version number<\/h2>\n<p><a href=\"https:\/\/capacitorjs.com\">Capacitor 2.0<\/a> is a significant update to an increasingly important part of Ionic\u2019s app development platform.<\/p>\n<p>We\u2019ve been blown away by the reception of Capacitor since it was announced, and installs have been <a href=\"https:\/\/npmcharts.com\/compare\/@capacitor\/core\">growing quickly<\/a>.<\/p>\n<p>With 2.0, we are starting to make Capacitor the default for all new Ionic React and soon Ionic Angular projects, and expect us to be recommending Capacitor for all new Ionic apps and increasingly for enterprise apps as well.<\/p>\n<p>Additionally, we are dedicating more internal resources to Capacitor as it becomes a key part of the Ionic offering. Expect to see Capacitor receive a lot more focus and attention from us in the coming months.<\/p>\n<h2>Start building today<\/h2>\n<p>If you\u2019re new to Capacitor, it\u2019s easy to get started. Follow our complete <a href=\"https:\/\/ionicframework.com\/docs\/intro\/next\">First App guide<\/a> to build a Photo Gallery app powered by the Capacitor Camera, Filesystem, and Storage APIs. For those looking to dive in right away, check out the <a href=\"https:\/\/ionicframework.com\/start\">Ionic App Wizard<\/a> &#8211; generate a great Capacitor starter app in seconds.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Today I\u2019m thrilled to announce the 2.0 release of Capacitor, Ionic\u2019s native runtime that makes it easy to build web apps that run on iOS, Android, and on the web as Progressive Web Apps\u2014 all powered by a single codebase. Developers use Capacitor as a native app container for packaging and deploying their Ionic apps [&hellip;]<\/p>\n","protected":false},"author":62,"featured_media":3246,"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],"tags":[125,151,100,33],"class_list":["post-3244","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-announcements","tag-android","tag-capacitor","tag-ios","tag-pwa"],"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>Announcing Capacitor 2.0 - 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\/announcing-capacitor-2-0\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Announcing Capacitor 2.0\" \/>\n<meta property=\"og:description\" content=\"Today I\u2019m thrilled to announce the 2.0 release of Capacitor, Ionic\u2019s native runtime that makes it easy to build web apps that run on iOS, Android, and on the web as Progressive Web Apps\u2014 all powered by a single codebase. Developers use Capacitor as a native app container for packaging and deploying their Ionic apps [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/ionic.io\/blog\/announcing-capacitor-2-0\" \/>\n<meta property=\"og:site_name\" content=\"Ionic Blog\" \/>\n<meta property=\"article:published_time\" content=\"2020-04-08T17:10:36+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-10-16T18:54:06+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2020\/04\/capacitor-2-img.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1600\" \/>\n\t<meta property=\"og:image:height\" content=\"880\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Matt Netkow\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@dotNetkow\" \/>\n<meta name=\"twitter:site\" content=\"@ionicframework\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Matt Netkow\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/ionic.io\/blog\/announcing-capacitor-2-0#article\",\"isPartOf\":{\"@id\":\"https:\/\/ionic.io\/blog\/announcing-capacitor-2-0\"},\"author\":{\"name\":\"Matt Netkow\",\"@id\":\"https:\/\/ionic.io\/blog\/#\/schema\/person\/93c8b2fe110f183510c6285b0de40790\"},\"headline\":\"Announcing Capacitor 2.0\",\"datePublished\":\"2020-04-08T17:10:36+00:00\",\"dateModified\":\"2020-10-16T18:54:06+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/ionic.io\/blog\/announcing-capacitor-2-0\"},\"wordCount\":1442,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/ionic.io\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/ionic.io\/blog\/announcing-capacitor-2-0#primaryimage\"},\"thumbnailUrl\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2020\/04\/capacitor-2-img.png\",\"keywords\":[\"Android\",\"Capacitor\",\"iOS\",\"PWA\"],\"articleSection\":[\"Announcements\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/ionic.io\/blog\/announcing-capacitor-2-0#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/ionic.io\/blog\/announcing-capacitor-2-0\",\"url\":\"https:\/\/ionic.io\/blog\/announcing-capacitor-2-0\",\"name\":\"Announcing Capacitor 2.0 - Ionic Blog\",\"isPartOf\":{\"@id\":\"https:\/\/ionic.io\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/ionic.io\/blog\/announcing-capacitor-2-0#primaryimage\"},\"image\":{\"@id\":\"https:\/\/ionic.io\/blog\/announcing-capacitor-2-0#primaryimage\"},\"thumbnailUrl\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2020\/04\/capacitor-2-img.png\",\"datePublished\":\"2020-04-08T17:10:36+00:00\",\"dateModified\":\"2020-10-16T18:54:06+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/ionic.io\/blog\/announcing-capacitor-2-0#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/ionic.io\/blog\/announcing-capacitor-2-0\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/ionic.io\/blog\/announcing-capacitor-2-0#primaryimage\",\"url\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2020\/04\/capacitor-2-img.png\",\"contentUrl\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2020\/04\/capacitor-2-img.png\",\"width\":1600,\"height\":880},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/ionic.io\/blog\/announcing-capacitor-2-0#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/ionic.io\/blog\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Announcing Capacitor 2.0\"}]},{\"@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\/93c8b2fe110f183510c6285b0de40790\",\"name\":\"Matt Netkow\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/ionic.io\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2018\/07\/mattnetkow-150x150.jpg\",\"contentUrl\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2018\/07\/mattnetkow-150x150.jpg\",\"caption\":\"Matt Netkow\"},\"sameAs\":[\"https:\/\/x.com\/dotNetkow\"],\"url\":\"https:\/\/ionic.io\/blog\/author\/mattnetkow\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Announcing Capacitor 2.0 - 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\/announcing-capacitor-2-0","og_locale":"en_US","og_type":"article","og_title":"Announcing Capacitor 2.0","og_description":"Today I\u2019m thrilled to announce the 2.0 release of Capacitor, Ionic\u2019s native runtime that makes it easy to build web apps that run on iOS, Android, and on the web as Progressive Web Apps\u2014 all powered by a single codebase. Developers use Capacitor as a native app container for packaging and deploying their Ionic apps [&hellip;]","og_url":"https:\/\/ionic.io\/blog\/announcing-capacitor-2-0","og_site_name":"Ionic Blog","article_published_time":"2020-04-08T17:10:36+00:00","article_modified_time":"2020-10-16T18:54:06+00:00","og_image":[{"width":1600,"height":880,"url":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2020\/04\/capacitor-2-img.png","type":"image\/png"}],"author":"Matt Netkow","twitter_card":"summary_large_image","twitter_creator":"@dotNetkow","twitter_site":"@ionicframework","twitter_misc":{"Written by":"Matt Netkow","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/ionic.io\/blog\/announcing-capacitor-2-0#article","isPartOf":{"@id":"https:\/\/ionic.io\/blog\/announcing-capacitor-2-0"},"author":{"name":"Matt Netkow","@id":"https:\/\/ionic.io\/blog\/#\/schema\/person\/93c8b2fe110f183510c6285b0de40790"},"headline":"Announcing Capacitor 2.0","datePublished":"2020-04-08T17:10:36+00:00","dateModified":"2020-10-16T18:54:06+00:00","mainEntityOfPage":{"@id":"https:\/\/ionic.io\/blog\/announcing-capacitor-2-0"},"wordCount":1442,"commentCount":0,"publisher":{"@id":"https:\/\/ionic.io\/blog\/#organization"},"image":{"@id":"https:\/\/ionic.io\/blog\/announcing-capacitor-2-0#primaryimage"},"thumbnailUrl":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2020\/04\/capacitor-2-img.png","keywords":["Android","Capacitor","iOS","PWA"],"articleSection":["Announcements"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/ionic.io\/blog\/announcing-capacitor-2-0#respond"]}]},{"@type":"WebPage","@id":"https:\/\/ionic.io\/blog\/announcing-capacitor-2-0","url":"https:\/\/ionic.io\/blog\/announcing-capacitor-2-0","name":"Announcing Capacitor 2.0 - Ionic Blog","isPartOf":{"@id":"https:\/\/ionic.io\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/ionic.io\/blog\/announcing-capacitor-2-0#primaryimage"},"image":{"@id":"https:\/\/ionic.io\/blog\/announcing-capacitor-2-0#primaryimage"},"thumbnailUrl":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2020\/04\/capacitor-2-img.png","datePublished":"2020-04-08T17:10:36+00:00","dateModified":"2020-10-16T18:54:06+00:00","breadcrumb":{"@id":"https:\/\/ionic.io\/blog\/announcing-capacitor-2-0#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/ionic.io\/blog\/announcing-capacitor-2-0"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ionic.io\/blog\/announcing-capacitor-2-0#primaryimage","url":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2020\/04\/capacitor-2-img.png","contentUrl":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2020\/04\/capacitor-2-img.png","width":1600,"height":880},{"@type":"BreadcrumbList","@id":"https:\/\/ionic.io\/blog\/announcing-capacitor-2-0#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/ionic.io\/blog"},{"@type":"ListItem","position":2,"name":"Announcing Capacitor 2.0"}]},{"@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\/93c8b2fe110f183510c6285b0de40790","name":"Matt Netkow","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ionic.io\/blog\/#\/schema\/person\/image\/","url":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2018\/07\/mattnetkow-150x150.jpg","contentUrl":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2018\/07\/mattnetkow-150x150.jpg","caption":"Matt Netkow"},"sameAs":["https:\/\/x.com\/dotNetkow"],"url":"https:\/\/ionic.io\/blog\/author\/mattnetkow"}]}},"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2020\/04\/capacitor-2-img.png","_links":{"self":[{"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/posts\/3244","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\/62"}],"replies":[{"embeddable":true,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/comments?post=3244"}],"version-history":[{"count":0,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/posts\/3244\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/media\/3246"}],"wp:attachment":[{"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/media?parent=3244"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/categories?post=3244"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/tags?post=3244"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}