[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"node-by-slug-\u002Fen\u002Finsights\u002Fkotlin-multiplatform-simplifying-cross-platform-app-development-en":3,"related-content-view":585},["Reactive",4],{"entity":5,"errors":-1},{"__typename":6,"status":7,"metatag":8,"id":202,"path":203,"title":204,"translations":205,"sharedHeaderRefMedia":209,"sharedTeaserTitle":13,"sharedTeaserText":238,"sharedTeaserRefMedia":240,"sharedParagraphs":242,"sharedTaxrefIndustries":559,"sharedTaxrefExpertises":563,"sharedIntroText":211,"sharedCtaLink":211,"sharedDate":573,"sharedAuthor":575},"NodeInsight",true,[9,14,18,21,25,30,34,38,42,46,50,54,58,62,66,69,73,76,79,81,84,87,91,95,99,103,107,111,115,119,123,127,131,135,139,142,145,148,151,154,157,160,163,166,170,174,177,181,185,189,192,196,200],{"tag":10,"attributes":11},"meta",{"name":12,"content":13},"title","Kotlin Multiplatform simplifies cross-platform app dev",{"tag":10,"attributes":15},{"name":16,"content":17},"description","Looking for greater compatibility, flexibility, efficiency, and ease of adoption for cross-platform mobile app development? Read on for an engineer’s take on Kotlin Multiplatform Mobile (KMM) and how it works.",{"tag":10,"attributes":19},{"name":20,"content":17},"abstract",{"tag":10,"attributes":22},{"name":23,"content":24},"icbm","51.525772, -0.082716",{"tag":26,"attributes":27},"link",{"rel":28,"href":29},"canonical","https:\u002F\u002Fcms.zuehlke.com\u002Fen\u002Finsights\u002Fkotlin-multiplatform-simplifying-cross-platform-app-development",{"tag":10,"attributes":31},{"name":32,"content":33},"robots","index, follow",{"tag":26,"attributes":35},{"rel":36,"href":37},"shortlink","https:\u002F\u002Fcms.zuehlke.com\u002Fapi\u002Fgraphql",{"tag":26,"attributes":39},{"rel":40,"href":41},"image_src","https:\u002F\u002Fcms.zuehlke.com\u002Fsites\u002Fdefault\u002Ffiles\u002Fstyles\u002Fmax_1300x1300\u002Fpublic\u002Fimages\u002Fthinkstockphotos-178052119.jpg?itok=h5HYQkP7,https:\u002F\u002Fcms.zuehlke.com\u002Fsites\u002Fdefault\u002Ffiles\u002Fimages\u002Fzuhlke_innovation_social.jpg",{"tag":10,"attributes":43},{"name":44,"content":45},"referrer","unsafe-url",{"tag":10,"attributes":47},{"name":48,"content":49},"rights","Copyright ©2026 | Zühlke Engineering AG | All rights reserved.",{"tag":10,"attributes":51},{"property":52,"content":53},"og:site_name","Zühlke Engineering AG",{"tag":10,"attributes":55},{"property":56,"content":57},"og:type","website",{"tag":10,"attributes":59},{"property":60,"content":61},"og:url","https:\u002F\u002Fwww.zuehlke.com\u002Fen\u002Finsights\u002Fkotlin-multiplatform-simplifying-cross-platform-app-development",{"tag":10,"attributes":63},{"property":64,"content":65},"og:title","Kotlin Multiplatform simplifies cross-platform app dev – Zühlke",{"tag":10,"attributes":67},{"property":68,"content":17},"og:description",{"tag":10,"attributes":70},{"property":71,"content":72},"og:image","https:\u002F\u002Fcms.zuehlke.com\u002Fsites\u002Fdefault\u002Ffiles\u002Fstyles\u002Fmax_1300x1300\u002Fpublic\u002Fimages\u002Fthinkstockphotos-178052119.jpg?itok=h5HYQkP7",{"tag":10,"attributes":74},{"property":71,"content":75},"https:\u002F\u002Fcms.zuehlke.com\u002Fsites\u002Fdefault\u002Ffiles\u002Fimages\u002Fzuhlke_innovation_social.jpg",{"tag":10,"attributes":77},{"property":78,"content":72},"og:image:url",{"tag":10,"attributes":80},{"property":78,"content":75},{"tag":10,"attributes":82},{"property":83,"content":72},"og:image:secure_url",{"tag":10,"attributes":85},{"property":83,"content":86},"https:\u002F\u002Fwww.zuehlke.com\u002Fsites\u002Fdefault\u002Ffiles\u002Fimages\u002Fzuhlke_innovation_social.jpg",{"tag":10,"attributes":88},{"property":89,"content":90},"og:image:alt","image",{"tag":10,"attributes":92},{"property":93,"content":94},"og:updated_time","2026-01-08",{"tag":10,"attributes":96},{"property":97,"content":98},"place:location:longitude","7.438014",{"tag":10,"attributes":100},{"property":101,"content":102},"place:location:latitude","46.947944",{"tag":10,"attributes":104},{"property":105,"content":106},"og:street_address","80 Great Eastern Street",{"tag":10,"attributes":108},{"property":109,"content":110},"og:locality","London",{"tag":10,"attributes":112},{"property":113,"content":114},"og:region","England",{"tag":10,"attributes":116},{"property":117,"content":118},"og:postal_code","EC2A 3JL",{"tag":10,"attributes":120},{"property":121,"content":122},"og:country_name","United Kingdom",{"tag":10,"attributes":124},{"property":125,"content":126},"og:email","london@zuhlke.com",{"tag":10,"attributes":128},{"property":129,"content":130},"og:phone_number","+44 20 7113 5000",{"tag":10,"attributes":132},{"property":133,"content":134},"og:locale","en_CH",{"tag":10,"attributes":136},{"property":137,"content":138},"og:locale:alternate","de_CH",{"tag":10,"attributes":140},{"property":137,"content":141},"de_DE",{"tag":10,"attributes":143},{"property":137,"content":144},"en_DE",{"tag":10,"attributes":146},{"property":137,"content":147},"en_AT",{"tag":10,"attributes":149},{"property":137,"content":150},"de_AT",{"tag":10,"attributes":152},{"property":137,"content":153},"en_HK",{"tag":10,"attributes":155},{"property":137,"content":156},"en_SR",{"tag":10,"attributes":158},{"property":137,"content":159},"en_BG",{"tag":10,"attributes":161},{"property":137,"content":162},"en_SG",{"tag":10,"attributes":164},{"property":137,"content":165},"en_GB",{"tag":10,"attributes":167},{"property":168,"content":169},"article:publisher","https:\u002F\u002Fwww.facebook.com\u002Fzuehlke.group",{"tag":10,"attributes":171},{"property":172,"content":173},"article:published_time","2021-12-06",{"tag":10,"attributes":175},{"property":176,"content":94},"article:modified_time",{"tag":10,"attributes":178},{"name":179,"content":180},"twitter:card","summary_large_image",{"tag":10,"attributes":182},{"name":183,"content":184},"twitter:site","@zuehlke_group",{"tag":10,"attributes":186},{"name":187,"content":188},"twitter:site:id","247189965",{"tag":10,"attributes":190},{"name":191,"content":90},"twitter:image:alt",{"tag":10,"attributes":193},{"name":194,"content":195},"twitter:image","https:\u002F\u002Fcms.zuehlke.com\u002Fsites\u002Fdefault\u002Ffiles\u002Fstyles\u002Fmax_1300x1300\u002Fpublic\u002Fimages\u002Fthinkstockphotos-178052119.jpg?itok=h5HYQkP7,https:\u002F\u002Fwww.zuehlke.com\u002Fsites\u002Fdefault\u002Ffiles\u002Fimages\u002Fzuhlke_innovation_social.jpg",{"tag":10,"attributes":197},{"name":198,"content":199},"google-site-verification","VEzolc1Vxy1KyRIlIqUSmVS7fqP_3_ZeBqPRby4g2mE",{"tag":201},"script","5477","\u002Fen\u002Finsights\u002Fkotlin-multiplatform-simplifying-cross-platform-app-development","Kotlin Multiplatform: simplifying cross-platform app development ",[206],{"path":203,"langcode":207},{"id":208},"en",{"id":210,"sharedMediaLegend":211,"mediaImage":212,"name":237},"3761",null,{"url":213,"width":214,"height":215,"alt":216,"title":211,"size":217,"mime":218,"variations":211,"headerMinimalVariations":219},"https:\u002F\u002Fcms.zuehlke.com\u002Fsites\u002Fdefault\u002Ffiles\u002Fimages\u002Fthinkstockphotos-178052119.jpg",2000,1335,"smartphone",259714,"image\u002Fjpeg",[220,225,226,231,236],{"name":221,"url":222,"width":223,"height":224},"FOCAL_POINT32_SMALL","https:\u002F\u002Fcms.zuehlke.com\u002Fsites\u002Fdefault\u002Ffiles\u002Fstyles\u002Ffocal_point_3_2_small\u002Fpublic\u002Fimages\u002Fthinkstockphotos-178052119.jpg.webp?itok=K85sIA0i",800,533,{"name":221,"url":222,"width":223,"height":224},{"name":227,"url":228,"width":229,"height":230},"FOCAL_POINT169_MEDIUM","https:\u002F\u002Fcms.zuehlke.com\u002Fsites\u002Fdefault\u002Ffiles\u002Fstyles\u002Ffocal_point_16_9_medium\u002Fpublic\u002Fimages\u002Fthinkstockphotos-178052119.jpg.webp?itok=afPy2MwQ",1200,675,{"name":232,"url":233,"width":234,"height":235},"FOCAL_POINT169_LARGE","https:\u002F\u002Fcms.zuehlke.com\u002Fsites\u002Fdefault\u002Ffiles\u002Fstyles\u002Ffocal_point_16_9_large\u002Fpublic\u002Fimages\u002Fthinkstockphotos-178052119.jpg.webp?itok=FMw3MXb7",1600,900,{"name":232,"url":233,"width":234,"height":235},"thinkstockphotos-178052119.jpg",{"processed":239},"\u003Cp>Looking for greater compatibility, flexibility, efficiency, and ease of adoption for cross-platform mobile app development? Read on for an engineer’s take on Kotlin Multiplatform Mobile (KMM) and how it works.\u003C\u002Fp>",{"id":210,"sharedMediaLegend":211,"mediaImage":241,"name":237},{"url":213,"width":214,"height":215,"alt":216,"title":211,"size":217,"mime":218,"variations":211},[243,250,255,260,266,270,320,325,352,358,384,389,415,421,427,451,456,483,488,494,520,526,532],{"__typename":244,"id":245,"ctaLink":211,"pgSharedText":246,"pgSharedTitle":211,"pgSharedCtaLink":211},"ParagraphPgText","23680",{"value":247,"processed":248,"format":249},"\u003Cul>\r\n\t\u003Cli>\r\n\t\u003Cp class=\"text-lead\">Kotlin Multiplatform (KMP) is a new SDK that combines the best of both worlds, allowing app developers to reuse codebase just like a cross-platform framework while still keeping the app native.\u003C\u002Fp>\r\n\t\u003C\u002Fli>\r\n\t\u003Cli>\r\n\t\u003Cp class=\"text-lead\">Tackling the challenge of maintaining separate codebases while retaining flexibility, KMP&nbsp;is used by diverse companies from start-ups to large IT corporates and big product companies.\u003C\u002Fp>\r\n\t\u003C\u002Fli>\r\n\t\u003Cli>\r\n\t\u003Cp class=\"text-lead\">With KMP already stable, it has good potential&nbsp;to become the next go-to tool for cross-platform projects, aside from Flutter and React Native.\u003C\u002Fp>\r\n\t\u003C\u002Fli>\r\n\u003C\u002Ful>\r\n","\u003Cul>\n\t\u003Cli>\n\t\u003Cp class=\"text-lead\">Kotlin Multiplatform (KMP) is a new SDK that combines the best of both worlds, allowing app developers to reuse codebase just like a cross-platform framework while still keeping the app native.\u003C\u002Fp>\n\t\u003C\u002Fli>\n\t\u003Cli>\n\t\u003Cp class=\"text-lead\">Tackling the challenge of maintaining separate codebases while retaining flexibility, KMP&nbsp;is used by diverse companies from start-ups to large IT corporates and big product companies.\u003C\u002Fp>\n\t\u003C\u002Fli>\n\t\u003Cli>\n\t\u003Cp class=\"text-lead\">With KMP already stable, it has good potential&nbsp;to become the next go-to tool for cross-platform projects, aside from Flutter and React Native.\u003C\u002Fp>\n\t\u003C\u002Fli>\n\u003C\u002Ful>","full_html",{"__typename":244,"id":251,"ctaLink":211,"pgSharedText":252,"pgSharedTitle":211,"pgSharedCtaLink":211},"10595",{"value":253,"processed":254,"format":249},"\u003Cp>Looking for greater compatibility, flexibility, efficiency, and ease of adoption for cross-platform mobile app development? Read on for an engineer’s take on Kotlin Multiplatform (KMP) and how it works.\u003C\u002Fp>\r\n","\u003Cp>Looking for greater compatibility, flexibility, efficiency, and ease of adoption for cross-platform mobile app development? Read on for an engineer’s take on Kotlin Multiplatform (KMP) and how it works.\u003C\u002Fp>",{"__typename":244,"id":256,"ctaLink":211,"pgSharedText":257,"pgSharedTitle":211,"pgSharedCtaLink":211},"9078",{"value":258,"processed":259,"format":249},"\u003Cp>As smartphone users around the world continue to grow, cross-platform applications are gaining popularity as they allow wider outreach to potential Android and iOS users while providing high-efficiency outputs and significant cost reduction.\u003C\u002Fp>\r\n\r\n\u003Cp>By the end of 2024, \u003Ca href=\"https:\u002F\u002Fwww.mordorintelligence.com\u002Findustry-reports\u002Fsmartphones-market\" target=\"_blank\">91% of the global population \u003C\u002Fa>will own a smartphone. These numbers will only continue to grow as global smartphone users surpass 7 billion and are expected to grow by several hundreds of millions in the next few years.\u003C\u002Fp>\r\n\r\n\u003Cp>Android smartphones currently lead the global market with a 70% market share while iOS follows closely at 28%. In mobile development, building cross-platform applications enables wider market reach to both Android and iOS users while providing highly efficient output and significant cost reduction.\u003C\u002Fp>\r\n","\u003Cp>As smartphone users around the world continue to grow, cross-platform applications are gaining popularity as they allow wider outreach to potential Android and iOS users while providing high-efficiency outputs and significant cost reduction.\u003C\u002Fp>\n\n\u003Cp>By the end of 2024, \u003Ca href=\"https:\u002F\u002Fwww.mordorintelligence.com\u002Findustry-reports\u002Fsmartphones-market\" target=\"_blank\">91% of the global population \u003C\u002Fa>will own a smartphone. These numbers will only continue to grow as global smartphone users surpass 7 billion and are expected to grow by several hundreds of millions in the next few years.\u003C\u002Fp>\n\n\u003Cp>Android smartphones currently lead the global market with a 70% market share while iOS follows closely at 28%. In mobile development, building cross-platform applications enables wider market reach to both Android and iOS users while providing highly efficient output and significant cost reduction.\u003C\u002Fp>",{"__typename":244,"id":261,"ctaLink":211,"pgSharedText":262,"pgSharedTitle":265,"pgSharedCtaLink":211},"9079",{"value":263,"processed":264,"format":249},"\u003Cp>Mobile app development is the process of building specific software applications that runs on smartphones. It involves a strategic approach from researching to prototyping, building to testing, before finally launching on the app store.\u003C\u002Fp>\r\n\r\n\u003Cp>Android and iOS – these two platforms always come to mind when talking about mobile development. It&nbsp;is very rare to see a mobile application that is only available on one platform and not the other.\u003C\u002Fp>\r\n","\u003Cp>Mobile app development is the process of building specific software applications that runs on smartphones. It involves a strategic approach from researching to prototyping, building to testing, before finally launching on the app store.\u003C\u002Fp>\n\n\u003Cp>Android and iOS – these two platforms always come to mind when talking about mobile development. It&nbsp;is very rare to see a mobile application that is only available on one platform and not the other.\u003C\u002Fp>","Current state of mobile app solutions",{"__typename":244,"id":267,"ctaLink":211,"pgSharedText":268,"pgSharedTitle":211,"pgSharedCtaLink":211},"9081",{"value":269,"processed":269,"format":249},"\u003Cp>Commonly, there are two options to build mobile applications for these two platforms:\u003C\u002Fp>\u003Cul>\u003Cli>Write fully \u003Cstrong>separate\u003C\u002Fstrong> platform code, once for Android and once for iOS\u003C\u002Fli>\u003Cli>Write cross-platform code for both Android and iOS\u003C\u002Fli>\u003C\u002Ful>\u003Cp>Projects that need to fulfil certain performance, security, and native device requirements and have enough resources will most likely use a fully separate platform code for either. However, this means that two separate codebases will need to be maintained, potentially by two separate teams of developers with different skillsets.\u003C\u002Fp>",{"__typename":271,"id":272,"caption":211,"captionSecondary":273,"pgSharedTitle":211,"pgMediaRefMedia":274,"secondaryImage":302,"edgeToEdge":319,"fullWidth":319},"ParagraphPgMedia","32631","Code written in xCode from codewithchris.com",{"id":275,"sharedMediaLegend":276,"mediaImage":277,"name":301},"172143","Code written in Android Studio from developer.android.com",{"url":278,"width":279,"height":280,"alt":276,"title":211,"size":281,"mime":282,"variations":211,"mediaVariations":283,"infographVariations":295},"https:\u002F\u002Fcms.zuehlke.com\u002Fsites\u002Fdefault\u002Ffiles\u002Fimages\u002F2-code-written-in-android-studio.png",623,421,109148,"image\u002Fpng",[284,287,288,291,294],{"name":285,"url":286,"width":279,"height":280},"FIXED_WIDTH_SMALL","https:\u002F\u002Fcms.zuehlke.com\u002Fsites\u002Fdefault\u002Ffiles\u002Fstyles\u002Ffixed_width_small\u002Fpublic\u002Fimages\u002F2-code-written-in-android-studio.png.webp?itok=8GlP78_-",{"name":285,"url":286,"width":279,"height":280},{"name":289,"url":290,"width":279,"height":280},"FIXED_WIDTH_MEDIUM","https:\u002F\u002Fcms.zuehlke.com\u002Fsites\u002Fdefault\u002Ffiles\u002Fstyles\u002Ffixed_width_medium\u002Fpublic\u002Fimages\u002F2-code-written-in-android-studio.png.webp?itok=e6fwxosq",{"name":292,"url":293,"width":279,"height":280},"FIXED_WIDTH_LARGE","https:\u002F\u002Fcms.zuehlke.com\u002Fsites\u002Fdefault\u002Ffiles\u002Fstyles\u002Ffixed_width_large\u002Fpublic\u002Fimages\u002F2-code-written-in-android-studio.png.webp?itok=zW2a-FL6",{"name":292,"url":293,"width":279,"height":280},[296,297,298,299,300],{"name":285,"url":286,"width":279,"height":280},{"name":285,"url":286,"width":279,"height":280},{"name":285,"url":286,"width":279,"height":280},{"name":289,"url":290,"width":279,"height":280},{"name":289,"url":290,"width":279,"height":280},"2-code-written-in-android-studio.png",{"id":303,"sharedMediaLegend":211,"mediaImage":304,"name":318},"172144",{"url":305,"width":306,"height":307,"alt":273,"title":211,"size":308,"mime":218,"variations":211,"secondaryVariations":309},"https:\u002F\u002Fcms.zuehlke.com\u002Fsites\u002Fdefault\u002Ffiles\u002Fimages\u002F3-code-written-in-xcode-from-codewithchris.jpg",428,252,20619,[310,312,313,315,317],{"name":285,"url":311,"width":306,"height":307},"https:\u002F\u002Fcms.zuehlke.com\u002Fsites\u002Fdefault\u002Ffiles\u002Fstyles\u002Ffixed_width_small\u002Fpublic\u002Fimages\u002F3-code-written-in-xcode-from-codewithchris.jpg.webp?itok=NYcTC4DO",{"name":285,"url":311,"width":306,"height":307},{"name":289,"url":314,"width":306,"height":307},"https:\u002F\u002Fcms.zuehlke.com\u002Fsites\u002Fdefault\u002Ffiles\u002Fstyles\u002Ffixed_width_medium\u002Fpublic\u002Fimages\u002F3-code-written-in-xcode-from-codewithchris.jpg.webp?itok=HqeHZC3S",{"name":292,"url":316,"width":306,"height":307},"https:\u002F\u002Fcms.zuehlke.com\u002Fsites\u002Fdefault\u002Ffiles\u002Fstyles\u002Ffixed_width_large\u002Fpublic\u002Fimages\u002F3-code-written-in-xcode-from-codewithchris.jpg.webp?itok=sGiVUWOg",{"name":292,"url":316,"width":306,"height":307},"3-code-written-in-xcode-from-codewithchris.jpg",false,{"__typename":244,"id":321,"ctaLink":211,"pgSharedText":322,"pgSharedTitle":211,"pgSharedCtaLink":211},"10814",{"value":323,"processed":324,"format":249},"\u003Cp>Meanwhile, for projects that require a quick prototype or a UI-heavy app that does not depend much on the underlying hardware and native integration — a single cross-platform framework will be the obvious choice. Some popular frameworks here are React Native, Flutter, Xamarin, and Cordova.\u003C\u002Fp>\r\n","\u003Cp>Meanwhile, for projects that require a quick prototype or a UI-heavy app that does not depend much on the underlying hardware and native integration — a single cross-platform framework will be the obvious choice. Some popular frameworks here are React Native, Flutter, Xamarin, and Cordova.\u003C\u002Fp>",{"__typename":271,"id":326,"caption":211,"captionSecondary":211,"pgSharedTitle":211,"pgMediaRefMedia":327,"secondaryImage":211,"edgeToEdge":319,"fullWidth":319},"10815",{"id":328,"sharedMediaLegend":211,"mediaImage":329,"name":351},"3772",{"url":330,"width":331,"height":332,"alt":333,"title":211,"size":334,"mime":282,"variations":211,"mediaVariations":335,"infographVariations":345},"https:\u002F\u002Fcms.zuehlke.com\u002Fsites\u002Fdefault\u002Ffiles\u002Fimages\u002Freact-native-illustration_2.png",1024,580,"React native illustration",211813,[336,339,340,342,344],{"name":285,"url":337,"width":235,"height":338},"https:\u002F\u002Fcms.zuehlke.com\u002Fsites\u002Fdefault\u002Ffiles\u002Fstyles\u002Ffixed_width_small\u002Fpublic\u002Fimages\u002Freact-native-illustration_2.png.webp?itok=1e5TWrmC",510,{"name":285,"url":337,"width":235,"height":338},{"name":289,"url":341,"width":331,"height":332},"https:\u002F\u002Fcms.zuehlke.com\u002Fsites\u002Fdefault\u002Ffiles\u002Fstyles\u002Ffixed_width_medium\u002Fpublic\u002Fimages\u002Freact-native-illustration_2.png.webp?itok=MUjsj5mc",{"name":292,"url":343,"width":331,"height":332},"https:\u002F\u002Fcms.zuehlke.com\u002Fsites\u002Fdefault\u002Ffiles\u002Fstyles\u002Ffixed_width_large\u002Fpublic\u002Fimages\u002Freact-native-illustration_2.png.webp?itok=BvlSK6JD",{"name":292,"url":343,"width":331,"height":332},[346,347,348,349,350],{"name":285,"url":337,"width":235,"height":338},{"name":285,"url":337,"width":235,"height":338},{"name":285,"url":337,"width":235,"height":338},{"name":289,"url":341,"width":331,"height":332},{"name":289,"url":341,"width":331,"height":332},"react-native-illustration.png",{"__typename":244,"id":353,"ctaLink":211,"pgSharedText":354,"pgSharedTitle":357,"pgSharedCtaLink":211},"10816",{"value":355,"processed":356,"format":249},"\u003Cp>In 2020, JetBrains \u003Ca href=\"https:\u002F\u002Fblog.jetbrains.com\u002Fkotlin\u002F2020\u002F08\u002Fkotlin-multiplatform-mobile-goes-alpha\u002F\">announced\u003C\u002Fa> the Kotlin Multiplatform as a new SDK that allows developers to write shared code for business logic and still maintain a platform-specific UI code, and in 2023, they released KMP as stable and production-ready. It combines the best of both worlds, being able to reuse a huge amount of codebase just like a cross-platform framework but keeping the app still native.\u003C\u002Fp>\r\n","\u003Cp>In 2020, JetBrains \u003Ca href=\"https:\u002F\u002Fblog.jetbrains.com\u002Fkotlin\u002F2020\u002F08\u002Fkotlin-multiplatform-mobile-goes-alpha\u002F\">announced\u003C\u002Fa> the Kotlin Multiplatform as a new SDK that allows developers to write shared code for business logic and still maintain a platform-specific UI code, and in 2023, they released KMP as stable and production-ready. It combines the best of both worlds, being able to reuse a huge amount of codebase just like a cross-platform framework but keeping the app still native.\u003C\u002Fp>","Introducing Kotlin Multiplatform (KMP) and how it works",{"__typename":271,"id":359,"caption":211,"captionSecondary":211,"pgSharedTitle":211,"pgMediaRefMedia":360,"secondaryImage":211,"edgeToEdge":319,"fullWidth":319},"10817",{"id":361,"sharedMediaLegend":211,"mediaImage":362,"name":383},"3764",{"url":363,"width":364,"height":365,"alt":366,"title":211,"size":367,"mime":282,"variations":211,"mediaVariations":368,"infographVariations":377},"https:\u002F\u002Fcms.zuehlke.com\u002Fsites\u002Fdefault\u002Ffiles\u002Fimages\u002F5-kmm-high-level-diagram.png",358,360,"KMM High level diagram",28864,[369,371,372,374,376],{"name":285,"url":370,"width":364,"height":365},"https:\u002F\u002Fcms.zuehlke.com\u002Fsites\u002Fdefault\u002Ffiles\u002Fstyles\u002Ffixed_width_small\u002Fpublic\u002Fimages\u002F5-kmm-high-level-diagram.png.webp?itok=-kEPzw9D",{"name":285,"url":370,"width":364,"height":365},{"name":289,"url":373,"width":364,"height":365},"https:\u002F\u002Fcms.zuehlke.com\u002Fsites\u002Fdefault\u002Ffiles\u002Fstyles\u002Ffixed_width_medium\u002Fpublic\u002Fimages\u002F5-kmm-high-level-diagram.png.webp?itok=8ygkp0Bh",{"name":292,"url":375,"width":364,"height":365},"https:\u002F\u002Fcms.zuehlke.com\u002Fsites\u002Fdefault\u002Ffiles\u002Fstyles\u002Ffixed_width_large\u002Fpublic\u002Fimages\u002F5-kmm-high-level-diagram.png.webp?itok=TtPWfVCT",{"name":292,"url":375,"width":364,"height":365},[378,379,380,381,382],{"name":285,"url":370,"width":364,"height":365},{"name":285,"url":370,"width":364,"height":365},{"name":285,"url":370,"width":364,"height":365},{"name":289,"url":373,"width":364,"height":365},{"name":289,"url":373,"width":364,"height":365},"5-kmm-high-level-diagram.png",{"__typename":244,"id":385,"ctaLink":211,"pgSharedText":386,"pgSharedTitle":211,"pgSharedCtaLink":211},"10818",{"value":387,"processed":388,"format":249},"\u003Cp>A typical KMP project contains a shared business logic unit with different UI implementations per platform. For Android, Compose UI will be used to write UI code while for iOS, SwiftUI is mostly used. However, with the introduction of \u003Cstrong>Compose Multiplatform\u003C\u002Fstrong>, it is now possible to write a single UI codebase for both platforms using Compose UI only. This version is still in \u003Cstrong>beta \u003C\u002Fstrong>and is actively being developed and improved by JetBrains.\u003C\u002Fp>\r\n\r\n\u003Cp>KMP is made possible by the multiplatform capabilities of the Kotlin language. This means that writing a single Kotlin codebase can target platforms such as JVM, JavaScript, and Native\u002FDesktop. In the case of KMP, the shared Kotlin codebase is compiled into a Java library for Android and into a Swift library for iOS. Kotlin to Java compilation seems straightforward since both are JVM languages, but for the Kotlin to Swift compilation, it uses a compiler infrastructure called \u003Ca href=\"https:\u002F\u002Fllvm.org\u002F\">LLVM\u003C\u002Fa>. From the figure below, it is shown that Kotlin code can be targeted for Android and iOS platforms as libraries.\u003C\u002Fp>\r\n","\u003Cp>A typical KMP project contains a shared business logic unit with different UI implementations per platform. For Android, Compose UI will be used to write UI code while for iOS, SwiftUI is mostly used. However, with the introduction of \u003Cstrong>Compose Multiplatform\u003C\u002Fstrong>, it is now possible to write a single UI codebase for both platforms using Compose UI only. This version is still in \u003Cstrong>beta \u003C\u002Fstrong>and is actively being developed and improved by JetBrains.\u003C\u002Fp>\n\n\u003Cp>KMP is made possible by the multiplatform capabilities of the Kotlin language. This means that writing a single Kotlin codebase can target platforms such as JVM, JavaScript, and Native\u002FDesktop. In the case of KMP, the shared Kotlin codebase is compiled into a Java library for Android and into a Swift library for iOS. Kotlin to Java compilation seems straightforward since both are JVM languages, but for the Kotlin to Swift compilation, it uses a compiler infrastructure called \u003Ca href=\"https:\u002F\u002Fllvm.org\u002F\">LLVM\u003C\u002Fa>. From the figure below, it is shown that Kotlin code can be targeted for Android and iOS platforms as libraries.\u003C\u002Fp>",{"__typename":271,"id":390,"caption":211,"captionSecondary":211,"pgSharedTitle":211,"pgMediaRefMedia":391,"secondaryImage":211,"edgeToEdge":319,"fullWidth":319},"10819",{"id":392,"sharedMediaLegend":211,"mediaImage":393,"name":414},"3765",{"url":394,"width":395,"height":396,"alt":397,"title":211,"size":398,"mime":282,"variations":211,"mediaVariations":399,"infographVariations":408},"https:\u002F\u002Fcms.zuehlke.com\u002Fsites\u002Fdefault\u002Ffiles\u002Fimages\u002F6-kmm-code-can-be-compiled-for-different-platforms.png",524,270,"kmm code can be compiled for different platforms",22873,[400,402,403,405,407],{"name":285,"url":401,"width":395,"height":396},"https:\u002F\u002Fcms.zuehlke.com\u002Fsites\u002Fdefault\u002Ffiles\u002Fstyles\u002Ffixed_width_small\u002Fpublic\u002Fimages\u002F6-kmm-code-can-be-compiled-for-different-platforms.png.webp?itok=JTkfHD7j",{"name":285,"url":401,"width":395,"height":396},{"name":289,"url":404,"width":395,"height":396},"https:\u002F\u002Fcms.zuehlke.com\u002Fsites\u002Fdefault\u002Ffiles\u002Fstyles\u002Ffixed_width_medium\u002Fpublic\u002Fimages\u002F6-kmm-code-can-be-compiled-for-different-platforms.png.webp?itok=N-HwBADQ",{"name":292,"url":406,"width":395,"height":396},"https:\u002F\u002Fcms.zuehlke.com\u002Fsites\u002Fdefault\u002Ffiles\u002Fstyles\u002Ffixed_width_large\u002Fpublic\u002Fimages\u002F6-kmm-code-can-be-compiled-for-different-platforms.png.webp?itok=kSbaNjqj",{"name":292,"url":406,"width":395,"height":396},[409,410,411,412,413],{"name":285,"url":401,"width":395,"height":396},{"name":285,"url":401,"width":395,"height":396},{"name":285,"url":401,"width":395,"height":396},{"name":289,"url":404,"width":395,"height":396},{"name":289,"url":404,"width":395,"height":396},"6-kmm-code-can-be-compiled-for-different-platforms.png",{"__typename":244,"id":416,"ctaLink":211,"pgSharedText":417,"pgSharedTitle":420,"pgSharedCtaLink":211},"9091",{"value":418,"processed":419,"format":249},"\u003Cp>KMP is all about pragmatic programming to meet the growing demand across platforms. Furthermore, developers who are already familiar with Kotlin will find it easy to start using KMP to simplify their development projects.\u003C\u002Fp>\r\n\r\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fkotlinlang.org\u002Flp\u002Fmobile\u002Fcase-studies\u002Fautodesk\u002F\">PlanGrid by Autodesk\u003C\u002Fa> is a construction productivity app that allows project collaborations and is used on over 1.8 million projects in more than 100 countries globally. It uses KMP to ship a single source of truth for offline sync logic and data models for 3 mobile platforms: iOS, Android and Windows.\u003C\u002Fp>\r\n\r\n\u003Cp>The team at \u003Ca href=\"https:\u002F\u002Fkotlinlang.org\u002Flp\u002Fmobile\u002Fcase-studies\u002Fcash-app\u002F\">Cash App\u003C\u002Fa>, a mobile payment service developed by Square, Inc, also had massive success in piloting KMP. Not only was the transition manageable for the different teams, developers had the option to share codes in the repository without disrupting their workflow.\u003C\u002Fp>\r\n","\u003Cp>KMP is all about pragmatic programming to meet the growing demand across platforms. Furthermore, developers who are already familiar with Kotlin will find it easy to start using KMP to simplify their development projects.\u003C\u002Fp>\n\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fkotlinlang.org\u002Flp\u002Fmobile\u002Fcase-studies\u002Fautodesk\u002F\">PlanGrid by Autodesk\u003C\u002Fa> is a construction productivity app that allows project collaborations and is used on over 1.8 million projects in more than 100 countries globally. It uses KMP to ship a single source of truth for offline sync logic and data models for 3 mobile platforms: iOS, Android and Windows.\u003C\u002Fp>\n\n\u003Cp>The team at \u003Ca href=\"https:\u002F\u002Fkotlinlang.org\u002Flp\u002Fmobile\u002Fcase-studies\u002Fcash-app\u002F\">Cash App\u003C\u002Fa>, a mobile payment service developed by Square, Inc, also had massive success in piloting KMP. Not only was the transition manageable for the different teams, developers had the option to share codes in the repository without disrupting their workflow.\u003C\u002Fp>","How is Kotlin Multiplatform being used?",{"__typename":244,"id":422,"ctaLink":211,"pgSharedText":423,"pgSharedTitle":426,"pgSharedCtaLink":211},"10820",{"value":424,"processed":425,"format":249},"\u003Cp>A new KMP project can be created using Android Studio with the KMP Application in the New Project Wizard.&nbsp; This will generate the \u003Cstrong>androidApp\u003C\u002Fstrong> module, \u003Cstrong>iOSApp\u003C\u002Fstrong> module, as well as the \u003Cstrong>shared\u003C\u002Fstrong> module.\u003C\u002Fp>\r\n","\u003Cp>A new KMP project can be created using Android Studio with the KMP Application in the New Project Wizard.&nbsp; This will generate the \u003Cstrong>androidApp\u003C\u002Fstrong> module, \u003Cstrong>iOSApp\u003C\u002Fstrong> module, as well as the \u003Cstrong>shared\u003C\u002Fstrong> module.\u003C\u002Fp>","KMP Project Structure",{"__typename":271,"id":428,"caption":211,"captionSecondary":211,"pgSharedTitle":211,"pgMediaRefMedia":429,"secondaryImage":211,"edgeToEdge":319,"fullWidth":319},"10821",{"id":430,"sharedMediaLegend":211,"mediaImage":431,"name":450},"3769",{"url":432,"width":331,"height":332,"alt":433,"title":211,"size":434,"mime":282,"variations":211,"mediaVariations":435,"infographVariations":444},"https:\u002F\u002Fcms.zuehlke.com\u002Fsites\u002Fdefault\u002Ffiles\u002Fimages\u002Fnew-kmm-project.png","New KMM Project",75538,[436,438,439,441,443],{"name":285,"url":437,"width":235,"height":338},"https:\u002F\u002Fcms.zuehlke.com\u002Fsites\u002Fdefault\u002Ffiles\u002Fstyles\u002Ffixed_width_small\u002Fpublic\u002Fimages\u002Fnew-kmm-project.png.webp?itok=2BPZ6w9G",{"name":285,"url":437,"width":235,"height":338},{"name":289,"url":440,"width":331,"height":332},"https:\u002F\u002Fcms.zuehlke.com\u002Fsites\u002Fdefault\u002Ffiles\u002Fstyles\u002Ffixed_width_medium\u002Fpublic\u002Fimages\u002Fnew-kmm-project.png.webp?itok=PoNeB7PG",{"name":292,"url":442,"width":331,"height":332},"https:\u002F\u002Fcms.zuehlke.com\u002Fsites\u002Fdefault\u002Ffiles\u002Fstyles\u002Ffixed_width_large\u002Fpublic\u002Fimages\u002Fnew-kmm-project.png.webp?itok=45gzOXh_",{"name":292,"url":442,"width":331,"height":332},[445,446,447,448,449],{"name":285,"url":437,"width":235,"height":338},{"name":285,"url":437,"width":235,"height":338},{"name":285,"url":437,"width":235,"height":338},{"name":289,"url":440,"width":331,"height":332},{"name":289,"url":440,"width":331,"height":332},"new-kmm-project.png",{"__typename":244,"id":452,"ctaLink":211,"pgSharedText":453,"pgSharedTitle":455,"pgSharedCtaLink":211},"9093",{"value":454,"processed":454,"format":249},"\u003Cp>The \u003Cstrong>androidApp\u003C\u002Fstrong> and \u003Cstrong>iOSApp\u003C\u002Fstrong> modules are straightforward. These are the modules where the platform-specific application code is written, the same as you would write for a native Android or iOS application. The \u003Cstrong>shared\u003C\u002Fstrong> module, however, is “shared” between platforms and the Kotlin multiplatform code will be compiled into the specific binaries as illustrated above.\u003C\u002Fp>\u003Cp>A typical Hello World application for a KMP project will display a greeting string with the platform OS version used in the app, such as “\u003Cstrong>Hello Android 15\u003C\u002Fstrong>” or “\u003Cstrong>Hello iOS 18\u003C\u002Fstrong>”. This logic will lie in the shared code and the UI part will not know the specific details of this value.\u003C\u002Fp>","The Shared Module",{"__typename":271,"id":457,"caption":211,"captionSecondary":211,"pgSharedTitle":211,"pgMediaRefMedia":458,"secondaryImage":211,"edgeToEdge":319,"fullWidth":319},"32632",{"id":459,"sharedMediaLegend":211,"mediaImage":460,"name":482},"172145",{"url":461,"width":462,"height":463,"alt":464,"title":211,"size":465,"mime":282,"variations":211,"mediaVariations":466,"infographVariations":476},"https:\u002F\u002Fcms.zuehlke.com\u002Fsites\u002Fdefault\u002Ffiles\u002Fimages\u002F8-platform-specific-code-.png",904,320,"platform-specific code",83917,[467,470,471,473,475],{"name":285,"url":468,"width":235,"height":469},"https:\u002F\u002Fcms.zuehlke.com\u002Fsites\u002Fdefault\u002Ffiles\u002Fstyles\u002Ffixed_width_small\u002Fpublic\u002Fimages\u002F8-platform-specific-code-.png.webp?itok=crdhF3zb",319,{"name":285,"url":468,"width":235,"height":469},{"name":289,"url":472,"width":462,"height":463},"https:\u002F\u002Fcms.zuehlke.com\u002Fsites\u002Fdefault\u002Ffiles\u002Fstyles\u002Ffixed_width_medium\u002Fpublic\u002Fimages\u002F8-platform-specific-code-.png.webp?itok=drYvyFBE",{"name":292,"url":474,"width":462,"height":463},"https:\u002F\u002Fcms.zuehlke.com\u002Fsites\u002Fdefault\u002Ffiles\u002Fstyles\u002Ffixed_width_large\u002Fpublic\u002Fimages\u002F8-platform-specific-code-.png.webp?itok=BsimFptG",{"name":292,"url":474,"width":462,"height":463},[477,478,479,480,481],{"name":285,"url":468,"width":235,"height":469},{"name":285,"url":468,"width":235,"height":469},{"name":285,"url":468,"width":235,"height":469},{"name":289,"url":472,"width":462,"height":463},{"name":289,"url":472,"width":462,"height":463},"8-platform-specific-code-.png",{"__typename":244,"id":484,"ctaLink":211,"pgSharedText":485,"pgSharedTitle":211,"pgSharedCtaLink":211},"9097",{"value":486,"processed":487,"format":249},"\u003Cp>From the illustration above, the Platform class, which is located inside the shared module, is accessed by both the UI code for Android and iOS. Take note of the new keywords introduced in Kotlin multiplatform, the \u003Cstrong>expect \u003C\u002Fstrong>and \u003Cstrong>actual \u003C\u002Fstrong>keywords.\u003C\u002Fp>\r\n\r\n\u003Cp>Classes marked with the \u003Cstrong>expect \u003C\u002Fstrong>keyword indicates that KMP expects a platform-specific value or implementation for this symbol. For a class, it expects another class with the same name that is marked with the \u003Cstrong>actual \u003C\u002Fstrong>keyword. For a variable, it expects another variable with a value inside another actual class.\u003C\u002Fp>\r\n\r\n\u003Cp>This\u003Cstrong> actual i\u003C\u002Fstrong>mplementation should be created in both iOS and Android platforms for the module to compile. If platform-specific code is not needed, then the code will be implemented in the common module.\u003C\u002Fp>\r\n","\u003Cp>From the illustration above, the Platform class, which is located inside the shared module, is accessed by both the UI code for Android and iOS. Take note of the new keywords introduced in Kotlin multiplatform, the \u003Cstrong>expect \u003C\u002Fstrong>and \u003Cstrong>actual \u003C\u002Fstrong>keywords.\u003C\u002Fp>\n\n\u003Cp>Classes marked with the \u003Cstrong>expect \u003C\u002Fstrong>keyword indicates that KMP expects a platform-specific value or implementation for this symbol. For a class, it expects another class with the same name that is marked with the \u003Cstrong>actual \u003C\u002Fstrong>keyword. For a variable, it expects another variable with a value inside another actual class.\u003C\u002Fp>\n\n\u003Cp>This\u003Cstrong> actual i\u003C\u002Fstrong>mplementation should be created in both iOS and Android platforms for the module to compile. If platform-specific code is not needed, then the code will be implemented in the common module.\u003C\u002Fp>",{"__typename":244,"id":489,"ctaLink":211,"pgSharedText":490,"pgSharedTitle":493,"pgSharedCtaLink":211},"10822",{"value":491,"processed":492,"format":249},"\u003Cp>You can run a KMP application the same way as you would run a typical native Android or iOS project. Use Android Studio to run the app in an Android simulator or use XCode to run the iOS app in an iOS simulator.\u003C\u002Fp>\r\n","\u003Cp>You can run a KMP application the same way as you would run a typical native Android or iOS project. Use Android Studio to run the app in an Android simulator or use XCode to run the iOS app in an iOS simulator.\u003C\u002Fp>","Running the KMP Project",{"__typename":271,"id":495,"caption":211,"captionSecondary":211,"pgSharedTitle":211,"pgMediaRefMedia":496,"secondaryImage":211,"edgeToEdge":319,"fullWidth":319},"10823",{"id":497,"sharedMediaLegend":211,"mediaImage":498,"name":519},"3768",{"url":499,"width":331,"height":500,"alt":501,"title":211,"size":502,"mime":282,"variations":211,"mediaVariations":503,"infographVariations":513},"https:\u002F\u002Fcms.zuehlke.com\u002Fsites\u002Fdefault\u002Ffiles\u002Fimages\u002Fandroid-ios-mockup.png",680,"android ios mockup",32750,[504,507,508,510,512],{"name":285,"url":505,"width":235,"height":506},"https:\u002F\u002Fcms.zuehlke.com\u002Fsites\u002Fdefault\u002Ffiles\u002Fstyles\u002Ffixed_width_small\u002Fpublic\u002Fimages\u002Fandroid-ios-mockup.png.webp?itok=ZtgZospF",598,{"name":285,"url":505,"width":235,"height":506},{"name":289,"url":509,"width":331,"height":500},"https:\u002F\u002Fcms.zuehlke.com\u002Fsites\u002Fdefault\u002Ffiles\u002Fstyles\u002Ffixed_width_medium\u002Fpublic\u002Fimages\u002Fandroid-ios-mockup.png.webp?itok=UN5bBHPf",{"name":292,"url":511,"width":331,"height":500},"https:\u002F\u002Fcms.zuehlke.com\u002Fsites\u002Fdefault\u002Ffiles\u002Fstyles\u002Ffixed_width_large\u002Fpublic\u002Fimages\u002Fandroid-ios-mockup.png.webp?itok=8YHzBmLi",{"name":292,"url":511,"width":331,"height":500},[514,515,516,517,518],{"name":285,"url":505,"width":235,"height":506},{"name":285,"url":505,"width":235,"height":506},{"name":285,"url":505,"width":235,"height":506},{"name":289,"url":509,"width":331,"height":500},{"name":289,"url":509,"width":331,"height":500},"android-ios-mockup.png",{"__typename":244,"id":521,"ctaLink":211,"pgSharedText":522,"pgSharedTitle":525,"pgSharedCtaLink":211},"9095",{"value":523,"processed":524,"format":249},"\u003Cp>It is possible to migrate existing native projects into KMP. Existing business logic from the Android code with Kotlin is extracted into a separate library, which is used to share with the iOS app.\u003C\u002Fp>\r\n\r\n\u003Cp>If the existing project is well-designed and loosely coupled, it will only take minimal effort to extract the business logic from a monolithic application.\u003C\u002Fp>\r\n","\u003Cp>It is possible to migrate existing native projects into KMP. Existing business logic from the Android code with Kotlin is extracted into a separate library, which is used to share with the iOS app.\u003C\u002Fp>\n\n\u003Cp>If the existing project is well-designed and loosely coupled, it will only take minimal effort to extract the business logic from a monolithic application.\u003C\u002Fp>","Migrating Existing Projects into KMP",{"__typename":244,"id":527,"ctaLink":211,"pgSharedText":528,"pgSharedTitle":531,"pgSharedCtaLink":211},"9096",{"value":529,"processed":530,"format":249},"\u003Cp>Kotlin Multiplatform is a great software development kit and solves a lot of problems in the mobile development ecosystem. Sharing code between platforms becomes more resource-efficient, while giving you full control of the platform-specific technologies available in Android and iOS, without being trapped in a cross-platform or hybrid framework.\u003C\u002Fp>\r\n\r\n\u003Cp>However, though it already reached a stable and production-ready state, this technology is still very new. Though it is expected that APIs and dependencies might still change, it is also important to note that using KMP has been used now by large companies such as Netflix, Forbes, Square and Autodesk.&nbsp;\u003C\u002Fp>\r\n\r\n\u003Cp>With Kotlin Multiplatform being stable, it is anticipated that more companies will start to adopt it as an alternative for cross-platform projects aside from React Native and Flutter.\u003C\u002Fp>\r\n\r\n\u003Cp>We recommend fellow mobile developers to keep an eye on further developments on KMP, as it is also a great opportunity to have a headstart with hands-on practice on this tool and experiment with the APIs. With JetBrains’ dedicated commitment to improve and evolve this toolkit, KMP is likely to take off in the near future.\u003C\u002Fp>\r\n\r\n\u003Cp>&nbsp;\u003C\u002Fp>\r\n","\u003Cp>Kotlin Multiplatform is a great software development kit and solves a lot of problems in the mobile development ecosystem. Sharing code between platforms becomes more resource-efficient, while giving you full control of the platform-specific technologies available in Android and iOS, without being trapped in a cross-platform or hybrid framework.\u003C\u002Fp>\n\n\u003Cp>However, though it already reached a stable and production-ready state, this technology is still very new. Though it is expected that APIs and dependencies might still change, it is also important to note that using KMP has been used now by large companies such as Netflix, Forbes, Square and Autodesk.&nbsp;\u003C\u002Fp>\n\n\u003Cp>With Kotlin Multiplatform being stable, it is anticipated that more companies will start to adopt it as an alternative for cross-platform projects aside from React Native and Flutter.\u003C\u002Fp>\n\n\u003Cp>We recommend fellow mobile developers to keep an eye on further developments on KMP, as it is also a great opportunity to have a headstart with hands-on practice on this tool and experiment with the APIs. With JetBrains’ dedicated commitment to improve and evolve this toolkit, KMP is likely to take off in the near future.\u003C\u002Fp>\n\n","The Future of Cross-platform Development",{"__typename":533,"id":534,"title":211,"pgContactRefContacts":535,"showEmail":211,"showPhone":211},"ParagraphPgContact","10596",[536],{"contactName":537,"contactProfession":538,"contactDesc":539,"contactLinkedinUrl":211,"sharedEmail":211,"sharedPhone":211,"sharedRefMedia":541},"Serge Nino Martin Villasica","Former Software Engineer",{"value":540},"",{"id":542,"sharedMediaLegend":211,"mediaImage":543,"name":558},"3760",{"url":544,"width":545,"height":545,"alt":546,"title":211,"size":547,"mime":218,"variations":211,"personVariations":548},"https:\u002F\u002Fcms.zuehlke.com\u002Fsites\u002Fdefault\u002Ffiles\u002Fimages\u002Fserge-profile.jpeg",648,"Sergi-Profile",32866,[549,552,553,556,557],{"name":550,"url":551,"width":545,"height":545},"FOCAL_POINT11_SMALL","https:\u002F\u002Fcms.zuehlke.com\u002Fsites\u002Fdefault\u002Ffiles\u002Fstyles\u002Ffocal_point_1_1_small\u002Fpublic\u002Fimages\u002Fserge-profile.jpeg.webp?itok=aNnKUAi8",{"name":550,"url":551,"width":545,"height":545},{"name":554,"url":555,"width":545,"height":545},"FOCAL_POINT11_MEDIUM","https:\u002F\u002Fcms.zuehlke.com\u002Fsites\u002Fdefault\u002Ffiles\u002Fstyles\u002Ffocal_point_1_1_medium\u002Fpublic\u002Fimages\u002Fserge-profile.jpeg.webp?itok=Uug0RMAP",{"name":554,"url":555,"width":545,"height":545},{"name":554,"url":555,"width":545,"height":545},"serge-profile.jpeg",[560],{"id":561,"name":562},"855","All industries",[564,567,570],{"id":565,"name":566},"891","New technologies",{"id":568,"name":569},"21","Software engineering",{"id":571,"name":572},"884","Mobile applications",{"timestamp":574},1638792000,[576],{"status":7,"contactName":537,"contactProfession":538,"contactLinkedinUrl":211,"sharedEmail":211,"sharedRefMedia":577},{"id":542,"sharedMediaLegend":211,"mediaImage":578,"name":558},{"url":544,"width":545,"height":545,"alt":546,"title":211,"size":547,"mime":218,"variations":211,"authorVariations":579},[580,581,582,583,584],{"name":550,"url":551,"width":545,"height":545},{"name":550,"url":551,"width":545,"height":545},{"name":550,"url":551,"width":545,"height":545},{"name":550,"url":551,"width":545,"height":545},{"name":550,"url":551,"width":545,"height":545},{"data":586},{"relatedContentView":587},{"id":588,"pageInfo":589,"results":592},"3dad2dac-900c-48b3-9380-0814b1c1f4f1",{"page":590,"pageSize":591,"total":591},0,3,[593,627,655],{"id":594,"path":595,"sharedTeaserTitle":596,"sharedTeaserRefMedia":597,"sharedTaxrefIndustries":616,"sharedTaxrefExpertises":618},"7120","\u002Fen\u002Finsights\u002Flow-code-not-low-security","Why low code doesn’t have to mean low security",{"id":598,"sharedMediaLegend":211,"mediaImage":599,"name":615},"6651",{"url":600,"width":601,"height":602,"alt":603,"title":211,"size":604,"mime":218,"variations":211,"relatedContentVariations":605},"https:\u002F\u002Fcms.zuehlke.com\u002Fsites\u002Fdefault\u002Ffiles\u002Fimages\u002Flow-code-cyber.jpg",1080,810,"cutout of a keyboard",146618,[606,608,609,613,614],{"name":221,"url":607,"width":223,"height":224},"https:\u002F\u002Fcms.zuehlke.com\u002Fsites\u002Fdefault\u002Ffiles\u002Fstyles\u002Ffocal_point_3_2_small\u002Fpublic\u002Fimages\u002Flow-code-cyber.jpg.webp?itok=IhHH4eou",{"name":221,"url":607,"width":223,"height":224},{"name":610,"url":611,"width":601,"height":612},"FOCAL_POINT32_MEDIUM","https:\u002F\u002Fcms.zuehlke.com\u002Fsites\u002Fdefault\u002Ffiles\u002Fstyles\u002Ffocal_point_3_2_medium\u002Fpublic\u002Fimages\u002Flow-code-cyber.jpg.webp?itok=-cv-8nwL",720,{"name":610,"url":611,"width":601,"height":612},{"name":610,"url":611,"width":601,"height":612},"low-code-cyber.jpg",[617],{"id":561,"name":562},[619,622,623,624],{"id":620,"name":621},"125","Cybersecurity",{"id":565,"name":566},{"id":568,"name":569},{"id":625,"name":626},"897","Low code",{"id":628,"path":629,"sharedTeaserTitle":630,"sharedTeaserRefMedia":631,"sharedTaxrefIndustries":647,"sharedTaxrefExpertises":649},"5802","\u002Fen\u002Finsights\u002Faccelerate-time-to-market-with-an-automated-augmented-reality-model","Accelerate time to market with automated Augmented Reality model generation from 2D images",{"id":632,"sharedMediaLegend":211,"mediaImage":633,"name":646},"4770",{"url":634,"width":214,"height":635,"alt":636,"title":211,"size":637,"mime":218,"variations":211,"relatedContentVariations":638},"https:\u002F\u002Fcms.zuehlke.com\u002Fsites\u002Fdefault\u002Ffiles\u002Fimages\u002Fgettyimages-1284836641-web.jpg",1333,"AR technology",649103,[639,641,642,644,645],{"name":221,"url":640,"width":223,"height":224},"https:\u002F\u002Fcms.zuehlke.com\u002Fsites\u002Fdefault\u002Ffiles\u002Fstyles\u002Ffocal_point_3_2_small\u002Fpublic\u002Fimages\u002Fgettyimages-1284836641-web.jpg.webp?itok=XaQF1FFk",{"name":221,"url":640,"width":223,"height":224},{"name":610,"url":643,"width":229,"height":223},"https:\u002F\u002Fcms.zuehlke.com\u002Fsites\u002Fdefault\u002Ffiles\u002Fstyles\u002Ffocal_point_3_2_medium\u002Fpublic\u002Fimages\u002Fgettyimages-1284836641-web.jpg.webp?itok=bPE3hYnL",{"name":610,"url":643,"width":229,"height":223},{"name":610,"url":643,"width":229,"height":223},"gettyimages-1284836641-web.jpg",[648],{"id":561,"name":562},[650,653,654],{"id":651,"name":652},"129","Experience design",{"id":565,"name":566},{"id":568,"name":569},{"id":656,"path":657,"sharedTeaserTitle":658,"sharedTeaserRefMedia":659,"sharedTaxrefIndustries":676,"sharedTaxrefExpertises":678},"25704","\u002Fen\u002Finsights\u002Fadapt-smarter-with-a-change-readiness-assessment","Change readiness assessment: plan for meaningful investment",{"id":660,"sharedMediaLegend":211,"mediaImage":661,"name":675},"169570",{"url":662,"width":663,"height":664,"alt":665,"title":211,"size":666,"mime":218,"variations":211,"relatedContentVariations":667},"https:\u002F\u002Fcms.zuehlke.com\u002Fsites\u002Fdefault\u002Ffiles\u002Fimages\u002Fmale-and-female-computer-programmers-using-digital-tablet-at-desk-in-office.jpg",640,427,"Three colleagues review something on a tablet, seated at their work station",39080,[668,670,671,673,674],{"name":221,"url":669,"width":663,"height":664},"https:\u002F\u002Fcms.zuehlke.com\u002Fsites\u002Fdefault\u002Ffiles\u002Fstyles\u002Ffocal_point_3_2_small\u002Fpublic\u002Fimages\u002Fmale-and-female-computer-programmers-using-digital-tablet-at-desk-in-office.jpg.webp?itok=5AkjjZEi",{"name":221,"url":669,"width":663,"height":664},{"name":610,"url":672,"width":663,"height":664},"https:\u002F\u002Fcms.zuehlke.com\u002Fsites\u002Fdefault\u002Ffiles\u002Fstyles\u002Ffocal_point_3_2_medium\u002Fpublic\u002Fimages\u002Fmale-and-female-computer-programmers-using-digital-tablet-at-desk-in-office.jpg.webp?itok=J4r7KBVg",{"name":610,"url":672,"width":663,"height":664},{"name":610,"url":672,"width":663,"height":664},"male-and-female-computer-programmers-using-digital-tablet-at-desk-in-office.jpg",[677],{"id":561,"name":562},[679,682,685],{"id":680,"name":681},"19","Digital strategy",{"id":683,"name":684},"887","Business transformation",{"id":565,"name":566}]