Write once, run everywhere: building apps with Dioxus - Jonathan Kelley - RustNL 2023

แชร์
ฝัง

ความคิดเห็น • 110

  • @Perspectologist
    @Perspectologist 11 หลายเดือนก่อน +79

    This was a great presentation. I’m currently experimenting with Dioxus, and so far I’m very impressed.

    • @learningop810
      @learningop810 8 หลายเดือนก่อน +1

      so it has been 3 months. I m a bit confused between yew and dixous .What are your opinions

    • @Perspectologist
      @Perspectologist 7 หลายเดือนก่อน

      @@learningop810 I got further with Dioxus than Yew, unfortunately I got pulled away from Rust to work on maintaining projects in other languages. I like the idea of Dioxus, but haven’t had enough time with it.

    • @thegrabbler622
      @thegrabbler622 7 หลายเดือนก่อน

      @@learningop810 not OP but I'd take a look at leptos, I've had a lot of fun with it so far

    • @thewilltejeda
      @thewilltejeda 6 หลายเดือนก่อน

      ​@@learningop810what is up with these crate names lol

  • @HyperFocusMarshmallow
    @HyperFocusMarshmallow 11 หลายเดือนก่อน +25

    That live reloading at the end is awesome. I didn't get how it works at all but I guess I'll checkout the docs.

  • @badc0der
    @badc0der หลายเดือนก่อน +3

    Rust still needs time to find its way in UI development. Unfortunately none of the projects seem to be good enough for something more than a few buttons and input fields. I think, though, the process is natural for Rust. We'll get there and this work is fundamental to understanding what works and what doesn't. We have to try 99 times in order to get that 1 time right. We're still below 50 tries so quite a long way to go. Congratulations to RustNL for bringing this content to everyone!

  • @yos2413
    @yos2413 3 หลายเดือนก่อน +2

    I know dart/flutter and using rust with this approach solves A LOT of pain points I have with dart's bad language design decisions, right now this is my favorite rust front-end framework, good work!

  • @JamesHarrisonHaribo
    @JamesHarrisonHaribo 6 หลายเดือนก่อน +3

    This is so Effin' amazing! I've looked into the library, and I must say the "fullstack" flavour, which is essentially, isomorphic server rendering and hydrating into web assembly is the bomb. 😍

  • @damsektry6233
    @damsektry6233 8 หลายเดือนก่อน +3

    Really great presentation. I just embrace the rust world and I'm amazed every days

  • @fabracht
    @fabracht 11 หลายเดือนก่อน +8

    This is awesome work.

  • @steav677
    @steav677 7 หลายเดือนก่อน +1

    Great work!
    Super awesome rust could be used to this extent.

  • @methedudeful
    @methedudeful 8 หลายเดือนก่อน +17

    I am seriously impressed with this library. I love the choice to emulate React. Why bend the developer community to our ideals? Instead we tool makers bend, so that developers feel comfortable and empowered to build products quickly.

  • @riigel
    @riigel 3 หลายเดือนก่อน +1

    really easy to understand! nice!

  • @rotteegher39
    @rotteegher39 2 หลายเดือนก่อน +1

    Absolutely Incredible!!!

  • @antoniong4380
    @antoniong4380 3 หลายเดือนก่อน +1

    If I had money and Dioxus was for-profit: "Shut up and take my money"
    That hot reloading is really amazing for a compiled language

  • @salman8562
    @salman8562 11 หลายเดือนก่อน +4

    Great video, what is the theme that he is using in the Vscode? I kinda like it.

  •  8 หลายเดือนก่อน +1

    This looks really cool. I’ll definitely build something with it.

  • @qm3ster
    @qm3ster 11 หลายเดือนก่อน +19

    Really great ergonomics.
    But why VDOM and not signals in CURRENT_YEAR?

    • @charetjc
      @charetjc 11 หลายเดือนก่อน +2

      Cause leptos exists?

    • @qm3ster
      @qm3ster 11 หลายเดือนก่อน +5

      @@anonymousalexander6005 But the native UI APIs don't take a tree, they take imperative mutations, just like the DOM does. Why compute the list of mutations with VDOM diffing and not mapping signals?

    • @Th3HarzyGamePlays
      @Th3HarzyGamePlays 9 หลายเดือนก่อน

      Dioxus has signals too

    • @silvantonio
      @silvantonio หลายเดือนก่อน

      VDOM is very powerful. You may lose with vdom on one side, but end up winning on many others. You can think of vdom as an AST and all the benefits that this brings.

    • @muska-ej7cv
      @muska-ej7cv หลายเดือนก่อน

      it's based on blockdom/million which without going into a deep explanation allows the vdom to be equally as fast as signals. take a look at js framework benchmark.

  • @robertotomas
    @robertotomas 11 หลายเดือนก่อน +9

    would love to see details on mobile setup (I can pitch in , though Im no veteran of mobile dev)

  • @CipherOne
    @CipherOne 9 หลายเดือนก่อน +2

    Brilliant.

  • @xorlop
    @xorlop 2 หลายเดือนก่อน +2

    I am trying dioxus sooooon

  • @L0wPressure
    @L0wPressure 11 หลายเดือนก่อน +7

    I don’t know, looks clean to me. Don’t see any problem with reacts approach.

  • @RainbowPigeon15
    @RainbowPigeon15 หลายเดือนก่อน

    the recent updates made the code even simpler than what is presented. Pretty impressive library so far

  • @user-zg9vu6rb7o
    @user-zg9vu6rb7o 4 หลายเดือนก่อน +1

    lovely

  • @fire17102
    @fire17102 11 หลายเดือนก่อน +12

    What a great presentation!
    I think the cross platform app development is a much bigger pain point for the entire industry, not just Rust's. If Dioxus is any good please consider adding an API that can be called from other stacks, such as my python FastAPI/Flask backend. That would be amazing.
    Thanks a lot and all the best!

    • @PaulSebastianM
      @PaulSebastianM 5 หลายเดือนก่อน

      Wut? 🧐 What do you mean?

    • @fire17102
      @fire17102 5 หลายเดือนก่อน

      @@PaulSebastianMlemme know which part wasn't clear enough... Seems like at least 10 ppl got with my take

    • @PaulSebastianM
      @PaulSebastianM 5 หลายเดือนก่อน

      @@fire17102 if only downvotes worked...

  • @deepakkamble3602
    @deepakkamble3602 8 หลายเดือนก่อน +1

    greatest thing i evered seen

  • @HelloThere-xs8ss
    @HelloThere-xs8ss 11 หลายเดือนก่อน +4

    Tauri compile times kill me for some reason. Rust compilations do not take that long any other time

  • @chaosprint
    @chaosprint 2 หลายเดือนก่อน

    Comparison with Tauri is skipped but I am curious on that.

  • @jamiepond
    @jamiepond 11 หลายเดือนก่อน +4

    fucking amazing

  • @hlavaatch
    @hlavaatch 11 หลายเดือนก่อน +8

    Looked interesting, until I found out it just wraps Tauri

    • @VivekYadav-ds8oz
      @VivekYadav-ds8oz 9 หลายเดือนก่อน +5

      And why is that bad? Is it 'cause they made fun of Electron while using another (lightweight) Electron? Genuinely asking.

  • @Malbocha
    @Malbocha 5 หลายเดือนก่อน +2

    Anyone know the name of the VS Code theme?

  • @egorivanov489
    @egorivanov489 4 หลายเดือนก่อน

    Great video, great presentation. I hope switching to Dioxus from egui won't be painful. I used to use egui for building desktop apps but when it came to WASM, it was too painful. A big amount of errors, unstable work and lots of limits. But what I like in egui is a pretty big amount of Widgets that could be used. I haven't found it in Dioxus, maybe I should search better.
    IMHO Dioxus is better than egui if your target is WASM.

  • @hendrykhoza4782
    @hendrykhoza4782 7 หลายเดือนก่อน +1

    what theme is he using?

  • @hendrykhoza4782
    @hendrykhoza4782 7 หลายเดือนก่อน +1

    wee need support for tailwind

  • @dorktales254
    @dorktales254 หลายเดือนก่อน

    Write once, Run Everywhere? Where have I heard that before 😄

  • @PaulSebastianM
    @PaulSebastianM 5 หลายเดือนก่อน

    33:19 that is what Blazor Server does.

  • @Alex-hr2df
    @Alex-hr2df 6 หลายเดือนก่อน +1

    What! Rust frontend framework?!

  • @RoastLambShanks
    @RoastLambShanks 6 หลายเดือนก่อน +1

    I didn't know there was a new season of Silicon Valley.

  • @evenzero
    @evenzero 11 หลายเดือนก่อน +1

    I had to try it out, nice but way early

  • @randomtvninja
    @randomtvninja 11 หลายเดือนก่อน +6

    Is it just me or does he give off Richard from silicon valley vibes..

  • @codeking4585
    @codeking4585 14 วันที่ผ่านมา

    He loves dancing

  • @izwe794
    @izwe794 11 หลายเดือนก่อน +13

    i'd love to see one of these based on svelte

    • @MiiaoTheFC
      @MiiaoTheFC 11 หลายเดือนก่อน +6

      Yeah, all those React-inspired things are obviously great work, but certainly not for me

    • @ironhammer4095
      @ironhammer4095 11 หลายเดือนก่อน +11

      @@MiiaoTheFC There's Leptos. It uses the Signals model similar to SolidJS. No Virtual DOM. It can do SSR too if you want.

    • @Th3HarzyGamePlays
      @Th3HarzyGamePlays 9 หลายเดือนก่อน

      @@ironhammer4095 Dioxus has signals too

    • @VivekYadav-ds8oz
      @VivekYadav-ds8oz 9 หลายเดือนก่อน +1

      Svelte is like a new language that looks similar to JS, because they needed to extend JS' syntax. Don't proc-macros fulfill that need for Rust?

    • @MiiaoTheFC
      @MiiaoTheFC 9 หลายเดือนก่อน

      @@VivekYadav-ds8oz they sorta do, but we prefer not to change the syntax a lot

  • @sergey9679
    @sergey9679 4 หลายเดือนก่อน

    I hope Dioxus is gonna get more mature soon.

  • @Originalimoc
    @Originalimoc 11 หลายเดือนก่อน +3

    Closest competitor is probably Compose Multiplatform?

    • @valmirius
      @valmirius 9 หลายเดือนก่อน +1

      Avalonia UI is probably the most comprehensive and well built cross platform GUI framework (with some tradeoffs) I've seen at the moment. They're still working on web though.
      Compose looks really good too

    • @julesoscar8921
      @julesoscar8921 5 หลายเดือนก่อน

      Compose is very bloated

  • @gjermundification
    @gjermundification 5 หลายเดือนก่อน

    Decent and electron in the same sentence? What is he on? Swift and Rust are my 2 favourite languages. Swift can't do web? Kitura, Perfect, Smoke, and Vapor are all just an illusion? Yew, Cargo error messages, RataTUI, cargo, UIKit, and vapor are all amazing.

  • @hakn_d
    @hakn_d หลายเดือนก่อน

    Hi there. For vello project, please dont make calculations for out of scene materials. Just let work physics you know.

  • @yaminnather521
    @yaminnather521 หลายเดือนก่อน

    Everything looks good expect the HTML CSS adoption :). Prefer the way Flutter and Compose UI does layout and rendering.

  • @Tigregalis
    @Tigregalis 8 หลายเดือนก่อน +1

    36:20 I think Vue 3 did it first.

  • @devfagundes
    @devfagundes ปีที่แล้ว

    I tried the "clicked" thing and didn't work for me.

    • @dirac7233
      @dirac7233 11 หลายเดือนก่อน +1

      It doesn't work for me either. It's certainly a little bug that will be fixed in the next patch.

    • @devfagundes
      @devfagundes 11 หลายเดือนก่อน +3

      @@dirac7233 ​ @dirac7233 TH-cam deleted my comment. I found how to fix that. In depedencies instead of declaring dioxus = "0.3.2", replace the version "0.3.2" for the dioxus git repository adress. "/dioxuslabs/dioxus" it should work.

  • @privettoli
    @privettoli 4 หลายเดือนก่อน

    What happened to Qt and Delphi? 😂

  • @daviidon
    @daviidon 8 หลายเดือนก่อน

    Dart can call any language that can export a c abi

    • @julesoscar8921
      @julesoscar8921 5 หลายเดือนก่อน

      We don't do that in Rust

  • @GUIGuyify
    @GUIGuyify 11 หลายเดือนก่อน +2

    AvaloniaUI is good for cross platform desktop apps Windows Mac Linux… if you like C#

  • @ukyoize
    @ukyoize 6 หลายเดือนก่อน

    What is this, Java?

  • @bezimienny5
    @bezimienny5 2 หลายเดือนก่อน +1

    What I actually like about Flutter is that I don't have to worry about a million ways to incorporate 30+ years worth of CSS legacy just to center a popup on screen. Unfortunately, this kills Dioxus for me as a Desktop framework, but I do still think it has a place as a fullstack web thing. Just not a fan of WebViews in native apps, sorry.

    • @nextlifeonearth
      @nextlifeonearth หลายเดือนก่อน

      Mostly this yeah. Flutter has its own limits, being Dart only for one.
      Don't get me wrong, I am unconvinced that a language can be a blocker for any proper software engineer, learning a language is a fraction of the effort and time spent learning a framework.
      Issue arises with platform support when basically all libraries are written in languages like c and you have to write glue for these libraries or god forbid rewrite them in dart.
      Imagine it had an efficient c interface, any language could use it.

  • @vlad7269
    @vlad7269 9 หลายเดือนก่อน

    We need "cool" counter 😂

  • @edhahaz
    @edhahaz 4 หลายเดือนก่อน

    n+1

  • @todorelax1793
    @todorelax1793 15 วันที่ผ่านมา

    why so Nervious 🤣

  • @meyou118
    @meyou118 ปีที่แล้ว +16

    virtual dom == -1

  • @utubebroadcastme
    @utubebroadcastme 5 หลายเดือนก่อน

    So instead of actually building a UI framework, you're just running CSS+HTML inside of rust ...
    hmm I don't know I have mixed feelings

  • @claudiusraphael9423
    @claudiusraphael9423 5 หลายเดือนก่อน

    OWO

  • @avi7278
    @avi7278 4 หลายเดือนก่อน

    Actually no, if I don't want my button to look the same on every platform. I want my UI to adapt to the platform. On iOS I want my app to look like an iOS app with iOS buttons. Not a very strong start, young padawan.

  • @gatosssss1
    @gatosssss1 5 หลายเดือนก่อน +1

    Good video but why does he sound like he is about to shit himself?

    • @privettoli
      @privettoli 4 หลายเดือนก่อน

      Lack of experience in public speaking

  • @LUKAS3675
    @LUKAS3675 8 หลายเดือนก่อน

    as a Flutter developer I see some hypocrisy here,
    mocking Flutter and proposing yet another web based multi platform,
    the idea of using flutter rendering with rust using a crate sounds like a better idea

    • @David-iq1kd
      @David-iq1kd 6 หลายเดือนก่อน

      Similar to Clojure-Dart for example?

    • @julesoscar8921
      @julesoscar8921 5 หลายเดือนก่อน

      Macro works out of the box, with flutter_rust_bridge, you obviously need to install flutter and use dart

  • @olsuhvlad
    @olsuhvlad 7 หลายเดือนก่อน

    13 And no man hath ascended up to heaven, but he that came down from heaven, even the Son of man which is in heaven.
    14 And as Moses lifted up the serpent in the wilderness, even so must the Son of man be lifted up:
    15 That whosoever believeth in him should not perish, but have eternal life.
    16 For God so loved the world, that he gave his only begotten Son, that whosoever believeth in him should not perish, but have everlasting life.
    17 For God sent not his Son into the world to condemn the world; but that the world through him might be saved.
    18 He that believeth on him is not condemned: but he that believeth not is condemned already, because he hath not believed in the name of the only begotten Son of God.
    19 And this is the condemnation, that light is come into the world, and men loved darkness rather than light, because their deeds were evil.
    20 For every one that doeth evil hateth the light, neither cometh to the light, lest his deeds should be reproved.
    21 But he that doeth truth cometh to the light, that his deeds may be made manifest, that they are wrought in God.
    (Jn.3:13-21)

  • @justanaveragebalkan
    @justanaveragebalkan 11 หลายเดือนก่อน +4

    We already have cross platform app development, it's called flutter, we don't need this. Keep it for the operating systems please.

    • @NatteDweil
      @NatteDweil 11 หลายเดือนก่อน +22

      There is always room for better. You could already develop cross platform apps in Java as well, with a cross platform UI even. Progress is usually a good thing.

    • @ryanleemartin7758
      @ryanleemartin7758 11 หลายเดือนก่อน +18

      It's ok, you don't have to use it.

    • @llothar68
      @llothar68 11 หลายเดือนก่อน +4

      The problem is that noe is working and never will. There is no write once run everywhere dream.

    • @chaoky
      @chaoky 11 หลายเดือนก่อน +1

      @@llothar68 wdym react native and flutter are pretty close to write once run everywhere

    • @llothar68
      @llothar68 11 หลายเดือนก่อน +4

      @@chaoky For example on MacOS I want AppleScript support. I want Siri Integration, or at least Shortcuts. I want access file systems correctly (the whole privilege management things). All the continuous editing features on MacOS and windows. And I want to make it look and feel native. And especially I want to it to integrate new features as soon as possible.
      You are just ignorant. Everyone can show Buttons and a text input, but that's not enough.