Goodbye Electron and JavaScript. Hello Tauri and Rust!

Sdílet
Vložit
  • čas přidán 4. 08. 2024
  • Electron is old, underperforming, and bulky. That's why Tauri arrived! Feel free to also check out this video here to learn more about the `move` keyword: • Smarter Programming in...
    📝 Description
    In this video, we explore the world of Tauri, a game-changer for building Desktop applications. We discuss the limitations of Electron and why Tauri, built in Rust, offers a faster, more secure alternative with a significantly smaller binary size and better memory usage. Not only does Tauri allow you to deploy your application to iOS or Android, but it also lets you use JavaScript or a web framework like Leptos. Join us as we walk through the process of setting up a Tauri application and delve into how it could be the perfect fit for your next project.
    ⏳ Timestamps:
    00:00 - Introduction
    00:35 - Tauri vs Electron
    03:16 - Create Tauri Application for iOS, Android, Desktop, and the Web
    09:24 - Outro
    👋 Hey there!
    If you are new to this channel: Hey 👋 my name is Flo and I am a professional software engineer with a passion for coding in Golang, TypeScript, JavaScript, and Rust. This channel is where I share that passion and dive into the exciting world of software engineering. Plus, I love using Emojis and paper-based animations (so have a look for that, if you want to find my videos).
    📨 Support and Connect!
    Buy me a coffee: www.buymeacoffee.com/florianw...
    Become a member: / @flowoelki
    Discord: / discord
    Instagram: / flowydev
    LinkedIn: / florian-woelki
    TikTok: / florianwoelki
    GitHub: github.com/FlorianWoelki
    #rust #electron #tauri
  • Věda a technologie

