iOS, Android and Web applications that share a single Rust core - Stuart Harris

Sdílet
Vložit
  • čas přidán 26. 08. 2024
  • The holy grail of being able to write an application once and deploy it to iOS, Android and the Web continue to elude us. Some solutions exist - React Native, Flutter and Kotlin Multiplatform Mobile - but they all have challenges. We’ll look at these challenges and the architecture patterns we can use to solve them. In particular, we’ll show how to build applications for mobile and web that share a pure, functional core written in Rust. We’ll dig into working code that banishes the magic of Foreign Function Interface (FFI) and WebAssembly (Wasm) and demonstrates how the Onion architecture can make our application easy to test.

Komentáře • 11

  • @duttaoindril
    @duttaoindril Před rokem +15

    This is mind blowing, and the first rust crate for real apps.

  • @BboyKeny
    @BboyKeny Před rokem +14

    I was looking for something like this. Looks very promising!

  • @hychung2333
    @hychung2333 Před 5 dny

    Greate!

  • @RobertBMenke
    @RobertBMenke Před rokem +2

    What about typeshare for serializing types over ffi?

  • @ThapeloRadebe
    @ThapeloRadebe Před 11 měsíci +2

    I was hoping for this CRUX to be better but Flutter is still the better option for now

  • @sturmenta
    @sturmenta Před 8 měsíci +1

    👏🏻👏🏻👏🏻

  • @artxiom
    @artxiom Před 2 měsíci +1

    Great talk! I don't agree though that platforms are best at UI - technically this may be true but it just doesn't scale. Needing two separate teams for basically the same application is just not a good enough solution in my opinion. Being idiomatic on a platform is hugely overrated - none of the "big" apps really are, they just follow their own UI/UX guidelines. It's only important to be consistent and provide a good user experience without conflicting with the underlying OS. Also the web is a mess anyway and people use it everyday.
    I worked previously on a pretty big cross-platform project and we resorted to Qt/Qml, which I really don't like, but it was okayish at least. UI/UX for sure wasn't the problem - no one ever complained, not a single user! The main issues were related to C++ and Qt bugs.
    We really need a solid platform-independent UI framework. Flutter could have become it if Google didn't make the really stupid decision to base it on Dart.
    Maybe Slint will fill this role in future? I don't know. Unfortunately they don't really support mobile very well as of today.

  • @DmitryRomanov
    @DmitryRomanov Před rokem +8

    Stsrts at 1:50

  • @michaelnajera7958
    @michaelnajera7958 Před 9 měsíci

    At least it’s in rust

  • @roughedge-machineworks
    @roughedge-machineworks Před rokem +12

    ooh look at another attempt of creating a silver bullet.. *sigh*..

  • @thedevminer
    @thedevminer Před rokem +4

    "JavaScript is layer on top of layer of sand"?
    And Rust isn't? You still have a linker and the moment you use any FFI you have a C compiler in your project again.
    Talk about layer on top of layer on sand.