Last week, the long-awaited new generation #ProtonMail apps were released for #Android and #iOS! They are faster and with new features (see https://proton.me/blog/new-mail-apps for details).

Especially interesting for me is the use of #Rust: about 80% of the code is shared between the platforms now. This is thanks to #UniFFI allowing us to write native Swift/Kotlin code on top of a solid Rust core.

#rustlang #interoperability #swift #kotlin

I have been banging my head against the wall for an entire day now.
Something is not right with my static Rust library built for iOS architecture 🦀
It works as expected, but I am swimming in an ocean of warnings 🌊 ⚠️
Heeeelp 🛟
https://github.com/mozilla/uniffi-rs/issues/2486
#rust #uniffi #iosdev #ios
Object file was built for newer 'iOS-simulator' version (18.2) than being linked (15.3) · Issue #2486 · mozilla/uniffi-rs

The deployment target of my iOS project is iOS 15.3, but when I add the Rust library it complains that the object files are built for iOS 18.2. As far as I can see, it looks like it should be build...

GitHub
🌘 使用UniFFI自動生成Rust-JS綁定 - Mozilla Hacks - 網頁開發者博客
➤ UniFFI的自動生成綁定解決了Firefox同步團隊的問題
https://hacks.mozilla.org/2023/08/autogenerating-rust-js-bindings-with-uniffi/
這篇文章介紹了Mozilla在Firefox同步團隊上的工作,他們使用UniFFI開發了一個Rust庫,用於自動生成外部語言綁定。這個項目解決了手動編寫多種語言綁定的問題,並且成功地在Firefox上實現了單一組件的目標。
+ 這個項目真的很有用,能夠節省開發人員的時間和精力。
+ UniFFI的應用在跨平臺開發中非常有價值,希望能看到更多類似的項目。
#Rust #JavaScript #UniFFI
Autogenerating Rust-JS bindings with UniFFI – Mozilla Hacks - the Web developer blog

This blog post will walk through how we developed UniFFI: a Rust library for auto-generating foreign language bindings.

Mozilla Hacks – the Web developer blog

If you are not up to date with the state of chat and VoIP in the #fediverse here is your chance to get a 45 minutes deep dive on #Matrix worth watching: https://www.youtube.com/watch?v=eUPJ9zFV5IE

#JetpackCompose #SwiftUI #Rust #Go #UniFFI #MatrixRTC interoperable conferencing #Waterfall #DMA #P2PoverBLE #ThirdRoom #WebXR #WASM

Matrix 2.0 — How we're making Matrix go voom!

NOTE: we'll update the FOSDEM 2023 playlist as we gather all the talks. Stay tuned for more Matrix content.This video was recorded during FOSDEM 2023, and ca...

YouTube

Use Rust async functions and methods in Swift, Kotlin and Python, https://github.com/mozilla/uniffi-rs/pull/1409.

It's ready! Large PR, sorry for the reviewers.

#RustLang #kotlin #SwiftLang #future #async #uniffi #bindgen

feat: Add support for async/Future by Hywan · Pull Request #1409 · mozilla/uniffi-rs

Quick explanation This is a patch to add support for async/Future inside uniffi-rs. At the time of writing, it works very well with Python, Swift and Kotlin. Any Future<Output = T> or Future<Output...

GitHub

Oh, a Rust Future being awaited in Swift. How nice it is :-).

More to come.

#RustLang #SwiftLang #uniffi

Rust async functions to Python over FFI ✅

Now let’s target Swift ⏳.

WIP PR: https://github.com/mozilla/uniffi-rs/pull/1409

#uniffi #RustLang #python #SwiftLang

feat: Add support for async/Future by Hywan · Pull Request #1409 · mozilla/uniffi-rs

Quick explanation This is a patch to add support for async/Future inside uniffi-rs. At the time of writing, it works very well with Python, Swift and Kotlin. Any Future<Output = T> or Future<Output...

GitHub