{"version":"1.0","provider_name":"Ionic Blog","provider_url":"https:\/\/ionic.io\/blog","author_name":"Max Lynch","author_url":"https:\/\/ionic.io\/blog\/author\/max","title":"Let the Framework do its job","type":"rich","width":600,"height":338,"html":"<blockquote class=\"wp-embedded-content\" data-secret=\"ZY5ZPht6Sv\"><a href=\"https:\/\/ionic.io\/blog\/let-framework-do-its-job\">Let the Framework do its job<\/a><\/blockquote><iframe sandbox=\"allow-scripts\" security=\"restricted\" src=\"https:\/\/ionic.io\/blog\/let-framework-do-its-job\/embed#?secret=ZY5ZPht6Sv\" width=\"600\" height=\"338\" title=\"&#8220;Let the Framework do its job&#8221; &#8212; Ionic Blog\" data-secret=\"ZY5ZPht6Sv\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" class=\"wp-embedded-content\"><\/iframe><script type=\"text\/javascript\">\n\/* <![CDATA[ *\/\n\/*! This file is auto-generated *\/\n!function(d,l){\"use strict\";l.querySelector&&d.addEventListener&&\"undefined\"!=typeof URL&&(d.wp=d.wp||{},d.wp.receiveEmbedMessage||(d.wp.receiveEmbedMessage=function(e){var t=e.data;if((t||t.secret||t.message||t.value)&&!\/[^a-zA-Z0-9]\/.test(t.secret)){for(var s,r,n,a=l.querySelectorAll('iframe[data-secret=\"'+t.secret+'\"]'),o=l.querySelectorAll('blockquote[data-secret=\"'+t.secret+'\"]'),c=new RegExp(\"^https?:$\",\"i\"),i=0;i<o.length;i++)o[i].style.display=\"none\";for(i=0;i<a.length;i++)s=a[i],e.source===s.contentWindow&&(s.removeAttribute(\"style\"),\"height\"===t.message?(1e3<(r=parseInt(t.value,10))?r=1e3:~~r<200&&(r=200),s.height=r):\"link\"===t.message&&(r=new URL(s.getAttribute(\"src\")),n=new URL(t.value),c.test(n.protocol))&&n.host===r.host&&l.activeElement===s&&(d.top.location.href=t.value))}},d.addEventListener(\"message\",d.wp.receiveEmbedMessage,!1),l.addEventListener(\"DOMContentLoaded\",function(){for(var e,t,s=l.querySelectorAll(\"iframe.wp-embedded-content\"),r=0;r<s.length;r++)(t=(e=s[r]).getAttribute(\"data-secret\"))||(t=Math.random().toString(36).substring(2,12),e.src+=\"#?secret=\"+t,e.setAttribute(\"data-secret\",t)),e.contentWindow.postMessage({message:\"ready\",secret:t},\"*\")},!1)))}(window,document);\n\/\/# sourceURL=https:\/\/ionic.io\/blog\/wp-includes\/js\/wp-embed.min.js\n\/* ]]> *\/\n<\/script>\n","thumbnail_url":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2018\/10\/framework-job.png","thumbnail_width":1401,"thumbnail_height":600,"description":"Over the last year or so, modern frontend frameworks have largely converged on a set of standard, recommended build tools and approaches to common frontend challenges (such as building, routing, and testing). As an opinionated UI framework, Ionic has had to do varying amounts of non-UI work in the past to support frameworks like Angular, [&hellip;]"}