Electron vs Tauri: This Was Unexpected!!

Поділитися
Вставка
  • Опубліковано 17 лип 2022
  • ► Electron vs Tauri: This Was Unexpected!!
    Electron is a free and open-source software framework developed and maintained by GitHub. The framework is designed to create desktop applications using web technologies. Recently, Tauri a secure, and frontend-independent application uses Rust as backend and takes a very similar approach but with a very less expense comparing to Electron. The results are shocking!
    🔗 Join into our Official Discord Server!
    • / discord
    🔗 Some Credits:
    • Tauri Website: tauri.app/
    • Fireship's video for Tauri: • Tauri in 100 Seconds
    • Lazap (Game Launcher): github.com/Lazap-Development/...
    ► Website • dashcruft.com/
    ► Twitter • / ​
    ► Twitch • / ​
    ► Instagram • / dashcruft
    #dev #programming #tauri
  • Наука та технологія

КОМЕНТАРІ • 105

  • @FadedFearSim
    @FadedFearSim Рік тому +44

    Sodium hypobromite is the inorganic compound with the formula NaOBr. It is usually obtained as the pentahydrate, so the material that is usually called sodium hypobromite has the formula NaOBr • 5H₂O. It is a yellow-orange solid that is soluble in water.

  • @nasz_komputer
    @nasz_komputer 2 місяці тому +9

    Electron dev trying tauri:
    "Noooo, where is my high ram and cpu consuming node.js?"

  • @jabadahut50
    @jabadahut50 Рік тому +31

    I'm mostly just waiting for WebGPU to become a major thing and for Tauri to support it myself.

    • @DashCruft
      @DashCruft  Рік тому +8

      Fair. WebGPU would be sick and a major upgrade.

  • @hanzofuma
    @hanzofuma 10 місяців тому +15

    Quick note Tauri uses Microsoft Edge's Web View2 on Window, WebKit Gtk on Linux and WebKit on Mac.

    • @i3looi2
      @i3looi2 8 місяців тому +5

      So it means (from web-development point of view) Tauri is not fully cross-platform.
      CSS/JS standards differ (not by much) between those browsers.
      Also , i personally, want my APP to look identical on any machine .. not a fan of "OS" identity.

    • @hanzofuma
      @hanzofuma 8 місяців тому +3

      @@i3looi2 You are correct. maybe there is some incompatibility but all popular libraries supports the big 3 engines (Blink, WebKit, Gecko). and for most JavaScript API's there are polyfills for compatibility.

    • @sonychandel1878
      @sonychandel1878 Місяць тому

      @@i3looi2 You can use PostCSS encounter most of the vendor prefixes

  • @richardyao9012
    @richardyao9012 Рік тому +11

    I just did an experiment with an electron application I made. With some minor changes and less than 100 lines if C, I can replace electron with WebKit. I think I will be migrating to that.

  • @mikeonthebox
    @mikeonthebox Рік тому +21

    Even 100Mb for an app that is doing absolutely nothing, just loading HTML on it sounds like way too much.

    • @DashCruft
      @DashCruft  Рік тому +9

      Yeah I mean after all, Electron is chromium based lol

    • @jakerdy5369
      @jakerdy5369 Рік тому

      How much will use let say, WPF app on windows? 70, 120, 300 mb? Or should we do pixelhacking on C++ / Rust?

  • @vladislavkaras491
    @vladislavkaras491 10 днів тому +1

    Huh... I did not not know the difference was so high!
    Thanks for the video!

    • @DashCruft
      @DashCruft  10 днів тому +1

      Try it for yourself!

  • @oussamasethoum2755
    @oussamasethoum2755 Рік тому +9

    Another one cool close to Tauri which is Wails V2

  • @thebinary563
    @thebinary563 Рік тому +12

    Damn I might just switch to Tauri. It looks promising
    thx btw dash

  • @zaidali9238
    @zaidali9238 Рік тому +1

    I really wanna get started but I can't find any good tutorial videos. Can you tell me how did you learn this?

    • @DashCruft
      @DashCruft  Рік тому +1

      I recommend following their documentation for the most part, and asking questions in their discord server. They have a great community over there!

  • @Zen-rw2fz
    @Zen-rw2fz Рік тому +15

    man I absolutely hate how slow so many of these modern apps, are I don't get at all why people keep up with all of it just because it somehow looks prettier, some years ago I would much rather just use some really old software just because it ran much faster. tauri really sounds exciting if it can really offer this performance with the looks

    • @DashCruft
      @DashCruft  Рік тому +9

      I totally agree with you. Tauri stepping in with their solution is great competition especially for future frameworks!

    • @folkrav
      @folkrav 11 місяців тому

      People put up with it cause the alternative for a lot of them used to be no support for their OS at all, or messing around in Wine/CrossOver and hoping for the best. And also... the vast majority of people are not developers and just don't know.

    • @diego.almeida
      @diego.almeida 13 днів тому

      I don't think the reason is looks, it's because the options for cross platform frameworks are quite limited. In the past companies had to either use Qt that you need to pay a license, some Java frameworks or to develop with native framework for each OS, which would require rewriting the same software and having a team for each OS, and that is quite expensive. Some of the apps also had a web version like Evernote, for instance, so it adds yet another platform. Using web technologies to turn a web app into desktop app allows code reuse, you write it only once and deploy it everywhere. The drawback of this is having a full-blown browser included into your app when you only need is the graphics engine and the javascript runtime.

  • @PLOJ
    @PLOJ 16 днів тому

    how do i make my linux look like yours? cheers.

  • @dredev216
    @dredev216 Рік тому

    what is the song played here: 9:30

  • @elanza48
    @elanza48 Рік тому +1

    Oh man what btop theme and config you are using ?

    • @DashCruft
      @DashCruft  Рік тому +2

      Tokyo-Night theme for btop. bspwm for wm. eww for topbar

  • @RGBA
    @RGBA Рік тому +2

    what you used to make lazap?

    • @DashCruft
      @DashCruft  Рік тому +3

      Tauri as the software framework
      Vue.js as the front end framework

  • @drjones694
    @drjones694 Рік тому +1

    In your experience are you using HTML or react thanks

    • @DashCruft
      @DashCruft  Рік тому +1

      I personally prefer vanilla, and if I were going to use any framework, I'd pick Vue.JS

  • @neofox2526
    @neofox2526 8 місяців тому +1

    what linux desktop environment are you using?

    • @DashCruft
      @DashCruft  8 місяців тому +1

      In the video I don’t use a desktop environment. I used to use a window manager known as bspwm.

  • @CommitSNIPS
    @CommitSNIPS 9 місяців тому +1

    Can you do a video on your linux setup? Looks cool

  • @Woeden
    @Woeden 7 місяців тому +1

    Sounds amazing, will try

  • @ramtinabadi
    @ramtinabadi Рік тому +17

    Expected Tauri to use far less memory. 100+ mb for a simple ap is still way too much. Wonder what is the memory footprint of the flutter

    • @DashCruft
      @DashCruft  Рік тому +9

      Unfortunately, Tauri on windows uses the most amount of memory. On other operating systems like linux though, its memory usage is very impressive. There's not much tauri can do in this case. All depends on windows and their work with WebView2.

    • @verified_tinker1818
      @verified_tinker1818 Рік тому +3

      @@DashCruft I suppose that's Tauri's biggest drawback. Relying on OS WebViews gives us tiny builds but leaves us at the mercy of the OS.

    • @DashCruft
      @DashCruft  Рік тому +6

      @@verified_tinker1818 I'd say it's honestly worth the tradeoff especially with the fact that you can make eye-candy software without the bloatware known as electron.

    • @twenty-fifth420
      @twenty-fifth420 Рік тому

      @@verified_tinker1818 Well as someone knew to the whole programming sthick, what it the alternative?
      Native C/C++ libraries that hardly anyone can use for GUIs? No thanks.
      Plus, As a Linux and Windows user, I say it is fitting since Windex is bloated and will run your app, if only requiring more then 10x more memory then other competitors.
      Heck, I don’t use Mac and I could be wrong, but I feel like it would not be as bad on Mac platforms then Windows ones. Windows is just that big.

  • @ferluisch
    @ferluisch Рік тому +1

    Did you update electron to the latest version?

    • @DashCruft
      @DashCruft  Рік тому +5

      That has nothing to do with the resource intensity and the bloat chromium contains. Although the answer to your question is yes.

  • @toitri
    @toitri Рік тому +8

    Tauri just built different... 😉

  • @brandonplays1
    @brandonplays1 Рік тому +2

    I’ve waited a long time for this…..

  • @DavisTibbz
    @DavisTibbz Рік тому +2

    Why jdk is used? Why not pure Rust?

    • @DashCruft
      @DashCruft  Рік тому +3

      Backend is fully rust and the Front end uses tao and wry webview. This helps with the bundle size significantly. (also its GTK not JDK lol)

  • @autistik-il3ne
    @autistik-il3ne Рік тому

    Whats the music in the back called?

    • @Jan-ux7ht
      @Jan-ux7ht Місяць тому

      The Music in the End is "Art of Silence - Uniq"

  • @RIFLABACONBBX
    @RIFLABACONBBX 4 місяці тому +1

    can you make a guide on how to make a desktop app using tauri?

    • @DashCruft
      @DashCruft  3 місяці тому +2

      Will take it into consideration.

  • @pedroalmeida041
    @pedroalmeida041 Рік тому +3

    hello dashcruft very nice video 10/10 recommend would eat it again
    im married to logic damn it

  • @indianfromsouth7756
    @indianfromsouth7756 Місяць тому +1

    We should start using Fyne and Golang then it will be even memory efficient than Tauri

    • @sonychandel1878
      @sonychandel1878 Місяць тому +1

      Main goal here is to use HTML CSS and JS for frontend and I think in that case wails would be a much better option than fyne for GO

    • @indianfromsouth7756
      @indianfromsouth7756 Місяць тому

      @@sonychandel1878 Yeah you are right there is no options other than Fyne for desktop applications in golang... Google should come up with a framework where HTML, CSS and other frameworks are frontend and Golang as backend just like Tauri...

  • @pkingo1
    @pkingo1 8 місяців тому +1

    Tauri unfortunately doesn't support embedded webviews which was a dealbreaker for my project.

  • @TheRealBaggette
    @TheRealBaggette Рік тому +1

    second ez, dash upload wen, dash upload now 😎

  • @sathonay156
    @sathonay156 9 місяців тому

    What’s the outro music ?

    • @Jan-ux7ht
      @Jan-ux7ht Місяць тому

      Art of Silence - Uniq

  • @glatocha
    @glatocha Рік тому +3

    First off all, if you start with "I hate electron", kind of makes you bias all the way. Then you are showing one app with 114BM and other with 130MB memory use and trying to convince us that this "can be" great difference.
    Tauri has it's benefits, smaller size, great utilities that let you do a lot stuff from your frontend (system dialogs, file system access etc.). One of the minuses of Tauri is the first download and installation. This requires a lot of downloading, first dev compilation, the same, first build same. From somebody with bad connection and behind VPN this is a killer. Took me several hours to get the Hello World to compile.
    Also, electron can build an app with simple .exe, how to do that in Tauri? without instaler?

    • @DashCruft
      @DashCruft  Рік тому +4

      Tauri does compile the app with an installer wdym?
      Both for linux and windows it provides installer binaries (.msi for windows for instance)

    • @DashCruft
      @DashCruft  Рік тому +3

      You also say internet issue on the developers part (you in this case) is a problem. You are technically explaining the reasoning to yourself. If you own a bad internet connection, that's on you, not tauri developers. You are a developer and you are responsible for the consequences that come with development.

    • @jack_boecker
      @jack_boecker Рік тому +1

      Sir the slow downloads is a you problem, Tauri is way better than electron because it's not chromium.

    • @glatocha
      @glatocha Рік тому

      @@DashCruft yes, you can't make portable app with Tauri

    • @DashCruft
      @DashCruft  Рік тому +1

      @@glatocha once you install the .msi, you can simply copy the .exe from your program files and share it to everyone, and they can launch the app without any issues.

  • @LostRoaming
    @LostRoaming Рік тому +3

    I don't use electron but this will have no effect on Electron, really. The embeddable browser is already installed anywhere that tauri works anyway. You don't tauri or electron or anyone else's framework to use it. Hooking js to your native code is fairly trivial without things like tauri. It's nothing new, been doable for ages. I was doing this with the activex IE nearly 20 years ago. You can use any language to do this, c#, rust, c++, take your pick. The memory usage is not really accurate because the browser process is listed as a separate process here. You could make this even smaller and easier by eliminating this framework entirely which makes the whole thing rather pointless.

    • @DashCruft
      @DashCruft  Рік тому +5

      What "separate" process? The process was a family as visible in the video. While you might have a point of argue, it's good to keep in mind that the final size of the bundle is significantly less compared to electron that uses chromium and as a developer, I find that a major pro. A software should not automatically take 100-200mb size with basic css and html. The CPU usage during idle was pretty wack with Electron compared to Tauri. Since there's a better alternative, me and most developers out there take the opportunity and use it to give a more clean software out to the hand of the user.

    • @LostRoaming
      @LostRoaming Рік тому +1

      ​@@DashCruft Vs electron, you're right, distribution of the embedded chromium is quite large. It does, however, guarantee the version of the browser that your app will be running on. Also, again, you don't need anyone's framework, tauri/react/other to build a desktop app with embedded browser. I'd be willing to bet that an browser embedded app could be created in sub 100kb territory with c#, c, python or even just plain rust itelf. tauri is more just a wrapper for that than an electron replacement. Just my opinion of course.

    • @LostRoaming
      @LostRoaming Рік тому

      @June@97 Search webbrowser control. In the simplest form you can assign an event handler to navigation events. You load up your html and respond to navigation you have put on the page. Of course you can go deeper and hook js functions as well.

    • @snake3837
      @snake3837 Рік тому +1

      @@ewketbirhanabbo1875 But the most important selling point for Electron was that you can be sure you get the version you tested on because it's bundled and you get that everywhere. Tauri is completely anti dev efficiency. Now MS got into partnership with Adobe and my "cross platform" app built in Tauri does have yet another difference that I can't even control and I can't even tell my users what they should expect because it depends on what Windows update they have. Not to mention I do have now additional work because on other platforms this will be working differently. At this point there is no point in using sluggish web. Also I have yet to meet real case when 10mb vs 100mb of disk usage makes the difference. This only works for some gen-z Soyjaks not having a life because normal people do not even have idea about that or a difference.

    • @xwtek3505
      @xwtek3505 7 місяців тому

      "The embeddable browser is already installed anywhere that Tauri works anyway"
      The browsers that Electron uses is already installed in most machines that the electron apps will run, but Electron still ships with its own browser engine anyway.

  • @daniil2704
    @daniil2704 9 місяців тому

    But WebKit :(
    In electron, everywhere - chromium

  • @-Engineering01-
    @-Engineering01- Місяць тому +1

    Well, I'm not gonna learn rust

    • @DashCruft
      @DashCruft  Місяць тому +2

      You don't have to. You can choose to write it all in the frontend (JS/TS).

    • @-Engineering01-
      @-Engineering01- Місяць тому +1

      @@DashCruft i didn't know that, definitely will try it then

    • @DashCruft
      @DashCruft  Місяць тому +1

      @@-Engineering01- Won't hurt to take a look :)

  • @mohameddjaballah4456
    @mohameddjaballah4456 Рік тому

    🔥🔥🔥🔥

  • @artist6000ish
    @artist6000ish Рік тому +3

    Why isn't anyone in the comment section telling this guy that he's wrong about Chromium vs. not Chromium?
    Tauri uses Wry for the the rendering engine, and on Windows it uses WebView2 which is Microsoft's bundled version of Chromium. More specifically, it's Microsoft Edge Chromium. It's true that Tauri doesn't ship with WebView2, however, Microsoft tells developers that they should not assume WebView2 is on the system but instead they need to ship the WebView2 binaries with their application. Microsoft's statement: "When releasing an app that uses Microsoft Edge WebView2, you need distribute the WebView2 Runtime, either by distributing the automatically updated Evergreen Runtime, or by distributing a Fixed Version of the Runtime"
    It's true that most Windows computers now have it, such as Windows 11. But try running your app on Windows 10, under Windows Sandbox. You'll see that the Electron version works, whereas the Tauri version does not. And forget about earlier versions of Windows (if you care about that).
    In reality, if the user has Office 365, WebView 2 will also be installed. You can also create your install such that when the user first runs the code, it will automatically download WebView2 and install it if it doesn't exist, which is very nice. But if you had the install on a USB, and no internet connection, you wouldn't be able to install Tauri and run the software in that case. You'd have to have an Internet connection to download the rest of the bits.
    All in all, I prefer Tauri's approach, over bundling everything the way Electron does. But let's not pretend this is comparing apples to apples.

  • @jakerdy5369
    @jakerdy5369 Рік тому +3

    Bigest flaw of tauri is that it is way less reliable than electron.
    Consider this things:
    - OS without embedded browser (your app wont run)
    - Font rendering FF vs Chrome (surprizes in your layouts, less consistency)
    - Electron === Single latest version of Chromium, vs Tauri === FF/Chrome/Safari and lots of hustle with compatibility
    - Undetermined feature set based on browser
    - You couldn't use "native" pluggins if doing something performant/vendor specific
    - Tauri uses more processes, which is less performant than +20 mb of ram.
    - ...
    Electron === rock solid reliability across all platrofms for price of 200mb of your disk space
    Tauri === lotery and fancyness, with theoretical performance benefits (V8 vs Webkit vs FF)

    • @jakerdy5369
      @jakerdy5369 Рік тому

      Also, the biggest problem of almost every electron app is modern framework like React/Angular/Svelte.
      If you use something like Vue or Solid it will be way better in both performance and memory usage.

    • @adriengrsmto8658
      @adriengrsmto8658 11 місяців тому

      @@jakerdy5369 I think you mixed up Svelte and Vue. Using Vue is just as slow as using Angular or React. Svelte and Solid are comparable.

    • @Ghfvhvfg
      @Ghfvhvfg 10 місяців тому

      Electron dosent Need a embeded Browser on Linux it just bloats up The install thats all.

  • @Volt-Eye.
    @Volt-Eye. 2 місяці тому

    Why is Elektron not dead yet ?

  • @clipsbyagg
    @clipsbyagg Рік тому +1

    I thought this was free robux

  • @acol4563
    @acol4563 Рік тому +1

    Ong

  • @i3looi2
    @i3looi2 8 місяців тому

    Well unfortunately I do not want to learn rust..
    Electron is much easier to us for development ...
    Tauri is better for the user experience ...

  • @hellelo.5840
    @hellelo.5840 Рік тому +1

    Tauri is great but mastering rust takes a lot of time unless you can live with too much magic code

    • @DashCruft
      @DashCruft  Рік тому +4

      Mastering anything always takes considerable amount of time. Thankfully for tauri, their team has provided a clean documentation. All needed is to work on some projects so you’ll get the whole idea. I think at the end of the day it’s worth it.

  • @paulmidas
    @paulmidas 2 місяці тому

    Electron packages more features than Tauri. That's why it needs more resources and more time to be loaded.
    And only 1 exe file or multiple files only matter of how you package things.
    If that kind of performance is that much important, you gotta use c, c++ and rust to build an app.

  • @yangtimothy7351
    @yangtimothy7351 Рік тому

    but rust is still way harder to learn.

  • @mikeonthebox
    @mikeonthebox Рік тому +1

    It wont be the end of Electron as the "backend" been Rust just plain sucks. Don't think many developers would care about having to learn Rust just because.

    • @DashCruft
      @DashCruft  Рік тому +6

      You don't need Rust knowledge for Tauri unless you have a specific reason to implement a feature and call the backend from the frontend. Everything is pretty much just like electron.

    • @mikeonthebox
      @mikeonthebox Рік тому +1

      @@DashCruft I guess it will depend on the use case, but yes, on the cases where the main logic is in the client side, it's a real benefit how much lighter the final package is, really nice and feels faster too.

    • @DashCruft
      @DashCruft  Рік тому +2

      @@mikeonthebox I honestly think it's worth it at the end of the day. Although I feel like electron will not die that fast because the user base is significantly more for them and also setting up electron is easier and faster comparing to Tauri.

    • @wumwum42
      @wumwum42 Рік тому +3

      @@mikeonthebox It will be a huge advantage because you can still do most thing in js , but can rewrite slow and error-prone parts like parsing huge files in rust, where its much easier to avoid crashing and its WAYY faster(its like horse vs racing car).
      Yeah, you need to learn a new language or hire additional rust devs, but the stability and performance will be worth it.

  • @legitmate65536
    @legitmate65536 Рік тому

    You tried to fool, bamboozle and trick us fellow members of your elephantine server, moreover asserting dominance over electron. However I object to your documentation.
    The test is unfair, you seem to have used different versions of code for testing and the code used for tauri is lighter than the one of electron.
    I demand a change of video topic, and removal of this unfair dominance assertion till found fair. Thank you for understanding my concerns.

    • @DashCruft
      @DashCruft  Рік тому +3

      I’d like to object. even if what you’re saying is true which is absolutely not and the quality of code written for both software frameworks used for lazap are close if not identical.
      Moreover, It’s not just me seeing much lower memory is used. Check out the actual benchmark from the developers and see it for yourself: github.com/tauri-apps/tauri
      Check section “Comparison between Tauri and Electron”

    • @pedroalmeida041
      @pedroalmeida041 Рік тому +3

      dictator

  • @Udayy_007
    @Udayy_007 Рік тому +1

    Dashcruft is Pulchritudinous. 🤌✨