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

Ғылым және технология

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.

Пікірлер: 10

  • @BboyKeny
    @BboyKeny Жыл бұрын

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

  • @duttaoindril
    @duttaoindril Жыл бұрын

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

  • @artxiom
    @artxiom22 күн бұрын

    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
    @DmitryRomanov10 ай бұрын

    Stsrts at 1:50

  • @RobertBMenke
    @RobertBMenke Жыл бұрын

    What about typeshare for serializing types over ffi?

  • @nicolassturm8853
    @nicolassturm88536 ай бұрын

    👏🏻👏🏻👏🏻

  • @michaelnajera7958
    @michaelnajera79587 ай бұрын

    At least it’s in rust

  • @ThapeloRadebe
    @ThapeloRadebe9 ай бұрын

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

  • @roughedge-machineworks
    @roughedge-machineworks Жыл бұрын

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

  • @thedevminer
    @thedevminer Жыл бұрын

    "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.

Келесі