{"id":6184,"date":"2018-10-22T02:00:35","date_gmt":"2018-10-22T09:00:35","guid":{"rendered":"http:\/\/softwareengineeringdaily.com\/?p=6184"},"modified":"2021-11-01T09:31:52","modified_gmt":"2021-11-01T16:31:52","slug":"google-javascript-with-malte-ubl","status":"publish","type":"post","link":"https:\/\/softwareengineeringdaily.com\/2018\/10\/22\/google-javascript-with-malte-ubl\/","title":{"rendered":"Google JavaScript with Malte Ubl"},"content":{"rendered":"<p><img decoding=\"async\" data-attachment-id=\"2475\" data-permalink=\"https:\/\/softwareengineeringdaily.com\/2016\/04\/19\/googles-container-management-brendan-burns\/brendan-burns\/\" data-orig-file=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2016\/04\/brendan-burns.jpg?fit=175%2C175&amp;ssl=1\" data-orig-size=\"175,175\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"brendan-burns\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2016\/04\/brendan-burns.jpg?fit=175%2C175&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2016\/04\/brendan-burns.jpg?fit=175%2C175&amp;ssl=1\" class=\"alignright size-full wp-image-2475\" style=\"border-radius: 50%; border: 1px solid #000000; max-width: 175px; max-height: 175px;\" src=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2018\/10\/malteubl.jpg?resize=175%2C175&#038;ssl=1\" width=\"175\" height=\"175\" data-recalc-dims=\"1\" \/><\/p>\n<p><span style=\"font-weight: 400;\">Google Search is a highly interactive JavaScript application. As you enter a query, results are being automatically suggested to you before you even finish typing. When you press enter, some of your search results may be widgets that represent the weather, the price of a stock, a recipe for green bean soup, or a language translation for a phrase. These complex frontend components are loading dynamically&#8211;the Google Search application cannot prefetch every single possible widget that you might ask for&#8211;but the results do load very quickly.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Google has many other examples of advanced JavaScript engineering. The company is mostly known for backend engineering inventions like MapReduce, TensorFlow, Dremel, and Spanner. To turn these backend tools into user facing products, Google develops its own JavaScript frameworks and infrastructure to deliver information from the backend to the frontend.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u201cBackend\u201d and \u201cfrontend\u201d are not precise terms. At Google, there are so many layers of infrastructure between a user and the data center. If you are an engineer working on a service at Google, you probably have several \u201cfrontends\u201d and \u201cbackends\u201d on either side of you.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Malte Ubl is a senior staff engineer at Google. He\u2019s heavily involved in Google\u2019s JavaScript infrastructure, and has written about <\/span><a href=\"https:\/\/medium.com\/@cramforce\/designing-very-large-javascript-applications-6e013a3291a3\"><span style=\"font-weight: 400;\">managing large JavaScript applications<\/span><\/a><span style=\"font-weight: 400;\"> in detail. He also works on AMP, an open-source project for delivering web pages in a fast, performant format. He joins the show to describe Google\u2019s history with JavaScript frameworks, the process of building frontends and middleware to deliver JavaScript applications, and the engineering behind AMP. <\/span><span style=\"font-weight: 400;\">There are criticisms of AMP, but some of them misunderstand how the AMP technology actually works. \u00a0AMP allows pages to be cached, prefetched, and served to a user more quickly. AMP does not necessarily centralize pages around being served from Google Search. <\/span><a href=\"https:\/\/www.reddit.com\/r\/changelog\/comments\/53q42z\/read_reddit_faster_via_google_with_amp\/\"><span style=\"font-weight: 400;\">A good example of AMP speeding up pages outside of Google is reddit<\/span><\/a><span style=\"font-weight: 400;\">.<\/span><\/p>\n<p><i><span style=\"font-weight: 400;\">We recently launched a new podcast: Fintech Daily! Fintech Daily is about payments, cryptocurrencies, trading, and the intersection between finance and technology. You can find it on <a href=\"http:\/\/fintechdaily.co\/\">fintechdaily.co<\/a> or Apple and Google podcasts. We are looking for other hosts who want to participate. If you are interested in becoming a host, send us an email: host@fintechdaily.co<\/span><\/i><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Google Search is a highly interactive JavaScript application. As you enter a query, results are being automatically suggested to you before you even finish typing. When you press enter, some of your search results may be widgets that represent the weather, the price of a stock, a recipe for green bean soup, or a language<\/p>\n","protected":false},"author":16,"featured_media":6188,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"Google JavaScript with Malte Ubl @cramforce @Google #JavaScript #AMP #GoogleSearch","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false}}},"categories":[1363,2143,1069,1084,14],"tags":[43,2483,2485,10,2439,2484],"class_list":["post-6184","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-all-episodes","category-exclusive-content","category-greatest-hits","category-javascript","category-podcast","tag-google","tag-google-amp","tag-google-search","tag-javascript","tag-javascript-engines","tag-malte-ubl"],"jetpack_publicize_connections":[],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Google JavaScript with Malte Ubl - Software Engineering Daily<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"http:\/\/softwareengineeringdaily.com\/2018\/10\/22\/google-javascript-with-malte-ubl\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Google JavaScript with Malte Ubl - Software Engineering Daily\" \/>\n<meta property=\"og:description\" content=\"Google Search is a highly interactive JavaScript application. As you enter a query, results are being automatically suggested to you before you even finish typing. When you press enter, some of your search results may be widgets that represent the weather, the price of a stock, a recipe for green bean soup, or a language\" \/>\n<meta property=\"og:url\" content=\"http:\/\/softwareengineeringdaily.com\/2018\/10\/22\/google-javascript-with-malte-ubl\/\" \/>\n<meta property=\"og:site_name\" content=\"Software Engineering Daily\" \/>\n<meta property=\"article:published_time\" content=\"2018-10-22T09:00:35+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-11-01T16:31:52+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2018\/10\/amp_js.png?fit=4500%2C4500\" \/>\n\t<meta property=\"og:image:width\" content=\"4500\" \/>\n\t<meta property=\"og:image:height\" content=\"4500\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"SE Daily\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@software_daily\" \/>\n<meta name=\"twitter:site\" content=\"@software_daily\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"SE Daily\" \/>\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\":\"http:\/\/softwareengineeringdaily.com\/2018\/10\/22\/google-javascript-with-malte-ubl\/#article\",\"isPartOf\":{\"@id\":\"http:\/\/softwareengineeringdaily.com\/2018\/10\/22\/google-javascript-with-malte-ubl\/\"},\"author\":{\"name\":\"SE Daily\",\"@id\":\"https:\/\/softwareengineeringdaily.com\/#\/schema\/person\/9d521a3950512958a3bd9b49ac0f1000\"},\"headline\":\"Google JavaScript with Malte Ubl\",\"datePublished\":\"2018-10-22T09:00:35+00:00\",\"dateModified\":\"2021-11-01T16:31:52+00:00\",\"mainEntityOfPage\":{\"@id\":\"http:\/\/softwareengineeringdaily.com\/2018\/10\/22\/google-javascript-with-malte-ubl\/\"},\"wordCount\":374,\"publisher\":{\"@id\":\"https:\/\/softwareengineeringdaily.com\/#organization\"},\"image\":{\"@id\":\"http:\/\/softwareengineeringdaily.com\/2018\/10\/22\/google-javascript-with-malte-ubl\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2018\/10\/amp_js.png?fit=4500%2C4500&ssl=1\",\"keywords\":[\"Google\",\"Google AMP\",\"Google Search\",\"JavaScript\",\"JavaScript Engines\",\"Malte Ubl\"],\"articleSection\":[\"All Content\",\"Exclusive Content\",\"Greatest Hits\",\"JavaScript\",\"Podcast\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"http:\/\/softwareengineeringdaily.com\/2018\/10\/22\/google-javascript-with-malte-ubl\/\",\"url\":\"http:\/\/softwareengineeringdaily.com\/2018\/10\/22\/google-javascript-with-malte-ubl\/\",\"name\":\"Google JavaScript with Malte Ubl - Software Engineering Daily\",\"isPartOf\":{\"@id\":\"https:\/\/softwareengineeringdaily.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"http:\/\/softwareengineeringdaily.com\/2018\/10\/22\/google-javascript-with-malte-ubl\/#primaryimage\"},\"image\":{\"@id\":\"http:\/\/softwareengineeringdaily.com\/2018\/10\/22\/google-javascript-with-malte-ubl\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2018\/10\/amp_js.png?fit=4500%2C4500&ssl=1\",\"datePublished\":\"2018-10-22T09:00:35+00:00\",\"dateModified\":\"2021-11-01T16:31:52+00:00\",\"breadcrumb\":{\"@id\":\"http:\/\/softwareengineeringdaily.com\/2018\/10\/22\/google-javascript-with-malte-ubl\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\/\/softwareengineeringdaily.com\/2018\/10\/22\/google-javascript-with-malte-ubl\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"http:\/\/softwareengineeringdaily.com\/2018\/10\/22\/google-javascript-with-malte-ubl\/#primaryimage\",\"url\":\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2018\/10\/amp_js.png?fit=4500%2C4500&ssl=1\",\"contentUrl\":\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2018\/10\/amp_js.png?fit=4500%2C4500&ssl=1\",\"width\":4500,\"height\":4500},{\"@type\":\"BreadcrumbList\",\"@id\":\"http:\/\/softwareengineeringdaily.com\/2018\/10\/22\/google-javascript-with-malte-ubl\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/softwareengineeringdaily.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Google JavaScript with Malte Ubl\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/softwareengineeringdaily.com\/#website\",\"url\":\"https:\/\/softwareengineeringdaily.com\/\",\"name\":\"Software Engineering Daily\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/softwareengineeringdaily.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/softwareengineeringdaily.com\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/softwareengineeringdaily.com\/#organization\",\"name\":\"Software Engineering Daily\",\"url\":\"https:\/\/softwareengineeringdaily.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/softwareengineeringdaily.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2024\/01\/cropped-sed_website_banner.png?fit=549%2C169&ssl=1\",\"contentUrl\":\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2024\/01\/cropped-sed_website_banner.png?fit=549%2C169&ssl=1\",\"width\":549,\"height\":169,\"caption\":\"Software Engineering Daily\"},\"image\":{\"@id\":\"https:\/\/softwareengineeringdaily.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/software_daily\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/softwareengineeringdaily.com\/#\/schema\/person\/9d521a3950512958a3bd9b49ac0f1000\",\"name\":\"SE Daily\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/softwareengineeringdaily.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/68086d3546ea765266ab442555c9fe44?s=96&d=retro&r=pg\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/68086d3546ea765266ab442555c9fe44?s=96&d=retro&r=pg\",\"caption\":\"SE Daily\"},\"url\":\"https:\/\/softwareengineeringdaily.com\/author\/carlos\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Google JavaScript with Malte Ubl - Software Engineering Daily","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":"http:\/\/softwareengineeringdaily.com\/2018\/10\/22\/google-javascript-with-malte-ubl\/","og_locale":"en_US","og_type":"article","og_title":"Google JavaScript with Malte Ubl - Software Engineering Daily","og_description":"Google Search is a highly interactive JavaScript application. As you enter a query, results are being automatically suggested to you before you even finish typing. When you press enter, some of your search results may be widgets that represent the weather, the price of a stock, a recipe for green bean soup, or a language","og_url":"http:\/\/softwareengineeringdaily.com\/2018\/10\/22\/google-javascript-with-malte-ubl\/","og_site_name":"Software Engineering Daily","article_published_time":"2018-10-22T09:00:35+00:00","article_modified_time":"2021-11-01T16:31:52+00:00","og_image":[{"width":4500,"height":4500,"url":"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2018\/10\/amp_js.png?fit=4500%2C4500","type":"image\/png"}],"author":"SE Daily","twitter_card":"summary_large_image","twitter_creator":"@software_daily","twitter_site":"@software_daily","twitter_misc":{"Written by":"SE Daily","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"http:\/\/softwareengineeringdaily.com\/2018\/10\/22\/google-javascript-with-malte-ubl\/#article","isPartOf":{"@id":"http:\/\/softwareengineeringdaily.com\/2018\/10\/22\/google-javascript-with-malte-ubl\/"},"author":{"name":"SE Daily","@id":"https:\/\/softwareengineeringdaily.com\/#\/schema\/person\/9d521a3950512958a3bd9b49ac0f1000"},"headline":"Google JavaScript with Malte Ubl","datePublished":"2018-10-22T09:00:35+00:00","dateModified":"2021-11-01T16:31:52+00:00","mainEntityOfPage":{"@id":"http:\/\/softwareengineeringdaily.com\/2018\/10\/22\/google-javascript-with-malte-ubl\/"},"wordCount":374,"publisher":{"@id":"https:\/\/softwareengineeringdaily.com\/#organization"},"image":{"@id":"http:\/\/softwareengineeringdaily.com\/2018\/10\/22\/google-javascript-with-malte-ubl\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2018\/10\/amp_js.png?fit=4500%2C4500&ssl=1","keywords":["Google","Google AMP","Google Search","JavaScript","JavaScript Engines","Malte Ubl"],"articleSection":["All Content","Exclusive Content","Greatest Hits","JavaScript","Podcast"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"http:\/\/softwareengineeringdaily.com\/2018\/10\/22\/google-javascript-with-malte-ubl\/","url":"http:\/\/softwareengineeringdaily.com\/2018\/10\/22\/google-javascript-with-malte-ubl\/","name":"Google JavaScript with Malte Ubl - Software Engineering Daily","isPartOf":{"@id":"https:\/\/softwareengineeringdaily.com\/#website"},"primaryImageOfPage":{"@id":"http:\/\/softwareengineeringdaily.com\/2018\/10\/22\/google-javascript-with-malte-ubl\/#primaryimage"},"image":{"@id":"http:\/\/softwareengineeringdaily.com\/2018\/10\/22\/google-javascript-with-malte-ubl\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2018\/10\/amp_js.png?fit=4500%2C4500&ssl=1","datePublished":"2018-10-22T09:00:35+00:00","dateModified":"2021-11-01T16:31:52+00:00","breadcrumb":{"@id":"http:\/\/softwareengineeringdaily.com\/2018\/10\/22\/google-javascript-with-malte-ubl\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["http:\/\/softwareengineeringdaily.com\/2018\/10\/22\/google-javascript-with-malte-ubl\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/softwareengineeringdaily.com\/2018\/10\/22\/google-javascript-with-malte-ubl\/#primaryimage","url":"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2018\/10\/amp_js.png?fit=4500%2C4500&ssl=1","contentUrl":"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2018\/10\/amp_js.png?fit=4500%2C4500&ssl=1","width":4500,"height":4500},{"@type":"BreadcrumbList","@id":"http:\/\/softwareengineeringdaily.com\/2018\/10\/22\/google-javascript-with-malte-ubl\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/softwareengineeringdaily.com\/"},{"@type":"ListItem","position":2,"name":"Google JavaScript with Malte Ubl"}]},{"@type":"WebSite","@id":"https:\/\/softwareengineeringdaily.com\/#website","url":"https:\/\/softwareengineeringdaily.com\/","name":"Software Engineering Daily","description":"","publisher":{"@id":"https:\/\/softwareengineeringdaily.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/softwareengineeringdaily.com\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/softwareengineeringdaily.com\/#organization","name":"Software Engineering Daily","url":"https:\/\/softwareengineeringdaily.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/softwareengineeringdaily.com\/#\/schema\/logo\/image\/","url":"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2024\/01\/cropped-sed_website_banner.png?fit=549%2C169&ssl=1","contentUrl":"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2024\/01\/cropped-sed_website_banner.png?fit=549%2C169&ssl=1","width":549,"height":169,"caption":"Software Engineering Daily"},"image":{"@id":"https:\/\/softwareengineeringdaily.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/software_daily"]},{"@type":"Person","@id":"https:\/\/softwareengineeringdaily.com\/#\/schema\/person\/9d521a3950512958a3bd9b49ac0f1000","name":"SE Daily","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/softwareengineeringdaily.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/68086d3546ea765266ab442555c9fe44?s=96&d=retro&r=pg","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/68086d3546ea765266ab442555c9fe44?s=96&d=retro&r=pg","caption":"SE Daily"},"url":"https:\/\/softwareengineeringdaily.com\/author\/carlos\/"}]}},"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2018\/10\/amp_js.png?fit=4500%2C4500&ssl=1","jetpack_shortlink":"https:\/\/wp.me\/p7GuoD-1BK","_links":{"self":[{"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/posts\/6184"}],"collection":[{"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/users\/16"}],"replies":[{"embeddable":true,"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/comments?post=6184"}],"version-history":[{"count":0,"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/posts\/6184\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/media\/6188"}],"wp:attachment":[{"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/media?parent=6184"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/categories?post=6184"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/tags?post=6184"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}