{"id":638,"date":"2015-10-01T17:51:38","date_gmt":"2015-10-01T17:51:38","guid":{"rendered":"https:\/\/ionic.io\/blog\/?p=638"},"modified":"2016-03-09T17:06:56","modified_gmt":"2016-03-09T17:06:56","slug":"ionic-bonds-introducing-the-new-web-client","status":"publish","type":"post","link":"https:\/\/ionic.io\/blog\/ionic-bonds-introducing-the-new-web-client","title":{"rendered":"Ionic Bonds: Introducing the New Web Client"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" width=\"1400\" height=\"500\" data-src=\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2015\/10\/ionic-io-init-animation.gif\" alt=\"ionic-io-init-animation\" class=\"aligncenter size-full wp-image-641 lazyload\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" style=\"--smush-placeholder-width: 1400px; --smush-placeholder-aspect-ratio: 1400\/500;\" \/><noscript><img loading=\"lazy\" decoding=\"async\" width=\"1400\" height=\"500\" src=\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2015\/10\/ionic-io-init-animation.gif\" alt=\"ionic-io-init-animation\" class=\"aligncenter size-full wp-image-641\" \/><\/noscript><\/p>\n<p><em>Welcome to the latest installment of the Ionic Bonds series, with regular updates on Ionic\u2019s Platform Services.<\/em><\/p>\n<p>The latest batch of updates for the Ionic Platform have landed, and I am very excited to introduce the <a href=\"https:\/\/github.com\/driftyco\/ionic-platform-web-client\" target=\"_blank\">new web client<\/a>! This new service module has a lot going for it: future-proofed ECMAScript 6 support, no dependencies, and it\u2019s all bundled as a single include for your app!<\/p>\n<p>We weren\u2019t happy with the way the <code>ionic-service<\/code> components were being handled, and because a unifying update was in order, we decided to take it a step further. Not only is the entire Ionic Platform library housed in a single repository, we\u2019re leveraging the future of web standards with ECMAScript 6 (don\u2019t worry; no change is needed on your end). With the new Platform library, we\u2019ve set up a great foundation for future services and updates.<br \/>\n<!--more--><\/p>\n<h3>But why should you care?<\/h3>\n<p>You told us you want things to be easy. Easy is <em>good<\/em>.<\/p>\n<p>Check this out:<\/p>\n<pre><code>var push = new Ionic.Push();\npush.register(callback);\n<\/code><\/pre>\n<p>See that? <img loading=\"lazy\" decoding=\"async\" width=\"27\" height=\"35\" data-src=\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2015\/10\/point-up-ssm.png\" alt=\"point-up-ssm\" class=\"alignleft size-full wp-image-646 lazyload\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" style=\"--smush-placeholder-width: 27px; --smush-placeholder-aspect-ratio: 27\/35;\" \/><noscript><img loading=\"lazy\" decoding=\"async\" width=\"27\" height=\"35\" src=\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2015\/10\/point-up-ssm.png\" alt=\"point-up-ssm\" class=\"alignleft size-full wp-image-646\" \/><\/noscript> That\u2019s a completely functional Ionic app leveraging the push notification service. Gone are the days of managing API keys by hand. No more remembering injections for your controllers! It Just Works, and we\u2019ve done the same thing for every single Ionic Platform service in this update.<\/p>\n<p>You may also notice the code above doesn\u2019t use Angular. Don\u2019t panic. All of the Angular factories you\u2019re accustomed to using with the Ionic Platform still exist; they\u2019re just not <em>required<\/em> anymore.<\/p>\n<h3>What you can expect<\/h3>\n<p>Quite a bit, actually. A lot of improvements are now live, and we think you&#8217;re going to love them. Here&#8217;s the short list:<\/p>\n<ul>\n<li>Streamlined Installation. There\u2019s only a single module to install, no matter what service you\u2019re using.<\/li>\n<li>A new Push class that integrates with the latest <a href=\"https:\/\/github.com\/phonegap\/phonegap-plugin-push\" target=\"_blank\">phonegap-plugin-push<\/a> and provides a consistent interface between iOS and Android.<\/li>\n<li>A new User model that puts you in control of your users and even gives you the ability to store your own custom data.<\/li>\n<\/ul>\n<h3>How do I get started?<\/h3>\n<p>First of all, update your CLI:<\/p>\n<pre><code>npm install -g ionic\n<\/code><\/pre>\n<p>Now, check out our <a href=\"http:\/\/docs.ionic.io\" target=\"_blank\">new docs<\/a>, and jump in!<\/p>\n<h3>So, what\u2019s next?<\/h3>\n<p>Looking forward, we\u2019re going fully heads down to document and expand the Platform APIs. We want to give our docs some love, to make sure the Ionic Platform is as easy to jump into as the Ionic Framework.<\/p>\n<p>Oh, and one more thing. We\u2019re gift-wrapping a special <em>package<\/em> for our Ionic Platform users, and we can\u2019t wait to tell you all about it! Keep an eye on the blog to be the first to know what we\u2019ve got up our sleeves!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Welcome to the latest installment of the Ionic Bonds series, with regular updates on Ionic\u2019s Platform Services. The latest batch of updates for the Ionic Platform have landed, and I am very excited to introduce the new web client! This new service module has a lot going for it: future-proofed ECMAScript 6 support, no dependencies, [&hellip;]<\/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":[1],"tags":[6,3,4],"class_list":["post-638","post","type-post","status-publish","format-standard","hentry","category-all","tag-cloud","tag-ionic","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>Ionic Bonds: Introducing the New Web Client - 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\/ionic-bonds-introducing-the-new-web-client\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ionic Bonds: Introducing the New Web Client\" \/>\n<meta property=\"og:description\" content=\"Welcome to the latest installment of the Ionic Bonds series, with regular updates on Ionic\u2019s Platform Services. The latest batch of updates for the Ionic Platform have landed, and I am very excited to introduce the new web client! This new service module has a lot going for it: future-proofed ECMAScript 6 support, no dependencies, [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/ionic.io\/blog\/ionic-bonds-introducing-the-new-web-client\" \/>\n<meta property=\"og:site_name\" content=\"Ionic Blog\" \/>\n<meta property=\"article:published_time\" content=\"2015-10-01T17:51:38+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2016-03-09T17:06:56+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2015\/10\/ionic-io-init-animation.gif\" \/>\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=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/ionic.io\/blog\/ionic-bonds-introducing-the-new-web-client#article\",\"isPartOf\":{\"@id\":\"https:\/\/ionic.io\/blog\/ionic-bonds-introducing-the-new-web-client\"},\"author\":{\"name\":\"Max Lynch\",\"@id\":\"https:\/\/ionic.io\/blog\/#\/schema\/person\/91f360cffbd804a464b0c4a87b5c5f1e\"},\"headline\":\"Ionic Bonds: Introducing the New Web Client\",\"datePublished\":\"2015-10-01T17:51:38+00:00\",\"dateModified\":\"2016-03-09T17:06:56+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/ionic.io\/blog\/ionic-bonds-introducing-the-new-web-client\"},\"wordCount\":456,\"commentCount\":33,\"publisher\":{\"@id\":\"https:\/\/ionic.io\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/ionic.io\/blog\/ionic-bonds-introducing-the-new-web-client#primaryimage\"},\"thumbnailUrl\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2015\/10\/ionic-io-init-animation.gif\",\"keywords\":[\"Cloud\",\"Ionic\",\"Top Posts\"],\"articleSection\":[\"All\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/ionic.io\/blog\/ionic-bonds-introducing-the-new-web-client#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/ionic.io\/blog\/ionic-bonds-introducing-the-new-web-client\",\"url\":\"https:\/\/ionic.io\/blog\/ionic-bonds-introducing-the-new-web-client\",\"name\":\"Ionic Bonds: Introducing the New Web Client - Ionic Blog\",\"isPartOf\":{\"@id\":\"https:\/\/ionic.io\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/ionic.io\/blog\/ionic-bonds-introducing-the-new-web-client#primaryimage\"},\"image\":{\"@id\":\"https:\/\/ionic.io\/blog\/ionic-bonds-introducing-the-new-web-client#primaryimage\"},\"thumbnailUrl\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2015\/10\/ionic-io-init-animation.gif\",\"datePublished\":\"2015-10-01T17:51:38+00:00\",\"dateModified\":\"2016-03-09T17:06:56+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/ionic.io\/blog\/ionic-bonds-introducing-the-new-web-client#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/ionic.io\/blog\/ionic-bonds-introducing-the-new-web-client\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/ionic.io\/blog\/ionic-bonds-introducing-the-new-web-client#primaryimage\",\"url\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2015\/10\/ionic-io-init-animation.gif\",\"contentUrl\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2015\/10\/ionic-io-init-animation.gif\",\"width\":1400,\"height\":500},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/ionic.io\/blog\/ionic-bonds-introducing-the-new-web-client#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/ionic.io\/blog\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ionic Bonds: Introducing the New Web Client\"}]},{\"@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":"Ionic Bonds: Introducing the New Web Client - 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\/ionic-bonds-introducing-the-new-web-client","og_locale":"en_US","og_type":"article","og_title":"Ionic Bonds: Introducing the New Web Client","og_description":"Welcome to the latest installment of the Ionic Bonds series, with regular updates on Ionic\u2019s Platform Services. The latest batch of updates for the Ionic Platform have landed, and I am very excited to introduce the new web client! This new service module has a lot going for it: future-proofed ECMAScript 6 support, no dependencies, [&hellip;]","og_url":"https:\/\/ionic.io\/blog\/ionic-bonds-introducing-the-new-web-client","og_site_name":"Ionic Blog","article_published_time":"2015-10-01T17:51:38+00:00","article_modified_time":"2016-03-09T17:06:56+00:00","og_image":[{"url":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2015\/10\/ionic-io-init-animation.gif"}],"author":"Max Lynch","twitter_card":"summary_large_image","twitter_creator":"@maxlynch","twitter_site":"@ionicframework","twitter_misc":{"Written by":"Max Lynch","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/ionic.io\/blog\/ionic-bonds-introducing-the-new-web-client#article","isPartOf":{"@id":"https:\/\/ionic.io\/blog\/ionic-bonds-introducing-the-new-web-client"},"author":{"name":"Max Lynch","@id":"https:\/\/ionic.io\/blog\/#\/schema\/person\/91f360cffbd804a464b0c4a87b5c5f1e"},"headline":"Ionic Bonds: Introducing the New Web Client","datePublished":"2015-10-01T17:51:38+00:00","dateModified":"2016-03-09T17:06:56+00:00","mainEntityOfPage":{"@id":"https:\/\/ionic.io\/blog\/ionic-bonds-introducing-the-new-web-client"},"wordCount":456,"commentCount":33,"publisher":{"@id":"https:\/\/ionic.io\/blog\/#organization"},"image":{"@id":"https:\/\/ionic.io\/blog\/ionic-bonds-introducing-the-new-web-client#primaryimage"},"thumbnailUrl":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2015\/10\/ionic-io-init-animation.gif","keywords":["Cloud","Ionic","Top Posts"],"articleSection":["All"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/ionic.io\/blog\/ionic-bonds-introducing-the-new-web-client#respond"]}]},{"@type":"WebPage","@id":"https:\/\/ionic.io\/blog\/ionic-bonds-introducing-the-new-web-client","url":"https:\/\/ionic.io\/blog\/ionic-bonds-introducing-the-new-web-client","name":"Ionic Bonds: Introducing the New Web Client - Ionic Blog","isPartOf":{"@id":"https:\/\/ionic.io\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/ionic.io\/blog\/ionic-bonds-introducing-the-new-web-client#primaryimage"},"image":{"@id":"https:\/\/ionic.io\/blog\/ionic-bonds-introducing-the-new-web-client#primaryimage"},"thumbnailUrl":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2015\/10\/ionic-io-init-animation.gif","datePublished":"2015-10-01T17:51:38+00:00","dateModified":"2016-03-09T17:06:56+00:00","breadcrumb":{"@id":"https:\/\/ionic.io\/blog\/ionic-bonds-introducing-the-new-web-client#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/ionic.io\/blog\/ionic-bonds-introducing-the-new-web-client"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ionic.io\/blog\/ionic-bonds-introducing-the-new-web-client#primaryimage","url":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2015\/10\/ionic-io-init-animation.gif","contentUrl":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2015\/10\/ionic-io-init-animation.gif","width":1400,"height":500},{"@type":"BreadcrumbList","@id":"https:\/\/ionic.io\/blog\/ionic-bonds-introducing-the-new-web-client#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/ionic.io\/blog"},{"@type":"ListItem","position":2,"name":"Ionic Bonds: Introducing the New Web Client"}]},{"@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\/638","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=638"}],"version-history":[{"count":0,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/posts\/638\/revisions"}],"wp:attachment":[{"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/media?parent=638"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/categories?post=638"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/tags?post=638"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}