{"id":24120,"date":"2015-06-16T21:01:01","date_gmt":"2015-06-16T13:01:01","guid":{"rendered":"https:\/\/www.hongkiat.com\/blog\/?p=24120"},"modified":"2024-05-27T22:06:58","modified_gmt":"2024-05-27T14:06:58","slug":"google-polymer","status":"publish","type":"post","link":"https:\/\/www.hongkiat.com\/blog\/google-polymer\/","title":{"rendered":"Explore Google Polymer: Transforming Web App Development"},"content":{"rendered":"<p>Along with <a href=\"https:\/\/www.hongkiat.com\/blog\/using-google-photos\/\">Google Photos<\/a>, Google has completely revamped <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.polymer-project.org\/1.0\/\">Polymer<\/a>, enhancing its performance and efficiency. Think of Polymer as a Software Development Kit (SDK) tailored for the Web, accelerating <strong>web application development<\/strong> through the adoption of <a rel=\"nofollow noopener\" target=\"_blank\" href=\"http:\/\/w3c.github.io\/webcomponents\/explainer\/\">Web Components<\/a>.<\/p>\n<p>Web Components enable us to <strong>create custom elements and tags for our websites<\/strong>. This post will explore how Polymer\u2019s custom elements can streamline web app development, complemented by practical demos to showcase these elements in action.<\/p>\n<h2>Understanding Web Components<\/h2>\n<p>The easiest way to grasp Web Components is by looking at existing standard elements like <code>&lt;audio&gt;<\/code>. When you insert <code>&lt;audio&gt;<\/code> along with its source URLs into a webpage, web browsers automatically render this tag as an audio player, complete with play and pause buttons, a time rail, and a volume slider. Have you ever wondered how these player controls are constructed and styled?<\/p>\n<p>These UI controls are built using a feature known as Shadow Roots, or <strong>Shadow DOM<\/strong>. To see the Shadow DOM, open <strong>Chrome DevTools<\/strong>, click on the <strong>Cog<\/strong> icon, and then select <strong>Show user agent shadow DOM<\/strong>.<\/p>\n<p>The image below displays how a stack of <code>&lt;div&gt;<\/code> and <code>&lt;input&gt;<\/code> elements secretly construct the player\u2019s UI controls.<\/p>\n<figure><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/assets.hongkiat.com\/uploads\/google-polymer\/polymer-shadow-dom.jpg\" height=\"421\" width=\"700\" alt=\"Detailed view of the Shadow DOM in Chrome illustrating player controls\"><\/figure>\n<p>With Web Components, we can also create our own custom elements. Imagine building an element like <code>&lt;twitter&gt;<\/code> to seamlessly integrate a Twitter feed, or <code>&lt;chart&gt;<\/code> to display interactive charts.<\/p>\n<p>These custom elements can support various attributes. For example, for the <code>&lt;twitter&gt;<\/code> element, you can set an attribute named <code>username<\/code>, which specifies the Twitter handle to display.<\/p>\n<pre>\r\n &lt;twitter username=\"hongkiat\"&gt;&lt;\/twitter&gt;\r\n<\/pre>\n<h2>Exploring Custom Elements in Polymer<\/h2>\n<p>Polymer offers a comprehensive suite of elements designed to meet nearly every need in web application development. Google categorizes these into several groups: Iron Elements, Paper Elements, Google Web Components, Gold Elements, Neon Elements, Platinum Elements, and Molecules.<\/p>\n<h3>1. Iron Elements<\/h3>\n<p><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.webcomponents.org\/collection\/PolymerElements\/iron-elements\">Iron Elements<\/a> comprise a set of foundational elements that are typically used to <strong>construct web pages<\/strong>, such as inputs, forms, and images. However, Polymer enhances these elements with additional capabilities.<\/p>\n<p>For instance, the <code>&lt;iron-image&gt;<\/code> element, prefixed with \u2018iron-\u2018, includes extra attributes not found in the standard <code>&lt;img&gt;<\/code> tag. These include <code>preload<\/code>, <code>fade<\/code>, and <code>placeholder<\/code> attributes, enabling features like:<\/p>\n<pre>\r\n &lt;iron-image preload fade placeholder=\"http:\/\/lorempixel.com\/600\/400\" src=\"https:\/\/www.hongkiat.com\/img\/awesome-image.jpg\"&gt;&lt;\/iron-image&gt;\r\n<\/pre>\n<p>This setup initially displays a placeholder, then smoothly transitions to the actual image as it loads, creating a pleasing visual effect.<\/p>\n<h3>2. Paper Elements<\/h3>\n<p><strong>Paper Elements<\/strong> reflect Google\u2019s Material Design approach, which aims to unify the user interface and experience across its web and Android platforms. This group includes unique Material Design components like <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/material.io\/design\/layout\/principles.html\">Paper<\/a> and <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.google.com\/design\/spec\/components\/buttons-floating-action-button.html\">Floating Action Buttons (FAB)<\/a>.<\/p>\n<p><strong>Paper<\/strong>, a metaphor for the digital canvas underlying content, can be incorporated using the <code>&lt;paper-material&gt;<\/code> element with attributes such as <code>elevation<\/code>, which adds a shadow to suggest depth, and <code>animated<\/code>, which applies animations during changes in elevation.<\/p>\n<p>The <strong>Floating Action Button (FAB)<\/strong> is a distinctive, circular button that floats on the interface, typically used for frequently accessed functions. Here\u2019s how to add it:<\/p>\n<pre>\r\n &lt;paper-material elevation=\"1\" class=\"paper\"&gt;\r\n &lt;iron-image sizing=\"cover\" src=\"img\/berries.jpg\" class=\"image\"&gt;&lt;\/iron-image&gt;\r\n &lt;paper-fab icon=\"favorite\" title=\"heart\" tabindex=\"0\" class=\"button\"&gt;&lt;\/paper-fab&gt;\r\n &lt;\/paper-material&gt;\r\n<\/pre>\n<p>This results in an engaging user interaction: a photo with a \u2018heart\u2019 button that emits a ripple effect when clicked, acknowledging the user\u2019s action.<\/p>\n<figure><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/assets.hongkiat.com\/uploads\/google-polymer\/polymer-cards-example.jpg\" height=\"450\" width=\"700\" alt=\"Interactive photo with Floating Action Button in Polymer\"><\/figure>\n<p>By clicking the \u2018heart\u2019 button, you can like the photo, enhancing the user experience with a tactile feedback effect.<\/p>\n<p><a href=\"https:\/\/hongkiat.github.io\/google-polymer\/\" class=\"su-button su-button-style-flat\" style=\"color:#FFFFFF;background-color:#2D89EF;border-color:#246ec0;border-radius:0px\" target=\"__blank\" rel=\"noopener nofollow\"><span style=\"color:#FFFFFF;padding:7px 20px;font-size:16px;line-height:24px;border-color:#6cadf4;border-radius:0px;text-shadow:none\"><i class=\"sui sui-external-link\" style=\"font-size:16px;color:#fff\"><\/i> View the Paper Demo<\/span><\/a><\/p>\n<h3>3. Google Web Components<\/h3>\n<p>Google Web Components seamlessly integrate with Google\u2019s APIs and services like Google Maps, YouTube, and Google Feed, among others. These elements simplify <strong>interactions with Google services to just a few lines of code<\/strong>.<\/p>\n<p>Here\u2019s how you can display a Google Map with the <code>&lt;google-map&gt;<\/code> element:<\/p>\n<pre>\r\n&lt;google-map latitude=\"37.422\" longitude=\"-122.084058\" zoom=\"19\"&gt;\r\n    &lt;google-map-marker latitude=\"37.422\" longitude=\"-122.084058\" draggable=\"true\"&gt;This is Googleplex&lt;\/google-map-marker&gt;\r\n&lt;\/google-map&gt;\r\n<\/pre>\n<p>As shown, the <code>&lt;google-map&gt;<\/code> element utilizes <code>latitude<\/code> and <code>longitude<\/code> parameters to pinpoint the location. A nested <code>&lt;google-map-marker&gt;<\/code> marks a specific spot and displays text when interacted with.<\/p>\n<p><a href=\"https:\/\/hongkiat.github.io\/google-polymer\/\" class=\"su-button su-button-style-flat\" style=\"color:#FFFFFF;background-color:#2D89EF;border-color:#246ec0;border-radius:0px\" target=\"__blank\" rel=\"noopener nofollow\"><span style=\"color:#FFFFFF;padding:7px 20px;font-size:16px;line-height:24px;border-color:#6cadf4;border-radius:0px;text-shadow:none\"><i class=\"sui sui-external-link\" style=\"font-size:16px;color:#fff\"><\/i> View the Map Demo<\/span><\/a><\/p>\n<p>To embed a YouTube video, simply use the <code>&lt;google-youtube&gt;<\/code> element:<\/p>\n<pre>\r\n&lt;google-youtube video-id=\"VgmyVHYV1mE\" height=\"360\" width=\"640\"&gt;&lt;\/google-youtube&gt;\r\n<\/pre>\n<p>You can tailor the element\u2019s appearance and behavior with various attributes.<\/p>\n<p><a href=\"https:\/\/hongkiat.github.io\/google-polymer\/youtube.html\" class=\"su-button su-button-style-flat\" style=\"color:#FFFFFF;background-color:#2D89EF;border-color:#246ec0;border-radius:0px\" target=\"__blank\" rel=\"noopener nofollow\"><span style=\"color:#FFFFFF;padding:7px 20px;font-size:16px;line-height:24px;border-color:#6cadf4;border-radius:0px;text-shadow:none\"><i class=\"sui sui-external-link\" style=\"font-size:16px;color:#fff\"><\/i> View the YouTube Demo<\/span><\/a><\/p>\n<h3>4. Gold Elements<\/h3>\n<p>Gold Elements are designed specifically for e-commerce applications, offering elements for displaying and validating credit card, email, phone, and ZIP code inputs to ensure accurate data entry and enhanced security. Here\u2019s an example of integrating a Visa credit card input:<\/p>\n<pre>\r\n&lt;gold-cc-cvc-input card-type=\"visa\"&gt;&lt;\/gold-cc-cvc-input&gt;\r\n<\/pre>\n<h3>5. Other Elements<\/h3>\n<p>This category includes Neon Elements for animations and special effects, Platinum Elements for enhancing offline capabilities and push notifications, and Molecules, which are wrappers for third-party libraries.<\/p>\n<p><strong>Editor\u2019s Note:<\/strong> As of this writing, Neon Elements, Platinum Elements, and Molecules are still under development.<\/p>\n<h2>How to Integrate Polymer into Your Web Projects<\/h2>\n<p>Interested in using Polymer for your web development? Here\u2019s a step-by-step guide to installing and integrating it into your web pages. Since many Polymer elements are interdependent, the most efficient way to install Polymer is through Bower.<\/p>\n<p>Bower is a project dependencies manager that simplifies the installation of scripts or styles necessary for running your project. For more information on Bower, check out our previous post on <a href=\"https:\/\/www.hongkiat.com\/blog\/bower-package-manager\/\">how to install, update & remove web libraries easily with Bower<\/a>.<\/p>\n<p>To start with Polymer, open your Terminal, navigate to your project directory (create one if you haven\u2019t already), and run the <code>bower init<\/code> command to create a bower.json file. This file will manage your project\u2019s dependencies. Add the following lines to your bower.json:<\/p>\n<pre>\r\n\"dependencies\": {\r\n  \"polymer\": \"Polymer\/polymer#^1.0.0\",\r\n  \"google-web-components\": \"GoogleWebComponents\/google-web-components#^1.0.0\",\r\n  \"iron-elements\": \"PolymerElements\/iron-elements#^1.0.0\",\r\n  \"paper-elements\": \"PolymerElements\/paper-elements#^1.0.0\",\r\n  \"gold-elements\": \"PolymerElements\/gold-elements#^1.0.0\"\r\n}\r\n<\/pre>\n<p>This configuration includes all the necessary elements from each group. Feel free to modify the dependency list by removing any elements you don\u2019t need. Once your dependencies are configured, execute the <code>bower install<\/code> command to install them.<\/p>\n<figure><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/assets.hongkiat.com\/uploads\/google-polymer\/polymer-bower-install.jpg\" height=\"450\" width=\"700\" alt=\"Installing Polymer dependencies with Bower\"><\/figure>\n<p>The installation process may take some time, as it involves downloading numerous files from the repositories. When complete, the files will be located in the <strong>bower_components<\/strong> folder.<\/p>\n<figure><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/assets.hongkiat.com\/uploads\/google-polymer\/polymer-bower-installed.jpg\" height=\"480\" width=\"700\" alt=\"Files successfully installed in the bower_components folder\"><\/figure>\n<p>To utilize Polymer components in your HTML file, open the document head and <strong>link the WebComponents.js<\/strong> polyfill for browsers that do not yet support Web Components, and <strong>import the component files<\/strong> using <a href=\"https:\/\/www.hongkiat.com\/blog\/html-import\/\">HTML Import<\/a>.<\/p>\n<p>Here\u2019s an example:<\/p>\n<pre>\r\n&lt;head&gt;\r\n  &lt;script src=\"bower_components\/webcomponentsjs\/webcomponents.js\"&gt;&lt;\/script&gt;\r\n  &lt;link rel=\"import\" href=\"bower_components\/iron-image\/iron-image.html\"&gt;\r\n  &lt;link rel=\"import\" href=\"bower_components\/paper-fab\/paper-fab.html\"&gt;\r\n  &lt;link rel=\"import\" href=\"bower_components\/google-map\/google-map.html\"&gt;\r\n&lt;\/head&gt;\r\n<\/pre>\n<p>This setup allows you to incorporate elements such as <code>&lt;iron-image&gt;<\/code>, <code>&lt;paper-fab&gt;<\/code>, and <code>&lt;google-map&gt;<\/code> into your web pages.<\/p>\n<h2>Concluding Thoughts on Polymer<\/h2>\n<p>Polymer offers extensive capabilities and may require some time to fully grasp its custom elements and API. However, Web Components and Polymer are set to significantly shape the future of web application development. To stay ahead, continue exploring Web Components through the resources listed below.<\/p>\n<p><a href=\"https:\/\/hongkiat.github.io\/google-polymer\/\" class=\"su-button su-button-style-flat\" style=\"color:#FFFFFF;background-color:#2D89EF;border-color:#246ec0;border-radius:0px\" target=\"__blank\" rel=\"noopener nofollow\"><span style=\"color:#FFFFFF;padding:7px 20px;font-size:16px;line-height:24px;border-color:#6cadf4;border-radius:0px;text-shadow:none\"><i class=\"sui sui-external-link\" style=\"font-size:16px;color:#fff\"><\/i> View Demo<\/span><\/a>\n<a href=\"https:\/\/github.com\/hongkiat\/google-polymer\/\" class=\"su-button su-button-style-flat\" style=\"color:#FFFFFF;background-color:#2D89EF;border-color:#246ec0;border-radius:0px\" target=\"__blank\" rel=\"noopener nofollow\"><span style=\"color:#FFFFFF;padding:7px 20px;font-size:16px;line-height:24px;border-color:#6cadf4;border-radius:0px;text-shadow:none\"><i class=\"sui sui-external-link\" style=\"font-size:16px;color:#fff\"><\/i> Download Source<\/span><\/a><\/p>\n<h2>Recommended Reading<\/h2>\n<ul>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/hacks.mozilla.org\/2015\/06\/the-state-of-web-components\/\">The State of Web Components<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.smashingmagazine.com\/2014\/03\/04\/introduction-to-custom-elements\/\">A Detailed Introduction To Custom Elements<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.polymer-project.org\/blog\/\">Official Blog of Google Polymer<\/a><\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>Along with Google Photos, Google has completely revamped Polymer, enhancing its performance and efficiency. Think of Polymer as a Software Development Kit (SDK) tailored for the Web, accelerating web application development through the adoption of Web Components. Web Components enable us to create custom elements and tags for our websites. This post will explore how&hellip;<\/p>\n","protected":false},"author":113,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[3393],"tags":[2856,37,3214,511],"topic":[4520],"class_list":["entry-content","is-maxi"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v22.8 (Yoast SEO v27.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Explore Google Polymer: Transforming Web App Development - Hongkiat<\/title>\n<meta name=\"description\" content=\"Along with Google Photos, Google has completely revamped Polymer, enhancing its performance and efficiency. Think of Polymer as a Software Development Kit\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.hongkiat.com\/blog\/google-polymer\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Explore Google Polymer: Transforming Web App Development\" \/>\n<meta property=\"og:description\" content=\"Along with Google Photos, Google has completely revamped Polymer, enhancing its performance and efficiency. Think of Polymer as a Software Development Kit\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.hongkiat.com\/blog\/google-polymer\/\" \/>\n<meta property=\"og:site_name\" content=\"Hongkiat\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/hongkiatcom\" \/>\n<meta property=\"article:published_time\" content=\"2015-06-16T13:01:01+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-05-27T14:06:58+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/assets.hongkiat.com\/uploads\/google-polymer\/polymer-shadow-dom.jpg\" \/>\n<meta name=\"author\" content=\"Thoriq Firdaus\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@tfirdaus\" \/>\n<meta name=\"twitter:site\" content=\"@hongkiat\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Thoriq Firdaus\" \/>\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:\\\/\\\/www.hongkiat.com\\\/blog\\\/google-polymer\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/google-polymer\\\/\"},\"author\":{\"name\":\"Thoriq Firdaus\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#\\\/schema\\\/person\\\/e7948c7a175d211496331e4b6ce55807\"},\"headline\":\"Explore Google Polymer: Transforming Web App Development\",\"datePublished\":\"2015-06-16T13:01:01+00:00\",\"dateModified\":\"2024-05-27T14:06:58+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/google-polymer\\\/\"},\"wordCount\":1139,\"commentCount\":19,\"publisher\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/google-polymer\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/assets.hongkiat.com\\\/uploads\\\/google-polymer\\\/polymer-shadow-dom.jpg\",\"keywords\":[\"Dev Tools\",\"Google\",\"Mobile App Development\",\"Web Developers\"],\"articleSection\":[\"Toolkit\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/google-polymer\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/google-polymer\\\/\",\"url\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/google-polymer\\\/\",\"name\":\"Explore Google Polymer: Transforming Web App Development - Hongkiat\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/google-polymer\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/google-polymer\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/assets.hongkiat.com\\\/uploads\\\/google-polymer\\\/polymer-shadow-dom.jpg\",\"datePublished\":\"2015-06-16T13:01:01+00:00\",\"dateModified\":\"2024-05-27T14:06:58+00:00\",\"description\":\"Along with Google Photos, Google has completely revamped Polymer, enhancing its performance and efficiency. Think of Polymer as a Software Development Kit\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/google-polymer\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/google-polymer\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/google-polymer\\\/#primaryimage\",\"url\":\"https:\\\/\\\/assets.hongkiat.com\\\/uploads\\\/google-polymer\\\/polymer-shadow-dom.jpg\",\"contentUrl\":\"https:\\\/\\\/assets.hongkiat.com\\\/uploads\\\/google-polymer\\\/polymer-shadow-dom.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/google-polymer\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Explore Google Polymer: Transforming Web App Development\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/\",\"name\":\"Hongkiat\",\"description\":\"Tech and Design Tips\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#organization\",\"name\":\"Hongkiat.com\",\"url\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/wp-content\\\/uploads\\\/hkdc-logo-rect-yoast.jpg\",\"contentUrl\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/wp-content\\\/uploads\\\/hkdc-logo-rect-yoast.jpg\",\"width\":1200,\"height\":799,\"caption\":\"Hongkiat.com\"},\"image\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/hongkiatcom\",\"https:\\\/\\\/x.com\\\/hongkiat\",\"https:\\\/\\\/www.pinterest.com\\\/hongkiat\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#\\\/schema\\\/person\\\/e7948c7a175d211496331e4b6ce55807\",\"name\":\"Thoriq Firdaus\",\"description\":\"Thoriq is a writer for Hongkiat.com with a passion for web design and development. He is the author of Responsive Web Design by Examples, where he covered his best approaches in developing responsive websites quickly with a framework.\",\"sameAs\":[\"https:\\\/\\\/thoriq.com\",\"https:\\\/\\\/x.com\\\/tfirdaus\"],\"jobTitle\":\"Web Developer\",\"url\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/author\\\/thoriq\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Explore Google Polymer: Transforming Web App Development - Hongkiat","description":"Along with Google Photos, Google has completely revamped Polymer, enhancing its performance and efficiency. Think of Polymer as a Software Development Kit","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:\/\/www.hongkiat.com\/blog\/google-polymer\/","og_locale":"en_US","og_type":"article","og_title":"Explore Google Polymer: Transforming Web App Development","og_description":"Along with Google Photos, Google has completely revamped Polymer, enhancing its performance and efficiency. Think of Polymer as a Software Development Kit","og_url":"https:\/\/www.hongkiat.com\/blog\/google-polymer\/","og_site_name":"Hongkiat","article_publisher":"https:\/\/www.facebook.com\/hongkiatcom","article_published_time":"2015-06-16T13:01:01+00:00","article_modified_time":"2024-05-27T14:06:58+00:00","og_image":[{"url":"https:\/\/assets.hongkiat.com\/uploads\/google-polymer\/polymer-shadow-dom.jpg","type":"","width":"","height":""}],"author":"Thoriq Firdaus","twitter_card":"summary_large_image","twitter_creator":"@tfirdaus","twitter_site":"@hongkiat","twitter_misc":{"Written by":"Thoriq Firdaus","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.hongkiat.com\/blog\/google-polymer\/#article","isPartOf":{"@id":"https:\/\/www.hongkiat.com\/blog\/google-polymer\/"},"author":{"name":"Thoriq Firdaus","@id":"https:\/\/www.hongkiat.com\/blog\/#\/schema\/person\/e7948c7a175d211496331e4b6ce55807"},"headline":"Explore Google Polymer: Transforming Web App Development","datePublished":"2015-06-16T13:01:01+00:00","dateModified":"2024-05-27T14:06:58+00:00","mainEntityOfPage":{"@id":"https:\/\/www.hongkiat.com\/blog\/google-polymer\/"},"wordCount":1139,"commentCount":19,"publisher":{"@id":"https:\/\/www.hongkiat.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.hongkiat.com\/blog\/google-polymer\/#primaryimage"},"thumbnailUrl":"https:\/\/assets.hongkiat.com\/uploads\/google-polymer\/polymer-shadow-dom.jpg","keywords":["Dev Tools","Google","Mobile App Development","Web Developers"],"articleSection":["Toolkit"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.hongkiat.com\/blog\/google-polymer\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.hongkiat.com\/blog\/google-polymer\/","url":"https:\/\/www.hongkiat.com\/blog\/google-polymer\/","name":"Explore Google Polymer: Transforming Web App Development - Hongkiat","isPartOf":{"@id":"https:\/\/www.hongkiat.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.hongkiat.com\/blog\/google-polymer\/#primaryimage"},"image":{"@id":"https:\/\/www.hongkiat.com\/blog\/google-polymer\/#primaryimage"},"thumbnailUrl":"https:\/\/assets.hongkiat.com\/uploads\/google-polymer\/polymer-shadow-dom.jpg","datePublished":"2015-06-16T13:01:01+00:00","dateModified":"2024-05-27T14:06:58+00:00","description":"Along with Google Photos, Google has completely revamped Polymer, enhancing its performance and efficiency. Think of Polymer as a Software Development Kit","breadcrumb":{"@id":"https:\/\/www.hongkiat.com\/blog\/google-polymer\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.hongkiat.com\/blog\/google-polymer\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.hongkiat.com\/blog\/google-polymer\/#primaryimage","url":"https:\/\/assets.hongkiat.com\/uploads\/google-polymer\/polymer-shadow-dom.jpg","contentUrl":"https:\/\/assets.hongkiat.com\/uploads\/google-polymer\/polymer-shadow-dom.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/www.hongkiat.com\/blog\/google-polymer\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.hongkiat.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Explore Google Polymer: Transforming Web App Development"}]},{"@type":"WebSite","@id":"https:\/\/www.hongkiat.com\/blog\/#website","url":"https:\/\/www.hongkiat.com\/blog\/","name":"Hongkiat","description":"Tech and Design Tips","publisher":{"@id":"https:\/\/www.hongkiat.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.hongkiat.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.hongkiat.com\/blog\/#organization","name":"Hongkiat.com","url":"https:\/\/www.hongkiat.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.hongkiat.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.hongkiat.com\/blog\/wp-content\/uploads\/hkdc-logo-rect-yoast.jpg","contentUrl":"https:\/\/www.hongkiat.com\/blog\/wp-content\/uploads\/hkdc-logo-rect-yoast.jpg","width":1200,"height":799,"caption":"Hongkiat.com"},"image":{"@id":"https:\/\/www.hongkiat.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/hongkiatcom","https:\/\/x.com\/hongkiat","https:\/\/www.pinterest.com\/hongkiat\/"]},{"@type":"Person","@id":"https:\/\/www.hongkiat.com\/blog\/#\/schema\/person\/e7948c7a175d211496331e4b6ce55807","name":"Thoriq Firdaus","description":"Thoriq is a writer for Hongkiat.com with a passion for web design and development. He is the author of Responsive Web Design by Examples, where he covered his best approaches in developing responsive websites quickly with a framework.","sameAs":["https:\/\/thoriq.com","https:\/\/x.com\/tfirdaus"],"jobTitle":"Web Developer","url":"https:\/\/www.hongkiat.com\/blog\/author\/thoriq\/"}]}},"jetpack_featured_media_url":"https:\/\/","jetpack_shortlink":"https:\/\/wp.me\/p4uxU-6h2","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/posts\/24120","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/users\/113"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/comments?post=24120"}],"version-history":[{"count":4,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/posts\/24120\/revisions"}],"predecessor-version":[{"id":71994,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/posts\/24120\/revisions\/71994"}],"wp:attachment":[{"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/media?parent=24120"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/categories?post=24120"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/tags?post=24120"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/topic?post=24120"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}