{"version":"1.0","provider_name":"inovex GmbH","provider_url":"https:\/\/www.inovex.de\/de\/","author_name":"Jan Freymann","author_url":"https:\/\/www.inovex.de\/de\/blog\/author\/jfreymann\/","title":"Kotlin Multiplatform for Clean Architecture - inovex GmbH","type":"rich","width":600,"height":338,"html":"<blockquote class=\"wp-embedded-content\" data-secret=\"qRwOsLKED3\"><a href=\"https:\/\/www.inovex.de\/de\/blog\/kotlin-multiplatform-for-clean-architecture\/\">Kotlin Multiplatform for Clean Architecture<\/a><\/blockquote><iframe sandbox=\"allow-scripts\" security=\"restricted\" src=\"https:\/\/www.inovex.de\/de\/blog\/kotlin-multiplatform-for-clean-architecture\/embed\/#?secret=qRwOsLKED3\" width=\"600\" height=\"338\" title=\"&#8222;Kotlin Multiplatform for Clean Architecture&#8220; &#8211; inovex GmbH\" data-secret=\"qRwOsLKED3\" 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:\/\/www.inovex.de\/wp-includes\/js\/wp-embed.min.js\n\/* ]]> *\/\n<\/script>\n","thumbnail_url":"https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/08\/Kotlin-Multiplatform-hero.png","thumbnail_width":1920,"thumbnail_height":1080,"description":"As mobile developers, we often rewrite the same logic in a different language, having to maintain two similar codebases for Android and iOS. Wouldn\u2019t it be nice to write Kotlin once and compile it everywhere? Enter Kotlin Multiplatform, enabling us to write the same code for the JVM as well as LLVM!"}