{"id":1447,"date":"2016-09-28T17:36:59","date_gmt":"2016-09-28T17:36:59","guid":{"rendered":"https:\/\/ionic.io\/blog\/?p=1447"},"modified":"2017-04-28T17:40:09","modified_gmt":"2017-04-28T17:40:09","slug":"announcing-the-ionic-2-release-candidate","status":"publish","type":"post","link":"https:\/\/ionic.io\/blog\/announcing-the-ionic-2-release-candidate","title":{"rendered":"Announcing the Ionic 2 Release Candidate!"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"304\" data-src=\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/09\/ionicrc0-1024x304.png\" alt=\"Ionic 2 RC0\" class=\"aligncenter size-large wp-image-1450 lazyload\" data-srcset=\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/09\/ionicrc0-1024x304.png 1024w, https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/09\/ionicrc0-300x89.png 300w, https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/09\/ionicrc0-768x228.png 768w, https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/09\/ionicrc0.png 1400w\" data-sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/304;\" \/><noscript><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"304\" src=\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/09\/ionicrc0-1024x304.png\" alt=\"Ionic 2 RC0\" class=\"aligncenter size-large wp-image-1450\" srcset=\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/09\/ionicrc0-1024x304.png 1024w, https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/09\/ionicrc0-300x89.png 300w, https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/09\/ionicrc0-768x228.png 768w, https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/09\/ionicrc0.png 1400w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/noscript><br \/>\nWell, hello there, wonderful people! You may have noticed that we\u2019ve been a bit quiet since the last release of Ionic and may have been wondering where we ventured off to. We&#8217;ve been hard at work prepping the Ionic 2 Release Candidate! We&#8217;re happy to announce that it\u2019s finally here, along with some major performance improvements and new features!<\/p>\n<p><center><br \/>\n<img decoding=\"async\" data-src=\"https:\/\/67.media.tumblr.com\/3ecde0e71f8deaf701564b54cdacbcaf\/tumblr_o3xhgjnF0g1r722olo1_500.gif\" alt=\"All The excitement\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" class=\"lazyload\" \/><noscript><img decoding=\"async\" src=\"https:\/\/67.media.tumblr.com\/3ecde0e71f8deaf701564b54cdacbcaf\/tumblr_o3xhgjnF0g1r722olo1_500.gif\" alt=\"All The excitement\" \/><\/noscript><br \/>\n<\/center><\/p>\n<p>Now, before you rush off to update your dependencies, please take the time to read over this <a href=\"https:\/\/github.com\/driftyco\/ionic\/blob\/master\/CHANGELOG.md#steps-to-upgrade-to-rc0\">section of the changelog<\/a>. There are several structural changes to the setup and build process that need to be made before your app can be upgraded. The changelog goes over the update process. Without these changes, your app will not be upgradeable.<\/p>\n<p><!--more--><\/p>\n<h3>Update to Angular 2 Final<\/h3>\n<p>Angular 2.0 final is out and ready for folks to use. Make no mistake, THIS IS HUGE!! The API has solidified! Final introduces some updates that make organizing dependencies in your app much easier. <code>@NgModule<\/code> allows you to declare all your dependencies up front, instead of having to declare them multiple times in an app. Other changes in Angular include internal API changes, so any custom components will need to be updated accordingly. Give the <a href=\"https:\/\/github.com\/angular\/angular\/blob\/master\/CHANGELOG.md\">Angular Changelog<\/a> a glance for your updating process.<\/p>\n<h3>Ahead of Time Compiling: Simply put&#8230;faster apps<\/h3>\n<p>With the updates to the core version of Angular used in Ionic, we&#8217;ve been able to take advantage of the Ahead of Time (AoT) compiler in our build process. This was a big change for the internals of Ionic, but the payoff is well worth it. Instead of compiling your templates in the browser and on the fly, which can be very slow if you have a large view, AoT allows for the templates to be pre-compiled in a build step. With AoT in place, you can expect to see a big improvement in your app\u2019s boot-up time, as well as in view switching. The compiled code that is created by AoT is highly optimized code that can run much faster than code any of us could write.<\/p>\n<p>Don&#8217;t believe us? Take a look! We used our tabs starter as a base point for testing Beta 11 and this release.<\/p>\n<p><a href=\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/09\/beta11-vs-beta12.gif\"><img loading=\"lazy\" decoding=\"async\" width=\"1400\" height=\"1200\" data-src=\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/09\/beta11-vs-beta12.gif\" alt=\"beta11-vs-beta12\" class=\"aligncenter size-full wp-image-1448 lazyload\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" style=\"--smush-placeholder-width: 1400px; --smush-placeholder-aspect-ratio: 1400\/1200;\" \/><noscript><img loading=\"lazy\" decoding=\"async\" width=\"1400\" height=\"1200\" src=\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/09\/beta11-vs-beta12.gif\" alt=\"beta11-vs-beta12\" class=\"aligncenter size-full wp-image-1448\" \/><\/noscript><\/a><\/p>\n<p><center><br \/>\n <small> Beta 11 on the left, RC on the right<\/small><br \/>\n<\/center><\/p>\n<h3>A New Build Process<\/h3>\n<p>Now, with AoT in place and Angular\u2019s API finalized, we&#8217;ve been able to look at Ionic&#8217;s build process and really see how we could make it better. We took our time and looked at all the available build tools and fell in love with <a href=\"http:\/\/rollupjs.org\/\">Rollup<\/a>. There are many build tools out there, and they all do a great job, but for us, Rollup provides some nice technical features, like much more optimized code that tends to have fewer closures. This enables code to be executed much faster in the browser. There&#8217;s also tree-shaking, which allows you to include only the code your app needs to run, making the bundled output much smaller.<\/p>\n<p>With this new build process, we&#8217;ve also started to move away from a Gulp-based workflow. We&#8217;ve started moving over to NPM scripts, since they offer the same flexibility that Gulp tasks provide. This also means that there&#8217;s one less dependency to install (which ultimately turns out to be many many less dependencies) when you build the app. The new NPM script build is heavily inspired by the amazing work done by the <code>Create-React-App<\/code> team, where all the configuration and build scripts are a package that gets called. For users, though, nothing changes. You can still run <code>ionic serve<\/code> and have the entire build process run before launching a live-reload server. If you want to customize your build, thankfully, everything is configurable and very straightforward. We think this strikes a good balance between &#8220;Batteries Included&#8221; and &#8220;Bring Your Own Build Step&#8221;.<\/p>\n<p>It&#8217;s worth noting that the updates to the CLI to make this possible also include backwards compatibility for older Gulp-driven projects. So even as these new features become the default, Gulp will still be supported for older projects. And if you still want to use Gulp in new projects, no problem! Go for it! Any task runner, or even straight <code>node<\/code> calls, can execute these scripts.<\/p>\n<p>We\u2019d also like to point out that Ionic is not tied to any one bundler or our <code>@ionic\/app-scripts<\/code> package. If you\u2019re happy with your own build process, there&#8217;s no reason you can&#8217;t pick and choose the tools of your liking to customize your own Ionic build scripts.<\/p>\n<h3>Cleaning up the App Structure<\/h3>\n<p>Now that Ionic and Angular themselves have finalized their APIs, we now have a solid sense of \u201chow\u201d Ionic apps should be structured, such as the directory structure, filenames, and file locations. We&#8217;ve also made some changes to the default app you get from <code>ionic start<\/code>, which will make a lot of sense when you see them. We\u2019d like to point out that the new structure is <em>the<\/em> structure we\u2019ll recommend moving forward. But just like our recommended build scripts, you\u2019re welcomed to adjust it however you like, since Ionic itself is not tied to a specific structure.<\/p>\n<p>With <code>@NgModule<\/code> being introduced, we decided to rename the top source directory to <code>src<\/code> (mind-blowing, we know!). All of the files related to the root app component and <code>@NgModule<\/code> get stored in an app folder, while pages and providers sit in <code>src\/<\/code>. We&#8217;ve also added an <code>assets<\/code> directory to house things like images, manifest.json, and a service worker file.<\/p>\n<h3>Parting words<\/h3>\n<p>This release brings Ionic 2 very close to its final form. Between each alpha and beta version, we\u2019re sure you&#8217;ve noticed significant changes to the API&#8230;but no more! The API for this release candidate is the same we hope to ship for our final (which isn\u2019t far behind). Now, with the RC out, we\u2019d like to ask for assistance from our awesome community members to really beat on the framework and break all the things. As always, please report any issues you find. Once we\u2019re confident there aren\u2019t any major show-stopping bugs within our release candidate(s), you can expect to see <code>2.0.0<\/code> out soon afterwards.<\/p>\n<p><a href=\"https:\/\/github.com\/driftyco\/ionic\/blob\/master\/CHANGELOG.md\">Link to Changelog<\/a><\/p>\n<p><a href=\"http:\/\/rollupjs.org\/\">Link to Rollup<\/a><\/p>\n<p><a href=\"http:\/\/ionicframework.com\/docs\/v2\/api\/\">Link to Ionic 2 RC0 Docs<\/a><\/p>\n<p><a href=\"https:\/\/angular.io\/docs\/ts\/latest\/guide\/ngmodule.html\">Link to NgModule<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Well, hello there, wonderful people! You may have noticed that we\u2019ve been a bit quiet since the last release of Ionic and may have been wondering where we ventured off to. We&#8217;ve been hard at work prepping the Ionic 2 Release Candidate! We&#8217;re happy to announce that it\u2019s finally here, along with some major performance [&hellip;]<\/p>\n","protected":false},"author":5,"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":[1],"tags":[23,3,13,4],"class_list":["post-1447","post","type-post","status-publish","format-standard","hentry","category-all","tag-framework","tag-ionic","tag-ionic-2","tag-top-posts"],"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 the Ionic 2 Release Candidate! - 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-the-ionic-2-release-candidate\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Announcing the Ionic 2 Release Candidate!\" \/>\n<meta property=\"og:description\" content=\"Well, hello there, wonderful people! You may have noticed that we\u2019ve been a bit quiet since the last release of Ionic and may have been wondering where we ventured off to. We&#8217;ve been hard at work prepping the Ionic 2 Release Candidate! We&#8217;re happy to announce that it\u2019s finally here, along with some major performance [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/ionic.io\/blog\/announcing-the-ionic-2-release-candidate\" \/>\n<meta property=\"og:site_name\" content=\"Ionic Blog\" \/>\n<meta property=\"article:published_time\" content=\"2016-09-28T17:36:59+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2017-04-28T17:40:09+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/09\/ionicrc0-1024x304.png\" \/>\n<meta name=\"author\" content=\"Mike Hartington\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@mhartington\" \/>\n<meta name=\"twitter:site\" content=\"@ionicframework\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Mike Hartington\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/ionic.io\/blog\/announcing-the-ionic-2-release-candidate#article\",\"isPartOf\":{\"@id\":\"https:\/\/ionic.io\/blog\/announcing-the-ionic-2-release-candidate\"},\"author\":{\"name\":\"Mike Hartington\",\"@id\":\"https:\/\/ionic.io\/blog\/#\/schema\/person\/c8c92b04d526adb925ea514c619a267b\"},\"headline\":\"Announcing the Ionic 2 Release Candidate!\",\"datePublished\":\"2016-09-28T17:36:59+00:00\",\"dateModified\":\"2017-04-28T17:40:09+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/ionic.io\/blog\/announcing-the-ionic-2-release-candidate\"},\"wordCount\":1043,\"commentCount\":118,\"publisher\":{\"@id\":\"https:\/\/ionic.io\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/ionic.io\/blog\/announcing-the-ionic-2-release-candidate#primaryimage\"},\"thumbnailUrl\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/09\/ionicrc0-1024x304.png\",\"keywords\":[\"Framework\",\"Ionic\",\"Ionic 2\",\"Top Posts\"],\"articleSection\":[\"All\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/ionic.io\/blog\/announcing-the-ionic-2-release-candidate#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/ionic.io\/blog\/announcing-the-ionic-2-release-candidate\",\"url\":\"https:\/\/ionic.io\/blog\/announcing-the-ionic-2-release-candidate\",\"name\":\"Announcing the Ionic 2 Release Candidate! - Ionic Blog\",\"isPartOf\":{\"@id\":\"https:\/\/ionic.io\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/ionic.io\/blog\/announcing-the-ionic-2-release-candidate#primaryimage\"},\"image\":{\"@id\":\"https:\/\/ionic.io\/blog\/announcing-the-ionic-2-release-candidate#primaryimage\"},\"thumbnailUrl\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/09\/ionicrc0-1024x304.png\",\"datePublished\":\"2016-09-28T17:36:59+00:00\",\"dateModified\":\"2017-04-28T17:40:09+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/ionic.io\/blog\/announcing-the-ionic-2-release-candidate#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/ionic.io\/blog\/announcing-the-ionic-2-release-candidate\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/ionic.io\/blog\/announcing-the-ionic-2-release-candidate#primaryimage\",\"url\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/09\/ionicrc0.png\",\"contentUrl\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/09\/ionicrc0.png\",\"width\":1400,\"height\":416,\"caption\":\"Ionic 2 RC0\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/ionic.io\/blog\/announcing-the-ionic-2-release-candidate#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/ionic.io\/blog\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Announcing the Ionic 2 Release Candidate!\"}]},{\"@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\/c8c92b04d526adb925ea514c619a267b\",\"name\":\"Mike Hartington\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/ionic.io\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2018\/08\/mike-headshot-2-smaller-150x150.png\",\"contentUrl\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2018\/08\/mike-headshot-2-smaller-150x150.png\",\"caption\":\"Mike Hartington\"},\"description\":\"Director of Developer Relations\",\"sameAs\":[\"https:\/\/twitter.com\/mhartington\",\"https:\/\/x.com\/mhartington\"],\"url\":\"https:\/\/ionic.io\/blog\/author\/mike\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Announcing the Ionic 2 Release Candidate! - 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-the-ionic-2-release-candidate","og_locale":"en_US","og_type":"article","og_title":"Announcing the Ionic 2 Release Candidate!","og_description":"Well, hello there, wonderful people! You may have noticed that we\u2019ve been a bit quiet since the last release of Ionic and may have been wondering where we ventured off to. We&#8217;ve been hard at work prepping the Ionic 2 Release Candidate! We&#8217;re happy to announce that it\u2019s finally here, along with some major performance [&hellip;]","og_url":"https:\/\/ionic.io\/blog\/announcing-the-ionic-2-release-candidate","og_site_name":"Ionic Blog","article_published_time":"2016-09-28T17:36:59+00:00","article_modified_time":"2017-04-28T17:40:09+00:00","og_image":[{"url":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/09\/ionicrc0-1024x304.png"}],"author":"Mike Hartington","twitter_card":"summary_large_image","twitter_creator":"@mhartington","twitter_site":"@ionicframework","twitter_misc":{"Written by":"Mike Hartington","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/ionic.io\/blog\/announcing-the-ionic-2-release-candidate#article","isPartOf":{"@id":"https:\/\/ionic.io\/blog\/announcing-the-ionic-2-release-candidate"},"author":{"name":"Mike Hartington","@id":"https:\/\/ionic.io\/blog\/#\/schema\/person\/c8c92b04d526adb925ea514c619a267b"},"headline":"Announcing the Ionic 2 Release Candidate!","datePublished":"2016-09-28T17:36:59+00:00","dateModified":"2017-04-28T17:40:09+00:00","mainEntityOfPage":{"@id":"https:\/\/ionic.io\/blog\/announcing-the-ionic-2-release-candidate"},"wordCount":1043,"commentCount":118,"publisher":{"@id":"https:\/\/ionic.io\/blog\/#organization"},"image":{"@id":"https:\/\/ionic.io\/blog\/announcing-the-ionic-2-release-candidate#primaryimage"},"thumbnailUrl":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/09\/ionicrc0-1024x304.png","keywords":["Framework","Ionic","Ionic 2","Top Posts"],"articleSection":["All"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/ionic.io\/blog\/announcing-the-ionic-2-release-candidate#respond"]}]},{"@type":"WebPage","@id":"https:\/\/ionic.io\/blog\/announcing-the-ionic-2-release-candidate","url":"https:\/\/ionic.io\/blog\/announcing-the-ionic-2-release-candidate","name":"Announcing the Ionic 2 Release Candidate! - Ionic Blog","isPartOf":{"@id":"https:\/\/ionic.io\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/ionic.io\/blog\/announcing-the-ionic-2-release-candidate#primaryimage"},"image":{"@id":"https:\/\/ionic.io\/blog\/announcing-the-ionic-2-release-candidate#primaryimage"},"thumbnailUrl":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/09\/ionicrc0-1024x304.png","datePublished":"2016-09-28T17:36:59+00:00","dateModified":"2017-04-28T17:40:09+00:00","breadcrumb":{"@id":"https:\/\/ionic.io\/blog\/announcing-the-ionic-2-release-candidate#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/ionic.io\/blog\/announcing-the-ionic-2-release-candidate"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ionic.io\/blog\/announcing-the-ionic-2-release-candidate#primaryimage","url":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/09\/ionicrc0.png","contentUrl":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/09\/ionicrc0.png","width":1400,"height":416,"caption":"Ionic 2 RC0"},{"@type":"BreadcrumbList","@id":"https:\/\/ionic.io\/blog\/announcing-the-ionic-2-release-candidate#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/ionic.io\/blog"},{"@type":"ListItem","position":2,"name":"Announcing the Ionic 2 Release Candidate!"}]},{"@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\/c8c92b04d526adb925ea514c619a267b","name":"Mike Hartington","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ionic.io\/blog\/#\/schema\/person\/image\/","url":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2018\/08\/mike-headshot-2-smaller-150x150.png","contentUrl":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2018\/08\/mike-headshot-2-smaller-150x150.png","caption":"Mike Hartington"},"description":"Director of Developer Relations","sameAs":["https:\/\/twitter.com\/mhartington","https:\/\/x.com\/mhartington"],"url":"https:\/\/ionic.io\/blog\/author\/mike"}]}},"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/posts\/1447","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\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/comments?post=1447"}],"version-history":[{"count":0,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/posts\/1447\/revisions"}],"wp:attachment":[{"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/media?parent=1447"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/categories?post=1447"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/tags?post=1447"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}