{"id":4434,"date":"2022-10-19T14:59:27","date_gmt":"2022-10-19T18:59:27","guid":{"rendered":"https:\/\/ionic.io\/blog\/?p=4434"},"modified":"2022-11-15T14:00:28","modified_gmt":"2022-11-15T19:00:28","slug":"not-your-granddaddys-webview","status":"publish","type":"post","link":"https:\/\/ionic.io\/blog\/not-your-granddaddys-webview","title":{"rendered":"Not Your Granddaddy&#8217;s Web View"},"content":{"rendered":"<h2 id=\"how-micro-frontends-with-portals-offer-a-better-way-to-embed-web-content-in-a-native-mobile-app\">How Micro Frontends With Portals Offer a Better Way to Embed Web Content in a Native Mobile App<\/h2>\n<p>Ionic Portals is a revolutionary method of delivering web-based micro frontend experiences within any native iOS or Android mobile application. We use the term \u201cmicro frontends\u201d because Portals allows development teams to deliver modular user experiences in a way that\u2019s completely isolated and self-contained from the rest of the application. Mobile micro frontends with <a href=\"https:\/\/ionic.io\/portals\">Portals<\/a> integrate seamlessly with the native application, offering easy access to every feature on the device, while providing performance optimized experiences with full offline capabilities. On top of that, they can be updated and deployed independent of the host application and distributed across multiple applications at the same time. Software engineering leaders and enterprise development teams love this approach because it helps them scale development while saving time. Best of all, it\u2019s completely invisible to the user. However, many people who are new to Portals will ask, what\u2019s the difference between Portals and a traditional Web View? After all, both allow you to embed web content in a native mobile app. In this post, we\u2019ll cover the specific differences and explain more about why micro frontend is the right term for what Portals is able to deliver.<\/p>\n<p><!--more--><\/p>\n<h2 id=\"a-refresher-on-webviews\">A refresher on Web Views<\/h2>\n<p>Web Views are included in the stock <a href=\"https:\/\/developer.apple.com\/documentation\/webkit\/wkwebview\">iOS<\/a> and <a href=\"https:\/\/developer.android.com\/reference\/android\/webkit\/WebView\">Android<\/a> development kits as the default method of embedding web content in a native mobile application. Out of the box, Web Views allow you to display live web content inside of a native application using a web browser like Safari or Chrome. However, unlike opening up the Chrome app on your phone and visiting a website, the browser window and URL path are not visible to the user when interacting with web content via a Web View. For many use cases, this type of approach is sufficient for displaying small amounts of web content inside of a mobile application. However, there are a number of factors that make Web Views less appealing and limit their usefulness.<\/p>\n<h3 id=\"network-delays-and-disruptions\">Network delays and disruptions<\/h3>\n<p>For one thing, the content displayed in a Web View is loaded from a remote web server, so it is subject to network delays and disruptions. Changes in network connectivity can provide a poor mobile experience, including inability to access data when the device is not connected to the network.<\/p>\n<h3 id=\"limited-integration-with-the-native-ui\">Limited integration with the native UI<\/h3>\n<p>Secondly, while Web Views offer some basic integration with the native app\u2019s navigation controls, more advanced native integrations are not possible without intensive engineering efforts. For example, if the embedded web experience needs to interact with the mobile device\u2019s camera, file storage, biometrics, and other native controls, getting it to work in a Web View will be challenging. For those two reasons, most embedded web experiences are simple one-way experiences, where all of the interaction is inside the Web View and there is little interaction with the rest of the app. We\u2019ve probably all experienced times when we can tell (quite obviously) that we\u2019re suddenly interacting with a web application inside of a mobile app. While some of the best applications from the world\u2019s top engineering teams\u2014like Apple Music, Amazon, and Netflix\u2014do it quite well, many Web View experiences leave much to be desired. So, how does Portals address these limitations? When we designed Portals, we thought about all of the limitations of embedding web content inside a native mobile app and sought to deliver a solution that would address each one. Our ultimate goal was to create an experience that was so seamless, it would be invisible to any user.<\/p>\n<h2 id=\"portals-vs-traditional-webviews\">Portals vs. Traditional Web Views<\/h2>\n<p>Let\u2019s dive into the specific ways that Portals is unique\u2014and superior\u2014to a traditional Web View when it comes to embedding web content in a native app.<\/p>\n<h3 id=\"locally-hosted-content-and-stellar-performance\">Locally hosted content and stellar performance<\/h3>\n<p>Web content delivered with Ionic Portals is hosted on-device, not via a remote web server. This approach has two major benefits. First, locally hosted content dramatically reduces latency and improves performance. One Portals customer, a major international airline, found that simply switching from a Web View to Portals boosted performance by 2-3 seconds\u2014even over WiFi. The relative performance benefits when network speeds are low would be significantly greater. Ultrafast performance is another reason that most users will not be able to tell the difference between web content delivered with Portals and native portions of the app. Second, it ensures that the app will function even when not connected to a network. Lack of offline access is a telltale sign of web hosted content. With Portals, network disruptions aren\u2019t an issue.<\/p>\n<h3 id=\"deep-native-access-and-seamless-integration\">Deep native access and seamless integration<\/h3>\n<p>Ionic Portals provides access to every single native device feature, along with seamless integration with the native UI. When a user is interacting with a Portals experience inside of your native app, they should not feel the slightest difference. In fact, this is a major difference between Portals and a traditional Web View. For anyone who\u2019s tried it, you know that getting web content to integrate with the rest of the native app is not easy, and most attempts result in clunky and obvious transitions between the native and web portions of the app. This is one of the main reasons people avoid Web Views in the first place. Thankfully, the Ionic team has years of experience making this kind of handoff work. If you\u2019re familiar with Ionic, you may know that one of our most popular open source projects is <a href=\"https:\/\/capacitorjs.com\/\">Capacitor<\/a>, a cross-platform runtime for building native iOS and Android applications with the Web. Capacitor has been around for over four years, and powers mission-critical apps for thousands of businesses around the world, including major brands like Burger King, GE, Blue Cross Blue Shield, H&amp;R Block, and more. The same technology that powers Capacitor also powers Portals. This is our secret sauce, so to speak. Suffice it to say, we know a thing or two about getting your web layer to talk to the native device, and all of that intellectual property has gone into the Portals experience. As a developer using Portals, the net effect is that accessing native features and navigation within a Portals experience is very easy. We offer a rich library of pre-built plugins and integrations for accessing the most popular device features and we can help you develop custom integrations if needed. The handoffs between web and native are extremely smooth, such that your users should not notice a difference.<\/p>\n<h3 id=\"independent-updates-and-continuous-delivery\">Independent updates and continuous delivery<\/h3>\n<p>Finally, part of how Ionic Portals earns the term \u201cmicro frontend\u201d is that it is fully self-contained from the rest of the application, allowing you to update a specific Portals experience without having to publish a new version of the native application and disrupting the development team\u2019s release process. This is enabled through a feature called Live Updates. Essentially, you can push hot code updates directly to a specific micro frontend at any time. The updates are loaded in the background whenever the app is refreshed. No app store downloads or manual updates required. This is great for speeding up development and improving app quality by making sure that any bugs are fixed ASAP, without requiring a full application rebuild and deployment.<\/p>\n<h2 id=\"not-sure-give-it-a-try-and-see-for-yourself-\">Not sure? Give it a try and see for yourself.<\/h2>\n<p>To sum it up, <a href=\"https:\/\/ionic.io\/portals\">Portals<\/a> is not your granddaddy&#8217;s Web View. It\u2019s more akin to the types of embedded web experiences that you\u2019ll find in popular apps like Apple Music, Amazon, Netflix, and other top-rated apps that use web content in a way that is virtually invisible to users. If you\u2019re not sure how it will work for you, <a href=\"https:\/\/ionic.io\/portals\">give it a try and see for yourself<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>How Micro Frontends With Portals Offer a Better Way to Embed Web Content in a Native Mobile App Ionic Portals is a revolutionary method of delivering web-based micro frontend experiences within any native iOS or Android mobile application. We use the term \u201cmicro frontends\u201d because Portals allows development teams to deliver modular user experiences in [&hellip;]<\/p>\n","protected":false},"author":50,"featured_media":4435,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"publish_to_discourse":"0","publish_post_category":"31","wpdc_auto_publish_overridden":"","wpdc_topic_tags":"","wpdc_pin_topic":"","wpdc_pin_until":"","discourse_post_id":"554334","discourse_permalink":"https:\/\/forum.ionicframework.com\/t\/not-your-granddaddys-webview\/227849","wpdc_publishing_response":"","wpdc_publishing_error":"","_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1,123],"tags":[255,68,227],"class_list":["post-4434","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-all","category-perspectives","tag-micro-frontends","tag-mobile-development","tag-portals"],"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>Not Your Granddaddy&#039;s Web View - Ionic Blog<\/title>\n<meta name=\"description\" content=\"How mobile micro frontends with Portals offer a better way to embed web content in a native mobile app.\" \/>\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\/not-your-granddaddys-webview\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Not Your Granddaddy&#039;s Web View\" \/>\n<meta property=\"og:description\" content=\"How mobile micro frontends with Portals offer a better way to embed web content in a native mobile app.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/ionic.io\/blog\/not-your-granddaddys-webview\" \/>\n<meta property=\"og:site_name\" content=\"Ionic Blog\" \/>\n<meta property=\"article:published_time\" content=\"2022-10-19T18:59:27+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-11-15T19:00:28+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2022\/10\/portalsVweb-feature-image.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=\"Andrew Haire\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@achaire\" \/>\n<meta name=\"twitter:site\" content=\"@ionicframework\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Andrew Haire\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/ionic.io\/blog\/not-your-granddaddys-webview#article\",\"isPartOf\":{\"@id\":\"https:\/\/ionic.io\/blog\/not-your-granddaddys-webview\"},\"author\":{\"name\":\"Andrew Haire\",\"@id\":\"https:\/\/ionic.io\/blog\/#\/schema\/person\/23d2e3134b9b44cbcae61eb6cc431d17\"},\"headline\":\"Not Your Granddaddy&#8217;s Web View\",\"datePublished\":\"2022-10-19T18:59:27+00:00\",\"dateModified\":\"2022-11-15T19:00:28+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/ionic.io\/blog\/not-your-granddaddys-webview\"},\"wordCount\":1314,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/ionic.io\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/ionic.io\/blog\/not-your-granddaddys-webview#primaryimage\"},\"thumbnailUrl\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2022\/10\/portalsVweb-feature-image.png\",\"keywords\":[\"micro frontends\",\"mobile development\",\"Portals\"],\"articleSection\":[\"All\",\"Perspectives\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/ionic.io\/blog\/not-your-granddaddys-webview#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/ionic.io\/blog\/not-your-granddaddys-webview\",\"url\":\"https:\/\/ionic.io\/blog\/not-your-granddaddys-webview\",\"name\":\"Not Your Granddaddy's Web View - Ionic Blog\",\"isPartOf\":{\"@id\":\"https:\/\/ionic.io\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/ionic.io\/blog\/not-your-granddaddys-webview#primaryimage\"},\"image\":{\"@id\":\"https:\/\/ionic.io\/blog\/not-your-granddaddys-webview#primaryimage\"},\"thumbnailUrl\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2022\/10\/portalsVweb-feature-image.png\",\"datePublished\":\"2022-10-19T18:59:27+00:00\",\"dateModified\":\"2022-11-15T19:00:28+00:00\",\"description\":\"How mobile micro frontends with Portals offer a better way to embed web content in a native mobile app.\",\"breadcrumb\":{\"@id\":\"https:\/\/ionic.io\/blog\/not-your-granddaddys-webview#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/ionic.io\/blog\/not-your-granddaddys-webview\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/ionic.io\/blog\/not-your-granddaddys-webview#primaryimage\",\"url\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2022\/10\/portalsVweb-feature-image.png\",\"contentUrl\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2022\/10\/portalsVweb-feature-image.png\",\"width\":1600,\"height\":880,\"caption\":\"Portals vs webviews\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/ionic.io\/blog\/not-your-granddaddys-webview#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/ionic.io\/blog\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Not Your Granddaddy&#8217;s Web View\"}]},{\"@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\/23d2e3134b9b44cbcae61eb6cc431d17\",\"name\":\"Andrew Haire\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/ionic.io\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2017\/05\/M6yUSmBo-150x150.jpg\",\"contentUrl\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2017\/05\/M6yUSmBo-150x150.jpg\",\"caption\":\"Andrew Haire\"},\"description\":\"VP of Marketing\",\"sameAs\":[\"https:\/\/x.com\/achaire\"],\"url\":\"https:\/\/ionic.io\/blog\/author\/andrewhaire\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Not Your Granddaddy's Web View - Ionic Blog","description":"How mobile micro frontends with Portals offer a better way to embed web content in a native mobile app.","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\/not-your-granddaddys-webview","og_locale":"en_US","og_type":"article","og_title":"Not Your Granddaddy's Web View","og_description":"How mobile micro frontends with Portals offer a better way to embed web content in a native mobile app.","og_url":"https:\/\/ionic.io\/blog\/not-your-granddaddys-webview","og_site_name":"Ionic Blog","article_published_time":"2022-10-19T18:59:27+00:00","article_modified_time":"2022-11-15T19:00:28+00:00","og_image":[{"width":1600,"height":880,"url":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2022\/10\/portalsVweb-feature-image.png","type":"image\/png"}],"author":"Andrew Haire","twitter_card":"summary_large_image","twitter_creator":"@achaire","twitter_site":"@ionicframework","twitter_misc":{"Written by":"Andrew Haire","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/ionic.io\/blog\/not-your-granddaddys-webview#article","isPartOf":{"@id":"https:\/\/ionic.io\/blog\/not-your-granddaddys-webview"},"author":{"name":"Andrew Haire","@id":"https:\/\/ionic.io\/blog\/#\/schema\/person\/23d2e3134b9b44cbcae61eb6cc431d17"},"headline":"Not Your Granddaddy&#8217;s Web View","datePublished":"2022-10-19T18:59:27+00:00","dateModified":"2022-11-15T19:00:28+00:00","mainEntityOfPage":{"@id":"https:\/\/ionic.io\/blog\/not-your-granddaddys-webview"},"wordCount":1314,"commentCount":0,"publisher":{"@id":"https:\/\/ionic.io\/blog\/#organization"},"image":{"@id":"https:\/\/ionic.io\/blog\/not-your-granddaddys-webview#primaryimage"},"thumbnailUrl":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2022\/10\/portalsVweb-feature-image.png","keywords":["micro frontends","mobile development","Portals"],"articleSection":["All","Perspectives"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/ionic.io\/blog\/not-your-granddaddys-webview#respond"]}]},{"@type":"WebPage","@id":"https:\/\/ionic.io\/blog\/not-your-granddaddys-webview","url":"https:\/\/ionic.io\/blog\/not-your-granddaddys-webview","name":"Not Your Granddaddy's Web View - Ionic Blog","isPartOf":{"@id":"https:\/\/ionic.io\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/ionic.io\/blog\/not-your-granddaddys-webview#primaryimage"},"image":{"@id":"https:\/\/ionic.io\/blog\/not-your-granddaddys-webview#primaryimage"},"thumbnailUrl":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2022\/10\/portalsVweb-feature-image.png","datePublished":"2022-10-19T18:59:27+00:00","dateModified":"2022-11-15T19:00:28+00:00","description":"How mobile micro frontends with Portals offer a better way to embed web content in a native mobile app.","breadcrumb":{"@id":"https:\/\/ionic.io\/blog\/not-your-granddaddys-webview#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/ionic.io\/blog\/not-your-granddaddys-webview"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ionic.io\/blog\/not-your-granddaddys-webview#primaryimage","url":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2022\/10\/portalsVweb-feature-image.png","contentUrl":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2022\/10\/portalsVweb-feature-image.png","width":1600,"height":880,"caption":"Portals vs webviews"},{"@type":"BreadcrumbList","@id":"https:\/\/ionic.io\/blog\/not-your-granddaddys-webview#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/ionic.io\/blog"},{"@type":"ListItem","position":2,"name":"Not Your Granddaddy&#8217;s Web View"}]},{"@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\/23d2e3134b9b44cbcae61eb6cc431d17","name":"Andrew Haire","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ionic.io\/blog\/#\/schema\/person\/image\/","url":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2017\/05\/M6yUSmBo-150x150.jpg","contentUrl":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2017\/05\/M6yUSmBo-150x150.jpg","caption":"Andrew Haire"},"description":"VP of Marketing","sameAs":["https:\/\/x.com\/achaire"],"url":"https:\/\/ionic.io\/blog\/author\/andrewhaire"}]}},"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2022\/10\/portalsVweb-feature-image.png","_links":{"self":[{"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/posts\/4434","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\/50"}],"replies":[{"embeddable":true,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/comments?post=4434"}],"version-history":[{"count":2,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/posts\/4434\/revisions"}],"predecessor-version":[{"id":4535,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/posts\/4434\/revisions\/4535"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/media\/4435"}],"wp:attachment":[{"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/media?parent=4434"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/categories?post=4434"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/tags?post=4434"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}