# interop

Published articles for interop.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Calling for Interop 2027 proposals

DevFeed: [Calling for Interop 2027 proposals](<https://devfeed.tech/articles/calling-for-interop-2027-proposals-4253.md>)

Original publisher: [Read original article](<https://blogs.windows.com/msedgedev/2026/09/03/calling-for-interop-2027-proposals/>)

Author: Patrick Brosset

Published: 2026-09-03T16:09:17Z

Content type: article

Language: en

Sources: [Microsoft Edge Blog](<https://devfeed.tech/sources/microsoft-edge-blog.md>)

Topics: [Interop2027](<https://devfeed.tech/topics/interop2027.md>), [interoperability](<https://devfeed.tech/topics/interoperability.md>), [Web platform](<https://devfeed.tech/topics/web-platform.md>), [web-standards](<https://devfeed.tech/topics/web-standards.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>)

Tags: [browsers](<https://devfeed.tech/tags/browsers.md>), [developer](<https://devfeed.tech/tags/developer.md>), [interop](<https://devfeed.tech/tags/interop.md>), [interop2027](<https://devfeed.tech/tags/interop2027.md>), [interoperability](<https://devfeed.tech/tags/interoperability.md>), [uncategorized](<https://devfeed.tech/tags/uncategorized.md>), [web-platform](<https://devfeed.tech/tags/web-platform.md>)

### AI overview

The article opens the proposal process for Interop 2027, inviting submissions that address inconsistent implementation of standards-based web-platform features across browsers.

### Source excerpt

The Interop 2027 call for proposals is open, submit your ideas now! Over the past six years, the I The post Calling for Interop 2027 proposals appeared first on Microsoft Edge Blog.

## A Self-Baked Async FFI Framework for Rust C# Interop

DevFeed: [A Self-Baked Async FFI Framework for Rust C# Interop](<https://devfeed.tech/articles/a-self-baked-async-ffi-framework-for-rust-c-interop-4882.md>)

Original publisher: [Read original article](<https://www.scylladb.com/2026/08/31/async-ffi-framework-for-rust-c-interop/>)

Author: Cynthia Dunlop

Published: 2026-08-31T13:00:34Z

Content type: article

Language: en

Sources: [ScyllaDB](<https://devfeed.tech/sources/scylladb.md>)

Topics: [Rust](<https://devfeed.tech/topics/rust.md>), [Tokio](<https://devfeed.tech/topics/tokio.md>), [.NET](<https://devfeed.tech/topics/net.md>), [C#](<https://devfeed.tech/topics/csharp.md>), [scylladb](<https://devfeed.tech/topics/scylladb.md>), [For the Love of Code](<https://devfeed.tech/topics/for-the-love-of-code.md>)

Tags: [c-sharp](<https://devfeed.tech/tags/c-sharp.md>), [drivers](<https://devfeed.tech/tags/drivers.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [hackathon](<https://devfeed.tech/tags/hackathon.md>), [interop](<https://devfeed.tech/tags/interop.md>), [rust](<https://devfeed.tech/tags/rust.md>), [scylladb](<https://devfeed.tech/tags/scylladb.md>)

### AI overview

The article describes ScyllaDB's effort to build a Rust-based driver architecture with thin language-binding layers, focusing on a C# driver. It explains the motivation for creating a custom asynchronous FFI framework to connect Rust's Tokio runtime with .NET's async runtime over the C ABI, after existing binding-generation tools proved insufficient for Rust-C# async interoperation.

### Source excerpt

How we got tokio and .NET's async runtime talking to each other, over the C ABI

## Consuming SKIE Flows in SwiftUI - Gustavo Fão Valvassori

DevFeed: [Consuming SKIE Flows in SwiftUI - Gustavo Fão Valvassori](<https://devfeed.tech/articles/consuming-skie-flows-in-swiftui-gustavo-fao-valvassori-38317.md>)

Original publisher: [Read original article](<https://touchlab.co/skie-swiftui>)

Published: 2026-08-29T00:00:00Z

Content type: tutorial

Language: en

Sources: [Touchlab | Enterprise Mobile Innovation & Development](<https://devfeed.tech/sources/touchlab-enterprise-mobile-innovation-development.md>)

Topics: [SwiftUI](<https://devfeed.tech/topics/swiftui.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Swift](<https://devfeed.tech/topics/swift.md>), [Extension](<https://devfeed.tech/topics/extension.md>)

Tags: [boilerplate](<https://devfeed.tech/tags/boilerplate.md>), [community](<https://devfeed.tech/tags/community.md>), [extensions](<https://devfeed.tech/tags/extensions.md>), [interop](<https://devfeed.tech/tags/interop.md>), [kmp](<https://devfeed.tech/tags/kmp.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [libraries](<https://devfeed.tech/tags/libraries.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [skie](<https://devfeed.tech/tags/skie.md>), [swiftui](<https://devfeed.tech/tags/swiftui.md>)

### AI overview

This tutorial explains how to consume Kotlin Flows in SwiftUI using SKIE. It covers enabling SKIE extensions in Gradle and collecting StateFlow values through an async collect approach, a modifier, or a view wrapper to reduce repetitive UI-layer code.

### Source excerpt

SKIE already makes the interop between Kotlin and Swift smooth, but SwiftUI adds a layer of complexity. We've included a series of extensions in SKIE to enable easy KMP usage from SwiftUI

## Intent to Ship: JPEG XL

DevFeed: [Intent to Ship: JPEG XL](<https://devfeed.tech/articles/intent-to-ship-jpeg-xl-4154.md>)

Original publisher: [Read original article](<https://hacks.mozilla.org/2026/08/intent-to-ship-jpeg-xl/>)

Author: Jake Archibald

Published: 2026-08-24T15:32:15Z

Content type: article

Language: en

Sources: [Mozilla Hacks - the Web developer blog](<https://devfeed.tech/sources/mozilla-hacks-the-web-developer-blog.md>)

Topics: [Firefox](<https://devfeed.tech/topics/firefox.md>), [Web](<https://devfeed.tech/topics/web.md>), [Rust](<https://devfeed.tech/topics/rust.md>), [Firefox Nightly](<https://devfeed.tech/topics/firefox-nightly.md>), [Google](<https://devfeed.tech/topics/google.md>), [Chrome](<https://devfeed.tech/topics/chrome.md>), [C++](<https://devfeed.tech/topics/c-plus-plus.md>)

Tags: [blog](<https://devfeed.tech/tags/blog.md>), [browser](<https://devfeed.tech/tags/browser.md>), [browsers](<https://devfeed.tech/tags/browsers.md>), [c-plus-plus](<https://devfeed.tech/tags/c-plus-plus.md>), [developer](<https://devfeed.tech/tags/developer.md>), [features](<https://devfeed.tech/tags/features.md>), [firefox](<https://devfeed.tech/tags/firefox.md>), [firefox-nightly](<https://devfeed.tech/tags/firefox-nightly.md>), [google](<https://devfeed.tech/tags/google.md>), [hacks](<https://devfeed.tech/tags/hacks.md>), [interop](<https://devfeed.tech/tags/interop.md>), [mozilla](<https://devfeed.tech/tags/mozilla.md>), [uncategorized](<https://devfeed.tech/tags/uncategorized.md>), [web](<https://devfeed.tech/tags/web.md>)

### AI overview

Mozilla announces its intent to ship JPEG XL in Firefox, using Google Research's Rust-based jxl-rs decoder to provide secure, performant support. The article highlights progressive rendering and compares JPEG XL with AVIF for different image-compression use cases.

### Source excerpt

It isn't often that new image formats land in browsers. In the early 2000s we had JPEG, GIF, and PNG. The 2010s gave us WebP, which was a modest step up from JPEG. But the 2020s have given us two new image formats that are a big step up from previous formats: AVIF and JPEG [...] The post Intent to Ship: JPEG XL appeared first on Mozilla Hacks - the Web developer blog.

## Pure Virtual C++ 2026 Is a Wrap

DevFeed: [Pure Virtual C++ 2026 Is a Wrap](<https://devfeed.tech/articles/pure-virtual-c-2026-is-a-wrap-2961.md>)

Original publisher: [Read original article](<https://devblogs.microsoft.com/cppblog/pure-virtual-c-2026-is-a-wrap/>)

Author: Marian Luparu

Published: 2026-07-22T16:00:35Z

Content type: news

Language: en

Sources: [C++ Team Blog](<https://devfeed.tech/sources/c-team-blog.md>)

Topics: [C++](<https://devfeed.tech/topics/c-plus-plus.md>), [Visual Studio 2026](<https://devfeed.tech/topics/visual-studio-2026.md>), [build times](<https://devfeed.tech/topics/build-times.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [announcement](<https://devfeed.tech/tags/announcement.md>), [build-performance](<https://devfeed.tech/tags/build-performance.md>), [c-plus-plus](<https://devfeed.tech/tags/c-plus-plus.md>), [conference](<https://devfeed.tech/tags/conference.md>), [interop](<https://devfeed.tech/tags/interop.md>), [pure-virtual-c-plus-plus](<https://devfeed.tech/tags/pure-virtual-c-plus-plus.md>)

### AI overview

Pure Virtual C++ 2026 has concluded, and recordings of its featured and on-demand C++ conference sessions are available. Topics include C++/Rust interoperability, AI-assisted tooling, build times, C++20 modules, packages, MSVC, and profile-guided optimization.

### Source excerpt

Pure Virtual C++ 2026 is a wrap. Every featured and on-demand session is now available on YouTube -- catch up on C++/Rust interop, AI-driven tooling, build performance, and more. The post Pure Virtual C++ 2026 Is a Wrap appeared first on C++ Team Blog.

## The Future of KMP's iOS Interop - Daniel Bertoldi

DevFeed: [The Future of KMP's iOS Interop - Daniel Bertoldi](<https://devfeed.tech/articles/the-future-of-kmp-s-ios-interop-daniel-bertoldi-38329.md>)

Original publisher: [Read original article](<https://touchlab.co/the-future-of-kmps-ios-interop>)

Published: 2026-06-12T00:00:00Z

Content type: comparison

Language: en

Sources: [Touchlab | Enterprise Mobile Innovation & Development](<https://devfeed.tech/sources/touchlab-enterprise-mobile-innovation-development.md>)

Topics: [Kotlin Multiplatform](<https://devfeed.tech/topics/kotlin-multiplatform.md>), [Swift](<https://devfeed.tech/topics/swift.md>), [Objective-C](<https://devfeed.tech/topics/objective-c.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>), [multiplatform](<https://devfeed.tech/topics/multiplatform.md>)

Tags: [compare](<https://devfeed.tech/tags/compare.md>), [experimental](<https://devfeed.tech/tags/experimental.md>), [interop](<https://devfeed.tech/tags/interop.md>), [ios](<https://devfeed.tech/tags/ios.md>), [kmp](<https://devfeed.tech/tags/kmp.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [native](<https://devfeed.tech/tags/native.md>), [objective-c](<https://devfeed.tech/tags/objective-c.md>), [production](<https://devfeed.tech/tags/production.md>), [skie](<https://devfeed.tech/tags/skie.md>), [swift](<https://devfeed.tech/tags/swift.md>), [swift-export](<https://devfeed.tech/tags/swift-export.md>)

### AI overview

This comparison examines Kotlin Multiplatform iOS interoperability through Kotlin's experimental Swift Export and the Objective-C bridge enhanced by SKIE. It compares their generated output, capabilities, limitations, and tradeoffs.

### Source excerpt

Kotlin's new Swift Export feature promises to eliminate the Objective-C middleman and generate native Swift APIs directly from your KMP code. But with SKIE already solving many of the same pain points in production today, which approach should your team bet on? We break down the capabilities, limitations, and tradeoffs of both.

## Protocol Cluster Updates: May 2026

DevFeed: [Protocol Cluster Updates: May 2026](<https://devfeed.tech/articles/protocol-cluster-updates-may-2026-17223.md>)

Original publisher: [Read original article](<https://blog.ethereum.org/en/2026/05/11/protocol-update-may-26>)

Author: Will Corcoran; Kev Wedderburn; Fredrik

Published: 2026-05-11T00:00:00Z

Content type: article

Language: en

Sources: [Ethereum Foundation Blog](<https://devfeed.tech/sources/ethereum-foundation-blog.md>)

Topics: [Ethereum](<https://devfeed.tech/topics/ethereum.md>), [client](<https://devfeed.tech/topics/client.md>), [Post-Quantum](<https://devfeed.tech/topics/post-quantum.md>)

Tags: [ethereum](<https://devfeed.tech/tags/ethereum.md>), [hardening](<https://devfeed.tech/tags/hardening.md>), [interop](<https://devfeed.tech/tags/interop.md>), [leadership](<https://devfeed.tech/tags/leadership.md>), [norway](<https://devfeed.tech/tags/norway.md>), [research-development](<https://devfeed.tech/tags/research-development.md>), [team](<https://devfeed.tech/tags/team.md>), [updates](<https://devfeed.tech/tags/updates.md>), [upgrade](<https://devfeed.tech/tags/upgrade.md>)

### AI overview

This May 2026 update reports on an Ethereum core developer interop in Svalbard, where teams worked on hardening and preparing for the Glamsterdam upgrade. It highlights progress on the 200M gas limit floor, ePBS, EIP-8037, and Hegotá groundwork, and announces a transition in Ethereum Foundation Protocol cluster leadership.

### Source excerpt

A semi-regular gathering of Ethereum core devs from various client teams, or interop, recently took place in Svalbard, Norway. Over the week-long event, teams focused on hardening and preparation for the next upgrade, Glamsterdam. Several important milestones came out of the week, including: 200M gas limit floor established:...

## February 2026 Baseline monthly digest

DevFeed: [February 2026 Baseline monthly digest](<https://devfeed.tech/articles/february-2026-baseline-monthly-digest-4166.md>)

Original publisher: [Read original article](<https://web.dev/blog/baseline-digest-feb-2026?hl=en>)

Author: Jeremy Wagner GitHub LinkedIn Homepage

Published: 2026-03-30T07:00:00Z

Content type: article

Language: en

Sources: [web.dev: Blog](<https://devfeed.tech/sources/web-dev-blog.md>)

Topics: [Web platform](<https://devfeed.tech/topics/web-platform.md>), [web-standards](<https://devfeed.tech/topics/web-standards.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>), [CSS](<https://devfeed.tech/topics/css.md>), [Security](<https://devfeed.tech/topics/security.md>), [API](<https://devfeed.tech/topics/api.md>), [Document Object Model (DOM)](<https://devfeed.tech/topics/dom.md>), [vulnerability](<https://devfeed.tech/topics/vulnerability.md>), [SVG](<https://devfeed.tech/topics/svg.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [css](<https://devfeed.tech/tags/css.md>), [interop](<https://devfeed.tech/tags/interop.md>), [interoperability](<https://devfeed.tech/tags/interoperability.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [security](<https://devfeed.tech/tags/security.md>), [svg](<https://devfeed.tech/tags/svg.md>), [vulnerability](<https://devfeed.tech/tags/vulnerability.md>), [web-platform](<https://devfeed.tech/tags/web-platform.md>)

### AI overview

This February 2026 Baseline digest covers web platform features newly supported across major browser engines. It highlights Interop 2026, a CSS function for defining complex responsive shapes, and Trusted Types for protecting web applications against DOM-based cross-site scripting attacks.

### Source excerpt

Read about various happenings with Baseline during February 2026.

## Metro 0.11.0 and MEEPs!

DevFeed: [Metro 0.11.0 and MEEPs!](<https://devfeed.tech/articles/metro-0-11-0-and-meeps-39039.md>)

Original publisher: [Read original article](<https://www.zacsweers.dev/metro-0-11-0-and-meeps/>)

Author: Zac Sweers

Published: 2026-02-25T05:08:43Z

Content type: release

Language: en

Sources: [Zac Sweers](<https://devfeed.tech/sources/zac-sweers.md>)

Topics: [Development](<https://devfeed.tech/topics/development.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>)

Tags: [bugfixes](<https://devfeed.tech/tags/bugfixes.md>), [changes](<https://devfeed.tech/tags/changes.md>), [community](<https://devfeed.tech/tags/community.md>), [development](<https://devfeed.tech/tags/development.md>), [interop](<https://devfeed.tech/tags/interop.md>), [new-features](<https://devfeed.tech/tags/new-features.md>)

### AI overview

Metro 0.11.0 has been released after a period focused on foundation, interop, and feature parity. The release introduces MEEPs, a proposal mechanism for planned features and community feedback, and includes three implemented MEEPs alongside bug fixes, improvements, promoted features, and behavior changes.

### Source excerpt

Metro 0.11.0 is out now and it's a fun milestone in Metro's development. Up to this point most of the work in Metro has been focused around the foundation, interop, and frankly feature parity. It's in a really good place on that

## Launching Interop 2026

DevFeed: [Launching Interop 2026](<https://devfeed.tech/articles/launching-interop-2026-4147.md>)

Original publisher: [Read original article](<https://hacks.mozilla.org/2026/02/launching-interop-2026/>)

Author: Jake Archibald

Published: 2026-02-12T17:07:24Z

Content type: article

Language: en

Sources: [Mozilla Hacks - the Web developer blog](<https://devfeed.tech/sources/mozilla-hacks-the-web-developer-blog.md>)

Topics: [Web](<https://devfeed.tech/topics/web.md>), [Web platform](<https://devfeed.tech/topics/web-platform.md>), [web-standards](<https://devfeed.tech/topics/web-standards.md>), [browsers](<https://devfeed.tech/topics/browsers.md>), [Test coverage](<https://devfeed.tech/topics/coverage.md>), [dashboards](<https://devfeed.tech/topics/dashboards.md>), [WebRTC](<https://devfeed.tech/topics/webrtc.md>), [view transitions](<https://devfeed.tech/topics/view-transitions.md>), [CSS](<https://devfeed.tech/topics/css.md>)

Tags: [apple](<https://devfeed.tech/tags/apple.md>), [browser](<https://devfeed.tech/tags/browser.md>), [css](<https://devfeed.tech/tags/css.md>), [featured-article](<https://devfeed.tech/tags/featured-article.md>), [firefox](<https://devfeed.tech/tags/firefox.md>), [google](<https://devfeed.tech/tags/google.md>), [interop](<https://devfeed.tech/tags/interop.md>), [microsoft](<https://devfeed.tech/tags/microsoft.md>), [mozilla](<https://devfeed.tech/tags/mozilla.md>), [uncategorized](<https://devfeed.tech/tags/uncategorized.md>), [view-transitions](<https://devfeed.tech/tags/view-transitions.md>), [web](<https://devfeed.tech/tags/web.md>), [web-developers](<https://devfeed.tech/tags/web-developers.md>), [web-platform](<https://devfeed.tech/tags/web-platform.md>), [webrtc](<https://devfeed.tech/tags/webrtc.md>)

### AI overview

Mozilla's Interop Project is launching Interop 2026, continuing its cross-browser effort to improve web compatibility through shared priorities and Web Platform Tests. The article reviews Interop 2025's progress, including higher overall scores, broader cross-browser support for major web platform features, and improved reliability for existing features such as WebRTC, CSS Flexbox, and CSS Grid.

### Source excerpt

The Interop Project is a cross-browser initiative to improve web compatibility in areas that offer the most benefit to both users and developers. The group, including Apple, Google, Igalia, Microsoft, and Mozilla, takes proposals of features that are well defined in a sufficiently stable web standard, and have good test suite coverage. Then, we come [...] The post Launching Interop 2026 appeared first on Mozilla Hacks - the Web developer blog.

## Interop 2026: Continuing to improve the web for developers

DevFeed: [Interop 2026: Continuing to improve the web for developers](<https://devfeed.tech/articles/interop-2026-continuing-to-improve-the-web-for-developers-4170.md>)

Original publisher: [Read original article](<https://web.dev/blog/interop-2026?hl=en>)

Author: Rachel Andrew GitHub LinkedIn Mastodon Bluesky Homepage

Published: 2026-02-12T08:00:00Z

Content type: article

Language: en

Sources: [web.dev: Blog](<https://devfeed.tech/sources/web-dev-blog.md>)

Topics: [Web platform](<https://devfeed.tech/topics/web-platform.md>), [interoperability](<https://devfeed.tech/topics/interoperability.md>), [web-standards](<https://devfeed.tech/topics/web-standards.md>), [CSS](<https://devfeed.tech/topics/css.md>), [dialog](<https://devfeed.tech/topics/dialog.md>), [view transitions](<https://devfeed.tech/topics/view-transitions.md>), [browsers](<https://devfeed.tech/topics/browsers.md>), [dashboards](<https://devfeed.tech/topics/dashboards.md>)

Tags: [browsers](<https://devfeed.tech/tags/browsers.md>), [css](<https://devfeed.tech/tags/css.md>), [developers](<https://devfeed.tech/tags/developers.md>), [dialog](<https://devfeed.tech/tags/dialog.md>), [interop](<https://devfeed.tech/tags/interop.md>), [interoperability](<https://devfeed.tech/tags/interoperability.md>), [view-transitions](<https://devfeed.tech/tags/view-transitions.md>), [web](<https://devfeed.tech/tags/web.md>), [web-platform](<https://devfeed.tech/tags/web-platform.md>)

### AI overview

Interop 2026 is an effort by browser-engine contributors to improve web-platform interoperability. It focuses on high-priority issues for web developers and users, including anchor positioning, container style queries, dialogs and popovers, scroll-driven animations, and view transitions.

### Source excerpt

Learn about the features included in Interop 2026.

## Launching Interop 2025

DevFeed: [Launching Interop 2025](<https://devfeed.tech/articles/launching-interop-2025-4142.md>)

Original publisher: [Read original article](<https://hacks.mozilla.org/2025/02/interop-2025/>)

Author: James Graham

Published: 2025-02-13T16:59:13Z

Content type: article

Language: en

Sources: [Mozilla Hacks - the Web developer blog](<https://devfeed.tech/sources/mozilla-hacks-the-web-developer-blog.md>)

Topics: [Web Development](<https://devfeed.tech/topics/web-development.md>)

Tags: [accessibility](<https://devfeed.tech/tags/accessibility.md>), [browsers](<https://devfeed.tech/tags/browsers.md>), [css](<https://devfeed.tech/tags/css.md>), [featured-article](<https://devfeed.tech/tags/featured-article.md>), [firefox](<https://devfeed.tech/tags/firefox.md>), [interop](<https://devfeed.tech/tags/interop.md>), [interoperability](<https://devfeed.tech/tags/interoperability.md>), [storage](<https://devfeed.tech/tags/storage.md>), [view-transitions](<https://devfeed.tech/tags/view-transitions.md>), [web](<https://devfeed.tech/tags/web.md>), [web-developers](<https://devfeed.tech/tags/web-developers.md>), [web-platform](<https://devfeed.tech/tags/web-platform.md>), [webrtc](<https://devfeed.tech/tags/webrtc.md>), [zoom](<https://devfeed.tech/tags/zoom.md>)

### AI overview

Interop 2025 coordinates browser vendors around 19 web-platform focus areas to improve cross-browser compatibility. It follows Interop 2024, whose shared test pass rate reached 95% in current browser releases.

### Source excerpt

Interop 2025 continues the mission to make the web more consistent across browsers, building on 2024's 95% interoperability score. This year, 19 focus areas target key developer needs and long-standing issues, including WebRTC improvements, Storage Access API, and CSS Zoom. The post Launching Interop 2025 appeared first on Mozilla Hacks - the Web developer blog.

## Mix Compose Multiplatform with native iOS UI using Compose Swift Bridge - Gabriel Souza

DevFeed: [Mix Compose Multiplatform with native iOS UI using Compose Swift Bridge - Gabriel Souza](<https://devfeed.tech/articles/mix-compose-multiplatform-with-native-ios-ui-using-compose-swift-bridge-gabriel-souza-38184.md>)

Original publisher: [Read original article](<https://touchlab.co/compose-swift-bridge-launch>)

Published: 2024-11-06T00:00:00Z

Content type: release

Language: en

Sources: [Touchlab | Enterprise Mobile Innovation & Development](<https://devfeed.tech/sources/touchlab-enterprise-mobile-innovation-development.md>)

Topics: [compose-multiplatform](<https://devfeed.tech/topics/compose-multiplatform.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [Kotlin Multiplatform](<https://devfeed.tech/topics/kotlin-multiplatform.md>), [Code generation](<https://devfeed.tech/topics/code-generation.md>), [interoperability](<https://devfeed.tech/topics/interoperability.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>)

Tags: [boilerplate](<https://devfeed.tech/tags/boilerplate.md>), [code-generation](<https://devfeed.tech/tags/code-generation.md>), [compose-multiplatform](<https://devfeed.tech/tags/compose-multiplatform.md>), [experimental](<https://devfeed.tech/tags/experimental.md>), [interop](<https://devfeed.tech/tags/interop.md>), [ios](<https://devfeed.tech/tags/ios.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [multiplatform](<https://devfeed.tech/tags/multiplatform.md>), [swift](<https://devfeed.tech/tags/swift.md>)

### AI overview

Compose Swift Bridge is an experimental tool for Compose Multiplatform that automates integration between Compose UI and native iOS SwiftUI views. It generates Kotlin and Swift code from expected composable functions and supports state management through SKIE's Sub Plugin API.

### Source excerpt

Compose Multiplatform has a critical unique feature. On iOS, you can mix Compose UI with native iOS UI. This is all enabled by the direct interop of Kotlin Multiplatform. That capability is amazing for mobile development. However, the actual process of wiring these two requires a fair bit of boilerplate. We've launch Compose Swift Bridge to automate that.

## HighEdWeb 2024: Recent and Forthcoming HTML and CSS Features

DevFeed: [HighEdWeb 2024: Recent and Forthcoming HTML and CSS Features](<https://devfeed.tech/articles/highedweb-2024-20771.md>)

Original publisher: [Read original article](<https://erikrunyon.com/2024/09/heweb2024/>)

Author: Erik Runyon

Published: 2024-09-23T00:00:00Z

Content type: article

Language: en

Sources: [Erik Runyon](<https://devfeed.tech/sources/erik-runyon.md>)

Topics: [CSS](<https://devfeed.tech/topics/css.md>), [Web platform](<https://devfeed.tech/topics/web-platform.md>), [HTML](<https://devfeed.tech/topics/html.md>), [modern web development](<https://devfeed.tech/topics/modern-web-development.md>)

Tags: [conference](<https://devfeed.tech/tags/conference.md>), [css](<https://devfeed.tech/tags/css.md>), [html](<https://devfeed.tech/tags/html.md>), [interop](<https://devfeed.tech/tags/interop.md>), [web](<https://devfeed.tech/tags/web.md>), [web-development](<https://devfeed.tech/tags/web-development.md>), [web-platform](<https://devfeed.tech/tags/web-platform.md>)

### AI overview

A HighEdWeb 2024 presentation overviewing recent and forthcoming HTML and CSS features, including CSS layers, container queries, subgrid, and nesting. It also discusses syntax, real-world use cases, and upcoming CSS developments.

### Source excerpt

My presentation for HighEdWeb 2024 was an overview of many recent and forthcoming additions to the web platform, specifically HTML and CSS. Description CSS is Awesome Over the past few years, CSS has been gaining features at a rate that is almost impossible to follow. Features that once required pre-processors are now native to the platform. Variables? Check. Nesting? Check. And now there's even whispers of mixins. During this presentation we will examine many of the latest features added to CSS including layers, container queries, subgrid, nesting, and probably the dozens of others added since this presentation was submitted. We will discuss the syntax and look at real-world use-cases. We will also briefly cover what's on the horizon for CSS. Presentation Links Conference presentation details Slides Code Web Platform Info Interop 2024 Dashboard Web Platform Baseline Web Platform Status Keeping up with new features New to the web platform Stephanie Eckles Ahmad Shadeed Kevin Powell (YouTube)

## Livestream: Close the Swift/Kotlin Platform Gap - Touchlab

DevFeed: [Livestream: Close the Swift/Kotlin Platform Gap - Touchlab](<https://devfeed.tech/articles/livestream-close-the-swift-kotlin-platform-gap-touchlab-38173.md>)

Original publisher: [Read original article](<https://touchlab.co/close-the-platform-gap>)

Published: 2024-07-26T00:00:00Z

Content type: tutorial

Language: en

Sources: [Touchlab | Enterprise Mobile Innovation & Development](<https://devfeed.tech/sources/touchlab-enterprise-mobile-innovation-development.md>)

Topics: [Kotlin Multiplatform](<https://devfeed.tech/topics/kotlin-multiplatform.md>), [Swift](<https://devfeed.tech/topics/swift.md>), [multiplatform](<https://devfeed.tech/topics/multiplatform.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [Developer experience](<https://devfeed.tech/topics/developer-experience.md>)

Tags: [coroutines](<https://devfeed.tech/tags/coroutines.md>), [developer-experience](<https://devfeed.tech/tags/developer-experience.md>), [interop](<https://devfeed.tech/tags/interop.md>), [ios](<https://devfeed.tech/tags/ios.md>), [kmp](<https://devfeed.tech/tags/kmp.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [multiplatform](<https://devfeed.tech/tags/multiplatform.md>), [swift](<https://devfeed.tech/tags/swift.md>), [xcode](<https://devfeed.tech/tags/xcode.md>)

### AI overview

This livestream introduces the Swift/Kotlin platform gap in Kotlin Multiplatform development. It uses a "Bad Swift Simulation" to show how Kotlin APIs can lose modern features when exported to Swift, then discusses tools, best practices, and SKIE for improving Swift interoperability and developer experience.

### Source excerpt

Calling Kotlin Multiplatform from Swift can be a painful experience. Kotlin engineers new to KMP rarely understand the issues. The "Bad Swift Simulation" helps Kotlin engineers "feel the pain" by replicating the experience directly in Kotlin. With that experience, understanding how to fix the situation, and why you need to, is much simpler.

## Nyota Interop Recap ✨

DevFeed: [Nyota Interop Recap ✨](<https://devfeed.tech/articles/nyota-interop-recap-17101.md>)

Original publisher: [Read original article](<https://blog.ethereum.org/en/2024/05/22/nyota-interop-recap>)

Author: Tim Beiko

Published: 2024-05-22T00:00:00Z

Content type: news

Language: en

Sources: [Ethereum Foundation Blog](<https://devfeed.tech/sources/ethereum-foundation-blog.md>)

Topics: [Ethereum](<https://devfeed.tech/topics/ethereum.md>), [interoperability](<https://devfeed.tech/topics/interoperability.md>), [Network](<https://devfeed.tech/topics/network.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [Maintainers](<https://devfeed.tech/topics/maintainers.md>)

Tags: [africa](<https://devfeed.tech/tags/africa.md>), [ethereum](<https://devfeed.tech/tags/ethereum.md>), [events](<https://devfeed.tech/tags/events.md>), [interop](<https://devfeed.tech/tags/interop.md>), [maintainers](<https://devfeed.tech/tags/maintainers.md>), [network](<https://devfeed.tech/tags/network.md>), [recap](<https://devfeed.tech/tags/recap.md>), [research-development](<https://devfeed.tech/tags/research-development.md>), [testing](<https://devfeed.tech/tags/testing.md>)

### AI overview

The article recaps the Nyota interop event, where Ethereum client, testing, and research teams worked on multi-client interoperability across the Pectra, PeerDAS, and Verkle tracks. It also covers Frontiers Africa, a community event connecting Ethereum contributors with builders across the region.

### Source excerpt

Last week, Ethereum client, testing and research teams from around the world gathered together for a week of intense work on the Pectra network upgrade, PeerDAS and the Verge. Similarly to previous events like Edelweiss 🏔 or Amphora 🏺, the focus of the Nyota ✨ interop was achieving multi-client...

## Kotlin/Wasm interop with Javascript - Gustavo Fão Valvassori

DevFeed: [Kotlin/Wasm interop with Javascript - Gustavo Fão Valvassori](<https://devfeed.tech/articles/kotlin-wasm-interop-with-javascript-gustavo-fao-valvassori-38285.md>)

Original publisher: [Read original article](<https://touchlab.co/kotlin-wasm-js-interop>)

Published: 2024-03-27T00:00:00Z

Content type: tutorial

Language: en

Sources: [Touchlab | Enterprise Mobile Innovation & Development](<https://devfeed.tech/sources/touchlab-enterprise-mobile-innovation-development.md>)

Topics: [interoperability](<https://devfeed.tech/topics/interoperability.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [wasm](<https://devfeed.tech/topics/wasm.md>), [function](<https://devfeed.tech/topics/function.md>), [functions](<https://devfeed.tech/topics/functions.md>)

Tags: [functions](<https://devfeed.tech/tags/functions.md>), [interop](<https://devfeed.tech/tags/interop.md>), [interoperability](<https://devfeed.tech/tags/interoperability.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [kotlin-wasm](<https://devfeed.tech/tags/kotlin-wasm.md>), [wasm](<https://devfeed.tech/tags/wasm.md>), [web-assembly](<https://devfeed.tech/tags/web-assembly.md>)

### AI overview

This tutorial explains bidirectional interoperability between Kotlin/Wasm and JavaScript. It covers calling JavaScript from Kotlin/Wasm, exposing Kotlin/Wasm functions to JavaScript, export limitations, name collisions, and using JavaScript-defined types and browser APIs.

### Source excerpt

Kotlin/Wasm provides a bi-directional interoperability between Kotlin and Javascript, allowing you to call functions on either side. Let's dive into the topic and explore its limitations and workarounds.

## Interop 2023: MDN updates

DevFeed: [Interop 2023: MDN updates](<https://devfeed.tech/articles/interop-2023-mdn-updates-4069.md>)

Original publisher: [Read original article](<https://developer.mozilla.org/en-US/blog/interop2023-mdn-doc-updates/>)

Author: brian-smith

Published: 2024-03-27T00:00:00Z

Content type: article

Language: en

Sources: [MDN Blog](<https://devfeed.tech/sources/mdn-blog.md>)

Topics: [Web platform](<https://devfeed.tech/topics/web-platform.md>), [interoperability](<https://devfeed.tech/topics/interoperability.md>), [Interop2027](<https://devfeed.tech/topics/interop2027.md>), [Benchmark](<https://devfeed.tech/topics/benchmark.md>), [browsers](<https://devfeed.tech/topics/browsers.md>), [Headless Browser](<https://devfeed.tech/topics/headless-browser.md>), [Mozilla](<https://devfeed.tech/topics/mozilla.md>)

Tags: [automated](<https://devfeed.tech/tags/automated.md>), [benchmark](<https://devfeed.tech/tags/benchmark.md>), [browsers](<https://devfeed.tech/tags/browsers.md>), [compatibility](<https://devfeed.tech/tags/compatibility.md>), [interop](<https://devfeed.tech/tags/interop.md>), [interoperability](<https://devfeed.tech/tags/interoperability.md>), [mozilla](<https://devfeed.tech/tags/mozilla.md>), [tests](<https://devfeed.tech/tags/tests.md>), [web-platform](<https://devfeed.tech/tags/web-platform.md>)

### AI overview

This article explains the Interop project, a joint browser-vendor initiative that uses benchmarks and tests to improve consistent, standards-compliant web platform behavior across browsers. It reviews Interop 2023 updates on MDN and describes the Interop 2024 effort, including focus areas, dashboards, headless browser tests, Web Platform Tests, and browser fixes.

### Source excerpt

Interop 2023 has successfully concluded, and the Interop 2024 project is now officially underway. Learn what Interop is, discover the updates from Interop 2023 now on MDN, and find out what's coming to the web next.

## Border images in CSS: A key focus area for Interop 2023

DevFeed: [Border images in CSS: A key focus area for Interop 2023](<https://devfeed.tech/articles/border-images-in-css-a-key-focus-area-for-interop-2023-4025.md>)

Original publisher: [Read original article](<https://developer.mozilla.org/en-US/blog/border-images-interop-2023/>)

Author: dipika-bhattacharya

Published: 2023-12-19T00:00:00Z

Content type: tutorial

Language: en

Sources: [MDN Blog](<https://devfeed.tech/sources/mdn-blog.md>)

Topics: [Web platform](<https://devfeed.tech/topics/web-platform.md>), [web-standards](<https://devfeed.tech/topics/web-standards.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>)

Tags: [border-image](<https://devfeed.tech/tags/border-image.md>), [browsers](<https://devfeed.tech/tags/browsers.md>), [css](<https://devfeed.tech/tags/css.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [images](<https://devfeed.tech/tags/images.md>), [interop](<https://devfeed.tech/tags/interop.md>), [interoperability](<https://devfeed.tech/tags/interoperability.md>)

### AI overview

A tutorial on CSS border images, covering the longhand properties used to source, slice, size, outset, and repeat an image around an element's border. It also places the feature in Interop 2023's effort to make browser behavior consistent.

### Source excerpt

Aligning with Interop 2023's emphasis on cross-browser consistency, this post walks you through various `border-image` properties that you can control to create captivating web designs. Learn how to use custom graphics for enhancing the look of your websites that appear consistent across different browsers.

## Using Dart FFI and C for Objective-C and Swift Interoperability in Flutter iOS Apps

DevFeed: [Using Dart FFI and C for Objective-C and Swift Interoperability in Flutter iOS Apps](<https://devfeed.tech/articles/platform-channels-are-dead-objective-c-swift-interop-is-here-23986.md>)

Original publisher: [Read original article](<https://quickbirdstudios.com/blog/dart-swift-objective-c-interop/>)

Author: Marvin März

Published: 2023-12-11T15:43:49Z

Content type: tutorial

Language: en

Sources: [QuickBird Studios Blog](<https://devfeed.tech/sources/quickbird-studios-blog.md>)

Topics: [Dart](<https://devfeed.tech/topics/dart.md>), [Flutter](<https://devfeed.tech/topics/flutter.md>), [interoperability](<https://devfeed.tech/topics/interoperability.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [Swift](<https://devfeed.tech/topics/swift.md>), [Objective-C](<https://devfeed.tech/topics/objective-c.md>), [C](<https://devfeed.tech/topics/c.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [c](<https://devfeed.tech/tags/c.md>), [dart](<https://devfeed.tech/tags/dart.md>), [flutter](<https://devfeed.tech/tags/flutter.md>), [interop](<https://devfeed.tech/tags/interop.md>), [interoperability](<https://devfeed.tech/tags/interoperability.md>), [ios](<https://devfeed.tech/tags/ios.md>), [objective-c](<https://devfeed.tech/tags/objective-c.md>), [platform](<https://devfeed.tech/tags/platform.md>), [post](<https://devfeed.tech/tags/post.md>), [swift](<https://devfeed.tech/tags/swift.md>)

### AI overview

This guide explains how Dart 2.18's Objective-C/Swift Interop lets Flutter applications call native iOS code from Dart through Dart FFI and C. It discusses limitations of platform channels, including duplicated boilerplate and maintenance concerns, and introduces the interop approach.

### Source excerpt

Dart 2.18 introduced Objective-C/Swift Interop. In this comprehensive guide, we explore how to seamlessly integrate native iOS code into your Flutter app using Dart FFI and C as an interoperability layer. The post Platform Channels are Dead! Objective-C/Swift Interop is Here! appeared first on QuickBird Studios.

## Jetpack Compose: A use case for view interop migration strategy - Jigar Brahmbhatt

DevFeed: [Jetpack Compose: A use case for view interop migration strategy - Jigar Brahmbhatt](<https://devfeed.tech/articles/jetpack-compose-a-use-case-for-view-interop-migration-strategy-jigar-brahmbhatt-38227.md>)

Original publisher: [Read original article](<https://touchlab.co/jetpack-compose-a-use-case-for-view-interop-migration-strategy>)

Published: 2023-02-08T12:00:26Z

Content type: tutorial

Language: en

Sources: [Touchlab | Enterprise Mobile Innovation & Development](<https://devfeed.tech/sources/touchlab-enterprise-mobile-innovation-development.md>)

Topics: [Jetpack Compose](<https://devfeed.tech/topics/jetpack-compose.md>), [migration](<https://devfeed.tech/topics/migration.md>), [SDK](<https://devfeed.tech/topics/sdk.md>), [Android](<https://devfeed.tech/topics/android.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [compose](<https://devfeed.tech/tags/compose.md>), [fragment](<https://devfeed.tech/tags/fragment.md>), [fragments](<https://devfeed.tech/tags/fragments.md>), [interop](<https://devfeed.tech/tags/interop.md>), [jetpack-compose](<https://devfeed.tech/tags/jetpack-compose.md>), [layout](<https://devfeed.tech/tags/layout.md>), [migration](<https://devfeed.tech/tags/migration.md>), [navigation](<https://devfeed.tech/tags/navigation.md>), [redesign](<https://devfeed.tech/tags/redesign.md>), [sample](<https://devfeed.tech/tags/sample.md>), [sdk](<https://devfeed.tech/tags/sdk.md>), [testing](<https://devfeed.tech/tags/testing.md>)

### AI overview

This article describes using Jetpack Compose with existing Android views and fragments during a sample app redesign for an SDK. It explains a Fragments-in-Compose approach, Compose navigation, SharedPreferences reuse, and adjustments needed for UI testing.

### Source excerpt

We had an opportunity to redesign the sample app for an SDK we're developing, using Jetpack Compose as part of our interop migration strategy.

## Edelweiss Interop Recap

DevFeed: [Edelweiss Interop Recap](<https://devfeed.tech/articles/edelweiss-interop-recap-17051.md>)

Original publisher: [Read original article](<https://blog.ethereum.org/en/2023/02/07/edelweiss-interop-recap>)

Author: EF Protocol Support

Published: 2023-02-07T00:00:00Z

Content type: news

Language: en

Sources: [Ethereum Foundation Blog](<https://devfeed.tech/sources/ethereum-foundation-blog.md>)

Topics: [Protocol (disambiguation)](<https://devfeed.tech/topics/protocol.md>), [Network](<https://devfeed.tech/topics/network.md>), [client](<https://devfeed.tech/topics/client.md>), [Transactions](<https://devfeed.tech/topics/transactions.md>)

Tags: [developers](<https://devfeed.tech/tags/developers.md>), [event](<https://devfeed.tech/tags/event.md>), [interop](<https://devfeed.tech/tags/interop.md>), [network](<https://devfeed.tech/tags/network.md>), [performance](<https://devfeed.tech/tags/performance.md>), [protocol](<https://devfeed.tech/tags/protocol.md>), [recap](<https://devfeed.tech/tags/recap.md>), [research-development](<https://devfeed.tech/tags/research-development.md>), [tests](<https://devfeed.tech/tags/tests.md>), [workshops](<https://devfeed.tech/tags/workshops.md>)

### AI overview

Ethereum protocol developers met at the Edelweiss interop event in Austria to test and advance the Shapella and ProtoDanksharding upgrades. The event produced a revised consensus-layer queueing design, stress-tested devnets, and an all-client EIP-4844 devnet, while EOF discussions ended without a concrete specification.

### Source excerpt

With The Merge now firmly behind us, protocol developers have been making progress across a (record?) number of areas over the past few months. Withdrawals, danksharding, EOF, verkle tries, history expiry, SSZ and more have all seen significant progress recently! In order to help move each of these threads...

## Unmanaged Code Execution with .NET Dynamic PInvoke

DevFeed: [Unmanaged Code Execution with .NET Dynamic PInvoke](<https://devfeed.tech/articles/unmanaged-code-execution-with-net-dynamic-pinvoke-20504.md>)

Original publisher: [Read original article](<https://bohops.com/2022/04/02/unmanaged-code-execution-with-net-dynamic-pinvoke/>)

Author: bohops

Published: 2022-04-02T16:45:49Z

Content type: tutorial

Language: en

Sources: [Bohops](<https://devfeed.tech/sources/bohops.md>)

Topics: [.NET](<https://devfeed.tech/topics/net.md>), [C#](<https://devfeed.tech/topics/csharp.md>), [Code](<https://devfeed.tech/topics/code.md>), [Endpoint Security & XDR](<https://devfeed.tech/topics/endpoint-security-xdr.md>)

Tags: [c-sharp](<https://devfeed.tech/tags/c-sharp.md>), [code](<https://devfeed.tech/tags/code.md>), [endpoint-security](<https://devfeed.tech/tags/endpoint-security.md>), [interop](<https://devfeed.tech/tags/interop.md>), [native](<https://devfeed.tech/tags/native.md>), [net](<https://devfeed.tech/tags/net.md>), [security](<https://devfeed.tech/tags/security.md>), [uncategorized](<https://devfeed.tech/tags/uncategorized.md>)

### AI overview

This developer article explains classic P/Invoke in .NET and introduces Dynamic PInvoke, a technique for calling and executing native code differently from managed code. It discusses limitations, .NET executable structure, and possible defensive-evasion implications.

### Source excerpt

Yes, you read that correctly - "Dynamic Pinvoke" as in "Dynamic Platform Invoke" Background Recently, I was browsing through Microsoft documentation and other blogs to gain a better understanding of .NET dynamic types and objects. I've always found the topic very interesting mainly due to its relative obscurity and the offensive opportunities for defensive evasion. [...]

## Kotlin Native -- Using swift, not Objective-C

DevFeed: [Kotlin Native -- Using swift, not Objective-C](<https://devfeed.tech/articles/kotlin-native-using-swift-not-objective-c-24746.md>)

Original publisher: [Read original article](<https://medium.com/yazio-engineering/kotlin-native-using-swift-not-objective-c-d7742c040539?source=rss----65bd178b00af---4>)

Author: Paul Woitaschek

Published: 2021-11-19T08:00:42Z

Content type: tutorial

Language: en

Sources: [YAZIO Engineering - Medium](<https://devfeed.tech/sources/yazio-engineering-medium.md>)

Topics: [kotlin-native](<https://devfeed.tech/topics/kotlin-native.md>), [Code generation](<https://devfeed.tech/topics/code-generation.md>), [Swift](<https://devfeed.tech/topics/swift.md>), [Objective-C](<https://devfeed.tech/topics/objective-c.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [code-generation](<https://devfeed.tech/tags/code-generation.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [interop](<https://devfeed.tech/tags/interop.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [kotlin-native](<https://devfeed.tech/tags/kotlin-native.md>), [ksp](<https://devfeed.tech/tags/ksp.md>), [library](<https://devfeed.tech/tags/library.md>), [objective-c](<https://devfeed.tech/tags/objective-c.md>), [swift](<https://devfeed.tech/tags/swift.md>)

### AI overview

This tutorial explains how YAZIO uses Kotlin Native for shared business logic while providing a Swift-native iOS API. It describes the limitations of Kotlin-to-Objective-C interoperability and shows how KSP and SwiftPoet can generate Swift mappings for Kotlin types such as enums and sealed classes.

### Source excerpt

Kotlin Native -- Using Swift, not Objective-C At YAZIO we use Kotlin Native Extensively. The business logic of all new app features is exclusively written in Kotlin. In its core, every screen has one ViewModel which exposes a single Flow<ViewState> that the Android App and the iOS can consume to render the state. On Android, rendering the view state is no burden because it's the language we use in the Android App anyways. However this is different for iOS. While Swift does interop with Objective-C, the public API as seen from Swift is bad. A simple data class is exported as a regular class. The properties are not native Swift types. What should be a Bool becomes a KotlinBoolean. What should be come a Double becomes a KotlinDouble. But what we want is most of the times a struct with Swift types. These are the lesser evils, the greater ones are enums and sealed classes. In Objective-C, they both become regular classes. And therefore lose all the advantages they have when used from Swift. But what we want is a Swift enum. To overcome these restrictions for quite some time our iOS team has created mappings. There is a whole target, dedicated to mapping the Objective-C classes to Swift. Basically when developing a new feature, the whole public API is manually mapped to Swift. This is good because the result is a clean Swift-native API. But that's bad because it's extreme boilerplate and a real productivity killer. What if we could directly generate these mappings and use code generation to handle that for us? Turns out: There are two tools available that make it possible. The first one is KSP. It is basically a library that lets you implement a Kotlin compiler plugin and it gives you hooks to analyze the Kotlin Syntax Tree and generate code based on it. The second one is SwiftPoet. SwiftPoet is a library you can use to generate Swift code from Kotlin, similar to what KotlinPoet and JavaPoet do. Okay, let's get our handy dirty. For the basic setup, just follow the tutorial

[Next page](<https://devfeed.tech/tags/interop.md?cursor=WyIyMDIxLTExLTE5VDA4OjAwOjQyKzAwOjAwIiwgIjNiZmEwYTkwLWRhZWItNDNlYy05MDM2LTkxODhlNjg1MjRkMSJd>)