Komentáře • 58

  • @filipniklas
    @filipniklas Před 3 měsíci +9

    Cool! Nicely delivered! Once I make my way through the Rust book, I'll be giving this a try!

    • @FloWoelki
      @FloWoelki  Před 3 měsíci +2

      thank you and awesome stuff! feel free to reach out to me, if you have any questions about Rust (i btw. also have videos about Rust, so feel free to check them out ;)). also, if you've got ideas or want to see some detailed explanation of something Rust-related, feel free to post that as well :)

    • @filipniklas
      @filipniklas Před 3 měsíci

      @@FloWoelki Appreciate the reply! I'll be sure to check out your other videos! As for possible ideas, how about a webhook server for Stripe in Rust? Or deploying Rust web servers (so like how the pipeline and workflows would work for that).

    • @FloWoelki
      @FloWoelki  Před 3 měsíci

      @@filipniklas that's awesome. lovely ideas, thank you! I've written them down :)

  • @alinmgheorghe
    @alinmgheorghe Před 2 měsíci +4

    Just wait until servo is full version and has full support from Tauri. It's gonna be bonkers.

  • @Dominik-K
    @Dominik-K Před 3 měsíci +1

    Thanks a bunch for this video, really well put together. I'll definitely have a look at this

    • @FloWoelki
      @FloWoelki  Před 3 měsíci +1

      thank you for the lovely feedback! awesome stuff :)

  • @Slate245Ivanovo
    @Slate245Ivanovo Před 3 měsíci +13

    The thing with React Native is that it uses native elements on each respective platform. Sometimes, it's good (native buttons, loading indicators, modals), sometimes not so good (having to dig into native code to fix inconsistencies). Tauri doesn't offer that. Just a plain wrapper for a webview with your frontend and system bindings in Rust. It's only good if you throw nativity out of the window and want to control the ui 100%

    • @FloWoelki
      @FloWoelki  Před 3 měsíci +5

      good point! obviously, Tauri has some native features as well through the Rust bindings, and you can also develop your own if you want to. but, let's see where the future goes. ultimately, the choice depends on your project's needs and priorities.

  • @Cavisek
    @Cavisek Před 2 měsíci +7

    I've been using tauri for the last half year. I don't care about it being cross-platform (I target windows only) but I've chosen tauri ONLY because of the simplicity and the insane performance. I did work with electron and it was pain in the ass. Tauri is just perfect. The community upgrades this project everyday. The creators got pretty high investments from a huge companies (aws, cloudflare or Digital Ocean) and it is growing really fast. I can't wait to finish the v2 version because I saw that they have insane plans for v3. Can not wait for that!

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

      That pretty much brings it to the point as well. Let's see what the future holds 🙌

    • @godnyx117
      @godnyx117 Před 15 dny +1

      "insane performance". Stop the 🧢 buddy!
      It uses JavaScript and a webview. It may be faster than Electrash but still, not "insane performance"...

  • @xorlop
    @xorlop Před 3 měsíci +3

    I am curious what your thoughts are with Dioxus? I think Dioxus uses Tauri as the desktop renderer or something but not sure. Rust noob here

    • @FloWoelki
      @FloWoelki  Před 3 měsíci +1

      beginners are always welcome! I've honestly never tried Dioxus before, but I've seen it before. the desktop version is built on Tauri yes. but, I don't think that a lot of JS devs will switch to Rust entirely because it seems too scary :D but it's just great that Rust has all of these cool projects out there trying to make the future more performant ^^

    • @FloWoelki
      @FloWoelki  Před 3 měsíci

      @@anonymousalexander6005 that's pretty cool! yeah WebView and Solid is also great. but, javascript and electron at their current state feel too bloated. I just feel bad when I need to add another node module to my project :D

    • @artxiom
      @artxiom Před měsícem

      Yes, Dioxus builds on Tauri. You can also use Leptos with Tauri (which I prefer personally), or Yew. Pretty much every frontend framework that outputs browser code: HTML, CSS, JS, ...

  • @elgar328
    @elgar328 Před měsícem

    8:18 is this a terminal file manager??

    • @FloWoelki
      @FloWoelki  Před měsícem

      Nope, not really. I am using nvim with a plugin to see this.

  • @NewFoxesHD
    @NewFoxesHD Před 3 měsíci +1

    My issue with Tauri is the lack of support for multiple web views within a single native window.

    • @FloWoelki
      @FloWoelki  Před 3 měsíci

      well there is an example of having a multi-web view within a single native window: github.com/tauri-apps/tauri/tree/dev/examples/multiwebview
      this was the related issue to that example: github.com/tauri-apps/tauri/issues/2975

  • @pketh
    @pketh Před 3 měsíci

    The place Tauri gets too complex to understand for me is with the security certificates that are required to actually distribute your app on Mac, windows etc. looking forward to the episode you discuss these in

    • @FloWoelki
      @FloWoelki  Před 3 měsíci +2

      i agree with that. but everyone has to go through it. no matter if you develop specifically for iOS/OSX or windows.

  • @mrbane2000
    @mrbane2000 Před měsícem

    Tauri uses GTK in Linux, Edge WebView in Windows, and idk what's it called in Mac OS, but yea i wouldn't really want to use Edge WebView or anything Microsoft in my app, also GTK is not really up to date compared to Electron that uses Chromium. I personally tried all 3 Tauri, Electron, NW.js and i really liked easy of use of NW.js, i didn't also need to write protocol for file management which, cause it's offline anyway. I think what would be best if Tauri used Firefox's engine that's written in Rust partly. That would be best choice to do

  • @WilsakoGaming_Official
    @WilsakoGaming_Official Před 4 měsíci +1

    Tauri still use HTML, JS, and CSS it's just executable file, RAM and others things are smaller and Rust backend makes it have more lower-level access.

    • @FloWoelki
      @FloWoelki  Před 4 měsíci +2

      it's so beautiful, isn't it? 🤗

    • @maksimmuruev423
      @maksimmuruev423 Před 3 měsíci

      @@FloWoelki No its siill crapware.. not the real app as of course electron.. 100mb for 'hello world'.. heh..

  • @rhysmuir
    @rhysmuir Před 3 měsíci

    my issue with tauri, is that tauri it's self is written in rust, but the UI is still JavaScript.

    • @FloWoelki
      @FloWoelki  Před 3 měsíci +3

      you can still feel free to use Rust for the UI. there is no limitation at all 🙌

    • @artxiom
      @artxiom Před měsícem

      No, you can use Rust frameworks like Leptos, Yew or Dioxus as well.

  • @chrisdaman4179
    @chrisdaman4179 Před 3 měsíci

    Yeah! Let's take ten times as long to develop an equivalent program that is harder to debug. Rust is such a good idea, and definitely not an elietest fad.

    • @FloWoelki
      @FloWoelki  Před 3 měsíci +1

      hopefully, everyone will notice that :) at least it will hopefully become really popular when the beta is fully released.

  • @ulrich-tonmoy
    @ulrich-tonmoy Před 3 měsíci

    i guess Tauri Will compete with React Native than Electron and the use of js in mobile dev is because of the update delay cause of layer of check for apps while with js you can directly update your app for user without waiting for store check unless its native code/binary update(like expo for react native)

    • @FloWoelki
      @FloWoelki  Před 3 měsíci +1

      we'll see, I think GitButler uses Tauri and probably I'll also make a video about building something with Tauri, because it's just magic. especially when you want to use system-specific functionality.
      that makes sense, yes!

    • @ulrich-tonmoy
      @ulrich-tonmoy Před 3 měsíci

      @@FloWoelki Maybe a code editor or something similar

    • @FloWoelki
      @FloWoelki  Před 3 měsíci +1

      @@ulrich-tonmoy jap that would be a good use case. Or even something similar to Obsidian or Notion.

    • @ulrich-tonmoy
      @ulrich-tonmoy Před 3 měsíci

      @@FloWoelki yep code editor or markdown/rich text editor

    • @infantfrontender6131
      @infantfrontender6131 Před 2 měsíci

      Tauri competes with Ionic, not RN/Expo. It's because Ionic also uses web view, and RN uses native elements

  • @da40au40
    @da40au40 Před 3 měsíci +1

    Javascript is inevitable brother

    • @FloWoelki
      @FloWoelki  Před 3 měsíci +1

      unfortunately yes :D at least for now

  • @hellelo.5840
    @hellelo.5840 Před 3 měsíci

    Well tauri doesn't support custom protocols registration 😅, and they can't implement it

    • @FloWoelki
      @FloWoelki  Před 3 měsíci

      maybe there will be an option in the future? :D

  • @_zetrax
    @_zetrax Před 3 měsíci +1

    let's be honest developing Android & IOS apps for large scale production apps is going to be a hassle

    • @FloWoelki
      @FloWoelki  Před 3 měsíci +3

      kind of agree. but if you want to have some specific native features, you have to develop for these platforms. but having just one codebase for "everything" is so nice, especially for smaller teams.

    • @Dominik-K
      @Dominik-K Před 3 měsíci

      I like that simple apps can still be augmented via this mechanism. Though I've had some good experiences with just PWA's as well, and I personally prefer those for simple, small apps

  • @ordinaryaspect
    @ordinaryaspect Před měsícem

    Tauri also use javascript

    • @FloWoelki
      @FloWoelki  Před měsícem

      Yes partially. They do not have a Node.js Runtime like Electron, but they do have a JavaScript API to make switching easier to Tauri.

  • @soldierbirb
    @soldierbirb Před 3 měsíci

    Just use imgui or raylib already...

    • @FloWoelki
      @FloWoelki  Před 3 měsíci +1

      these are valid alternatives, yes :)

  • @oldm9228
    @oldm9228 Před 4 měsíci +19

    New technologies suck. I like old technologies.

    • @FloWoelki
      @FloWoelki  Před 4 měsíci +4

      let's go! 😄 i also have a Nokia 3109 lol

    • @powermyapps
      @powermyapps Před 3 měsíci +3

      my dad is 68, he is still using 20 yo Nokia phone. You guys should meet!

    • @MarkusBurrer
      @MarkusBurrer Před 3 měsíci +4

      You mean knapping a knife from Flintstone?

    • @FloWoelki
      @FloWoelki  Před 3 měsíci +1

      that's the spirit haha

    • @morgan24TH
      @morgan24TH Před 3 měsíci +1

      We Retro Squad 😎

  • @d1namis
    @d1namis Před 3 měsíci

    This video title should be: goodbye web spyware that come with Electron apps, hello NSA cyber weapons + web spyware that you install on your system. Rust community in 2024 not just toxic, but also idle in brain department. You can use Ada safe code principles with any language, you don't need Rust. You can have memory safety even with pure Javascript,, that you will have in your project anyway with Tauri, you don't need Rust for that. Also you can have same thing that Tauri promise with Ultralight, it had for a long time with stable LTS version with a lot wider range of languages and implementations.