I built a REAL Desktop App with both Tauri and Electron

Поділитися
Вставка
  • Опубліковано 10 лют 2025
  • Electron is the most popular framework for building desktop applications with web technologies, but Tauri promises to solve some of Electrons biggest problems. To find out how good Tauri really is in comparison, I wrote my latest app in both Tauri and Electron.
    ===
    Solidtime - The Modern Open Source Time Tracker: www.solidtime.io/
    Solidtime Github Repository: github.com/sol...
    Solidtime Desktop App: github.com/sol...
    ===
    Electron allows you to build desktop applications with HTML, CSS and Javascript and is very popular because you can build one app and use it on every desktop operating system like Windows, MacOS and Linux without having to use native UI libraries. It uses Javascript as a backend language and has APIs to access native operating system functionalities. A major downside of Electron are the huge bundle sizes as it bundles an entire Chroimium binary in the application. Tauri is able to produce much smaller bundle sizes, by using the native browser engine installed on every operating system. This means it will use Edge / Blink on Windows, Safari / Webkit on macOS and WebkitGTK on Linux.
    Development with both Tauri and Electron is based on Web Development Technologies. You can use frameworks like Vue, Svelte, or React with the tools to build modern web frontends and also share components if you have a web app as well. Tauri has a much better developer experience out of the box and supports modern meta frameworks like Next.js, SvelteKit and Vite.

КОМЕНТАРІ • 253

  • @bufferhead_
    @bufferhead_  2 місяці тому +40

    Correction for the Custom Drag Areas: I'm showing the wrong permission in the Video, "startDragging" is also needed but it was not the permission that caused the trouble for me. The problem is that you also need "acceptFirstMouse" enabled for the window if you want to accept the first click on macOS. (v1: v1.tauri.app/v1/api/js/window/#acceptfirstmouse , v2: v2.tauri.app/reference/config/#acceptfirstmouse)

  • @DaxSudo
    @DaxSudo 2 місяці тому +283

    Hey tauri discord member and heavy tauri dev here. While yes the main state of tauri is to be a competitor to electron its goal has always been to be more of a react native/expo competitor.

    • @Gigusx
      @Gigusx 2 місяці тому +14

      Isn't the focus on mobile support in Tauri a fairly recent thing?

    • @saadhabashneh5587
      @saadhabashneh5587 2 місяці тому +66

      Why not focus on beating electron first ?
      I mean people need a more performant replacement to electron more than a react native competitor

    • @XtergoBlue
      @XtergoBlue 2 місяці тому +1

      Hope you get there mate we really need react native alt

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

      @@saadhabashneh5587 Because it already does that.

    • @yhzh755
      @yhzh755 2 місяці тому +5

      I remember tauri mobile is more like ionic?

  • @randyfriend
    @randyfriend 2 місяці тому +29

    Great details and I especially appreciate your referencing the reason the files size for Tauri is so much smaller and the issue(s) you can run into due to the default browser being used..

  • @DemetriusZhomir
    @DemetriusZhomir 2 місяці тому +15

    Awesome that you've shared your experience w/ Tauri! I tried it myself before the version 2 came out.
    I built a bulk X posts deletion application with it, that didn't even use X API. I used SvelteKit, Skeleton, and... Node w/ Puppeteer 👌
    Like, it's still possible to use Node in a Tauri app backend w/ no Rust code involved! Just develop a sidecar. It can also be a .NET app instead, for example.
    The whole app was beautiful. Of course I abandoned that project 🤣 Building a language learning app in public now tho 😁

  • @anth0ni33
    @anth0ni33 2 місяці тому +28

    This is great. Create more videos like this please. I am currently using tauri for a project. The V2 Docs are way better IMO.

  • @TechMadePlain
    @TechMadePlain 4 дні тому +1

    3:07 😄🤦‍♂"Walled Garden" It's been right there all along, all it took was you literally saying it.

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

    bro super cool video, really appreciate the details and effort put into this 🙌

  • @dawnnee267
    @dawnnee267 2 дні тому

    you really make a great project! thanks for sharing!

  • @LanHikari90
    @LanHikari90 2 місяці тому +56

    I hate the world we live in...
    We have powerful operating systems and could build powerful, lean, apps that actually integrate well into the desktop environment we use... But no, instead we just run everything inside a webbrowser.
    On older machines, you can really feel the overhead caused by Electron. Even though these machines are perfectly capable, still.
    I also really like when the applications that I use integrate well with my system and I tend to avoid applications that use technologies like Electron.
    We're heading the wrong way. All because of convenience and cost-cutting.

    • @successor0
      @successor0 2 місяці тому +13

      Somewhat relevant, I hate it when cross platform apps have their own file/folder picker because they couldn't be bothered to detect and integrate into the active OS or straight up don't prefer it. All of this new cross platform techs and user experience still takes a step back.

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

      @@successor0 This! On Linux, you can at least force most applications to use a specific picker.

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

      Thinking about this I honestly find it hilarious how even some of the major Code Editing Software is running in a Browser. I'm also not sure how well Jetbrains with Java based IDEs does, but maybe that's just trauma from running Eclipse on a school Computer. But if we assume Java to also not be a good option, then basically the only Code Editors that are made with good options would be Visual Studio and Sublime (And also Vim but as a Vim user I didn't wanna pull the "btw I use vim" bs)
      But this is why I love when I get options for different Clients, like Telegram with its various options. Which makes me hate that Discord doesn't allow third party clients

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

      @@igormoraru9514 I don't know what version of VSCode you're using. But it's definitely not looking uniform. Even more so if you're using another operating system besides Windows.
      It is no secret that the overhead caused by Electron is noticable. Up until last year I used a desktop from 2014ish, which was capable to do pretty much everything I needed.
      But launching applications that use tech like Electron launched noticably slower on that machine.
      I personally just love 100% native applications. Even if it's more work.

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

      @igormoraru9514 well when I use Neovim with all my plugins my Laptop does no start spinning its fan to the point people ask me why my Laptop is so loud. But Jetbrains and VSCode are the same there

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

    Great video. I tried Tauri 2 for mobile development but stayed with capacitor because Tauri still needs to be a little bit more mature.

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

    Fantastic video! Loved it.

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

    really great video; especially calling out challenges like devtools / debugging etc

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

    I learned a lot from your video, especially the bundle size part, which I find interesting.

  • @hassamulhaq7762
    @hassamulhaq7762 2 місяці тому +1

    I used the Tauri to build a Vue app. It's really awesome.

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

    I remember when i tried to make an api request in electron. i couldnt do it in the renderering process, so i had to do it in the main process and transfer it over the ipc channel shit you explained. Apart from the imo weird way you implement this, i stumbled upon the issue that if I wanted to send a complex/nested (request) object though this ipc channel, the parser couldnt handle it and you get an error. so the api results i got, from my api wrapper library couldnt be passed directly and i had to inconveniently stripe what i need and make my own simple objects. Maybe there is an easier way and im completely bad (probably), but boy i dont miss tinkering in electron. Bless all devs that use electron.

  • @ulrich-tonmoy
    @ulrich-tonmoy 2 місяці тому +25

    a js framework without a create script is unbelievable in this day and age

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

    I just made a markdown viewer using Tauri V2, the documentation mostly sucks, especially when it comes to setting permissions for plugins, but eventually I managed to build what I wanted to. Looking forward to build more apps!

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

    Thanks, saves me a lot of research

  • @Millionairemind-e9t
    @Millionairemind-e9t Місяць тому

    Your videos are educative and amazing

  • @LuisCassih
    @LuisCassih 2 місяці тому +4

    Good video. I love Tauri and Wails, but for me the dealbreaker was on the graphics performance side. An application I was developing used canvas and only Electron was able to run it smoothly. The same for games (also wasm games).

    • @Gigusx
      @Gigusx 2 місяці тому +1

      You might want to see if Flutter does the job for you. It supports wasm and renders canvas by default on the web.

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

    12+ JS dev here. Please go with Tauri all if you 🚀

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

    Finally a good video that explains the reasons 👏👏👏

  • @sealsharp
    @sealsharp 2 місяці тому +22

    It's kinda strange to see comparisons in ressource use between 'much more than is required for the task' and 'much more than is required for the task'.

    • @SimonBuchanNz
      @SimonBuchanNz 2 місяці тому +5

      100x worse is still better than 1000x worse.

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

      @@SimonBuchanNz there's no order of magnitude difference here, it's still one browser vs another browser scenario

    • @SimonBuchanNz
      @SimonBuchanNz 2 місяці тому +1

      @@aidennwitz yeah, fair, it's only the backend that can drop v8, so still down 100MBish, but out of 400MB...

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

      @@SimonBuchanNz even that 100 MB is still being used, just not directly by the app's process, so it's more difficult to measure. the major difference is that you don't have to download it along with the app, but that's only because you already have it installed.

    • @SimonBuchanNz
      @SimonBuchanNz 2 місяці тому +6

      @@aidennwitz I meant RAM usage, v8 floors at around 100mb depending on the build and version. Rust you can go as low as you like.

  • @ShadowFita
    @ShadowFita 2 місяці тому +116

    Now do Wails!

    • @stavroskois9656
      @stavroskois9656 2 місяці тому +13

      While I really like Wails, the cons of tauri mentioned in this video regarding browsers applies to wails as well.
      Both use webkit and friends. Well and any other framework that does not ship a chromium in the bundle will have the same cons.

    • @ShadowFita
      @ShadowFita 2 місяці тому +7

      @stavroskois9656 except, Wails has the added benefit of allowing you to require the edge chromium bundle be installed alongside your application!

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

      @@ShadowFita Huh did not know that! Does that work on all platforms?

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

      @@stavroskois9656 I might've gotten ahead of myself in excitement. It looks like that particular function is on windows, and other operating systems do use WebKit and friends. I wonder if this will be expanded in v3.

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

      This 🤝

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

    Good video I love Tauri

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

    very cool video, love it

  • @cariyaputta
    @cariyaputta 23 дні тому

    C and Cline maybe the king of desktop apps. Doesn't need to rely on the whole mess of web techs.

  • @abubakarsulaiman-jt7sl
    @abubakarsulaiman-jt7sl Місяць тому

    This great opportunity to get the results

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

    Great video!

  • @valentinerontez627
    @valentinerontez627 23 дні тому

    You can in fact use electron as react out of the box.

  • @BuhariRabiu-i8b
    @BuhariRabiu-i8b Місяць тому

    Good one 👍

  • @brad.carpenter_
    @brad.carpenter_ 2 місяці тому

    Great video 👍

  • @JosephHurtado-y7j
    @JosephHurtado-y7j 16 днів тому

    Great comparison of both Tauri, and Electron. I took a while doing the same comparison a year ago, and also decided to go with Electron, the whole toolchain is more mature, and indeed the debugging and publishing tools are much better.
    One question since we are now in the publishing phase, how did you support code signing for Mac and Windows? For Mac it seems the only way is signing up for the Apple Developer Program and paying $100. For Windows, it seems it is the same, but it is still unclear to me. Your feedback would be most welcome. Fortunately it seems Linux just works!

  • @TheLazyCat000
    @TheLazyCat000 2 місяці тому +1

    such a good vid tbh

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

    I went with electron for my image browser app as well for the same reason.

  • @imerence6290
    @imerence6290 2 місяці тому +23

    CEF is used by MS Teams now. It massively improved Teams (its still shit thanks to MS).

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

      Whatever MS touches, gets shittier somehow. Github excluded :)

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

    great video !!!

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

    Tauri is winning! 🦀

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

    Tauri is great but if the backend can be written in a more simple language like Go it is perfect

  • @iLexyyy
    @iLexyyy 27 днів тому

    Can u please make a Back-End Full Tutorial or Front-End

  • @a-yo9312
    @a-yo9312 2 місяці тому +5

    I need that developers video, as constant self motivation

  • @arttx
    @arttx 2 місяці тому +8

    Tauri/Wails vs Flutter for Desktop

    • @catto-from-heaven
      @catto-from-heaven 2 місяці тому +6

      Flutter anytime. It uses Skia under the hood, which is a native GUI library
      Edit: Also, Dart doesn't need a WHOLE BROWSER and freaking Node.js to run

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

      yess

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

    Can you also make a comparison with Go Wails?

  • @Hyp3rSon1X
    @Hyp3rSon1X 2 місяці тому +5

    Seeing how simple chat apps like MS Teams use half a Gig to more than a Gig of RAM, I'm all against ANY framework or engine or whatever, that ships its own browser engine or has any sort of a dependency on a browser.
    With such simple applications, I would expect the RAM usage to increase only then, WHEN more complex functions are actually needed (like screen sharing, being in a call etc.). But Electron Apps are all permanent Memory Hoggs!
    You might be able to stomach running one such EXTREMELY inefficient app, but now imagine you're running several of them. A browser, minimized several Electron Apps... that's it, the RAM is already crying while bleeding on the floor.

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

      Yes, because everyone just craves to spend 6x more time and money implementing a separate for every fucking platform which use 5 different languages in total. Great solution.

  • @fundispense
    @fundispense 2 місяці тому +5

    I don't know why electron docs say that deeplinks don't work in dev mode. I have an electron-vite app and deeplinks work in dev mode just fine on macOS

    • @fundispense
      @fundispense 2 місяці тому +1

      On the other hand this shit doesn't work on linux AppImage production build and I can not figure out how to fix it

    • @bufferhead_
      @bufferhead_  2 місяці тому +4

      Interesting for me it does not. I thought they might be able to do some internal stuff and forward the events as it opens some weird custom electron app when I try it but it never worked for me and the docs also say it shouldn’t work so…
      As for the AppImage, as far as I can tell it only works when using AppImageLauncher. I’m not quite sure it this is an appimage limitation in itself (it looks like it to me) but this is the only way I got it working, and also the reason that we currently do not distribute AppImage for the solidtime desktop app.

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

      @@fundispense AppImages are simply portable executables, they do not install anything to the OS, so the app is not in the app menu list, the mime types and link handling info and all that is not known to the system. tools like AppImageLauncher can integrate them though.
      Consider flatpaks as a way to distribute your app, they are really nice for desktop integration and ease of use.

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

      I can +1 the experience of @fundispense. Works in dev mode for me as well on Mac. Luckily I only need it in dev mode and not as bundled as I use it for a dev tool.

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

      ​@@fundispenseThere's no desktop file to launch the appimage that's why

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

    You can add custom protocols pretty easily on windows.

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

    second time seeing a video from you (first being ffmpeg website redesign), and now I realized how your voice sounds very similar to ThatGuyGlen (maybe it's the tone?) and it's not escaping my mind haha

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

    One more problem that I noticed is that it uses 100mb+ of memory even in "headless" mode (electron that is). And since a lot of apps use electron I've got a bunch of 100mb apps running in the background, that do not display anything and should be

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

      Just download more ram bro

  • @zperk13
    @zperk13 2 місяці тому +1

    Captions thinks Vite is spelled Tauri for some reason

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

      The reason is me being an idiot while tidying up the captions. Should be fixed now, thx.

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

    As i see there is the github repository for electron "solidtime-desktop" app.
    But i cannot found repository for a tauri app. Can you please share a tauri repository also?

  • @escobar441n
    @escobar441n 2 місяці тому +1

    Apple not only hates developers but their clients as well :D

  • @fueledbycoffee583
    @fueledbycoffee583 2 місяці тому +1

    Huh? CEF is used in plenty of stable desktop apps. I wonder what would be the actual challenge of adding it to tauri

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

    I either use pwwebview or neutralinojs + bun if different API are needed not built in neutralinojs.

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

    Try iced-rs completely native

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

    no way i use solid time! loved the idea of it, but had some issues self hosting

  • @harriet-x.x
    @harriet-x.x 2 місяці тому

    Tauri is nice buttttt it falls apart if the user is missing the backend webkit runtime (on linux forget it there is one for each distro with diff namesss) windows if the user hasnt got webview2 runtime it wont run. While yes i absolutely love the idea we need to account for that-

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

    makes me pretty happy I'm still not a Mac developer.

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

    "There's no framework integration out of the box" I just checked the Electron website and on the home page, without switching to any page, under "Use the tools you love" it says "Choose to integrate your favorite libraries and frameworks from the front-end ecosystem". Am I missing something?

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

      They are just saying that you can use any web framework because it is a chromium browser. But you have to set it up and configure it yourself (or use Forge)

    • @praveenkumar9725
      @praveenkumar9725 2 місяці тому +1

      @@bufferhead_ There is a electron-react-boilerplate which I used in last project. But boilerplates are bloated. So, I am using electron-forge in my current project.

  • @thekwoka4707
    @thekwoka4707 19 днів тому

    I feel like none of the issues you had with Tauri are really problems. Just that it uses the present webview? But what did you actually DO that did not work in the standard webviews?

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

    Please also compare React Native desktop app

  • @googlengineer
    @googlengineer 27 днів тому

    yes you are right electron sending and receiving events sucks.

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

    how are some electron apps like obsidian so fast ?

  • @aqua-bery
    @aqua-bery 2 місяці тому

    Try cordova next! I think it's really neat and it supports android!

  • @lvideos1398
    @lvideos1398 2 місяці тому +1

    I would love to see you try Godot to make desktop apps!

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

    My first "desktop web app" was with Tauri, and I am never touching Electron

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

    Is there a tauri like desktop app framework with Golang?

  • @revidee
    @revidee 2 місяці тому +1

    10:59 CEF is in it's early stages? CEF predates tauri by years... I wonder how they will support CEF in tauri though. CEF is actively looking into so called shared installations and that project is indeed in it's early stages. CEF however can be titled ancient as it predates electron itself as well.

    • @bufferhead_
      @bufferhead_  2 місяці тому +1

      Their own Github Readme states "CEF is still very much a work in progress", so that's where i took it from.

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

      Their GitHub readme says that it's still a work in progress, not early stages. Just means it's still actively under development and that it may receive API changes, though CEF3 has been pretty stable for the last 4+ years I've been using it.

  • @danser_theplayer01
    @danser_theplayer01 2 місяці тому +6

    Honestly in vscode for example, the text sometimes makes ghosts with my low budget nvidia card.

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

      try disabling hardware acceleration

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

      Buy new hardware. Also use vim lol

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

    can you compare them with avalonia next?

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

    have you tried capacitor?

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

    8:52 On Windows Tauri uses WebView 2

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

    A tortoise and hare story
    chromium dependence is a development pox with early payoff.
    Thene electron doesn't even do the courtesy of letting clients share the same install base like dotnet so it's problems just compound.

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

    How about C and CLi interface?

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

    This video went 10 days ago, but you are saying that Edge uses blink... In what year are you leaving right now? Edge already couple of years uses Chromium and Tauri in that case will use Microsoft WebView2, which is specifically designed for that kind of apps.
    Info can be found in Tauri docs -> Core concepts -> process model

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

      WebView2 is based on Chromium. Chromium uses Blink.

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

    god bless native UI frameworks

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

    how can you compare different technologies, and what has not been compared with the assembler?

  • @jerrygreenest
    @jerrygreenest 2 місяці тому +10

    Tauri is neat at first, but then you have many OS and different OS versions, and some system files are different, meaning the program inside Tauri is rendered differently with different browser engines. Sometimes the program doesn't work at all because of these missing dependencies. All this makes experience with Tauri great at first when developing but worse later when the program gets distributed. Good idea I thought initially, was really happy with the program size. But eventually I cannot recommend Tauri. Electron is bloatware but it is robust reliable piece of software.

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

    Why was that Microsoft guy sweating like that?

  • @ThibautvanDorp
    @ThibautvanDorp 11 днів тому

    Hahaha, Java boilerplate code is a thing of the past I can ensure you but like really far in the past.
    Thanks for the video !

    • @Rami-bi9xj
      @Rami-bi9xj 6 днів тому

      i want to learn java as a side valuable language but people keep making me consider it for its verbose & boilerplate nature (and some people think its more of a feature rather than a bug),
      what would u add to this?

    • @ThibautvanDorp
      @ThibautvanDorp 2 дні тому

      @@Rami-bi9xj Most people are stuck on very old java believes. Java just works, it's rock solid. There is nothing that any other new shiny garbage collected language can do that Java doesn't (Yes I look at you Golang). You will never go wrong career wise with java.
      But of course it all depends what you want to achieve. If you aim for backend, big data, real time trading system, IoT or android development by all mean go for it.
      But if you also want to develop video games and prefere working in "smaller user base apps / company" C# would be a better choice.
      I have a preference for Java and C in my day to day coding and do a bit of C# when I am kind of forced by windows centric services.
      Now regarding boilerplate, this is a bit of a bullshit argument as for more than a decade Java has like IDEs that generate the boilerplate code automatically and even has things that avoid you to write it at all.
      Furthermore, modern java is extremely concise and if you want even more conciseness, everything you learned in java can be applied to kotlin (100% interoperability) if you prefere languages that hold your hand a bit more by using syntactic sugar.

  • @Reiswaffel
    @Reiswaffel 17 днів тому

    Why not a PWA?

  • @null-qk8si
    @null-qk8si 2 місяці тому

    How can we create a bubble like the one on massager mobile app for chat using electron ?
    I want to make it frameless, is that possible?

  • @MyAmazingUsername
    @MyAmazingUsername 2 місяці тому +26

    Before watching: Electron is the best. It has the most efficient Javascript engine and is the only way to control things such as hardware acceleration, because Tauri has no way to control browser-specific features. Furthermore, the instability of using different browser engines on every OS (Tauri) is a big headache, especially since there are so many different engines with different bugs and debugging. Add to that the fact that Tauri still uses a huge chunk of RAM for its browser instance, but just managed by the OS instead, meaning that there are no memory benefits. Literally the only benefit is a smaller distributable size, but that's not really important for most people, when the tradeoff is having a less stable application due to Tauri. The tooling is also awful with Tauri, requiring manual builds on every target platform, no cross-compiler.

    • @MyAmazingUsername
      @MyAmazingUsername 2 місяці тому +10

      Finished watching the video now. Good to see you weren't another mindless Rust zealot and actually talked about the countless drawbacks of Tauri.
      One thing most people do wrong when they advocate for Tauri is the memory usage. They look at Task Manager, see the low RAM usage, and believe it's great. But Tauri actually uses a ton of RAM. It's just allocated in a separate process, such as an OS browser process. 😂

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

      Exactly

    • @catto-from-heaven
      @catto-from-heaven 2 місяці тому +17

      Both suck. God bless native GUIs

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

      ​@@catto-from-heavenPerformance-wise, native apps are the best, but I haven't seen any cross-platform UI toolkits that I actually like, and the platform-specific toolkits require building the same app over and over again for different toolkits. Do you have any suggestions?
      I know about GTK (a total mess) and Qt (license issues and pretty nasty looking).

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

      @@catto-from-heaven That's relative to what your goals are. But as any software besides doom they can be improved a lot.

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

    Why not ditch tauri and electron all together, and use flutter instead. Single code base for all mobile, desktop platforms plus web 😄

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

      Because it doesn’t use standard web tech, it uses Dart, which means you can’t build a flourishing community of plugin/extension creators.

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

      @ That’s false bias people have, more ideological than technical merits.

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

      @@sunflash9 no it’s a fact. Do more devs in the world know html css js or dart?

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

      @@edwardo737 Doesn’t matter, just because most dev “need” to knows html,css,JavaScript to some degree doesn’t mean is a better tools. Most people eat junk food and drinks cola doesn’t mean its healthy food. HTML, CSS and JavaScript concepts is from 80, when most webpages just static text and “table”. Where webassembly and webgpu are the modern replacement more suitable for interactive app and graphics, 3D applications, and it can be written in several languages and compile to it.

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

    Why no captions?

    • @bufferhead_
      @bufferhead_  2 місяці тому +1

      oh thanks for pointing it out, looks like something broke with the automatic captions on youtube's side, added them manually now.

  • @Louis-L186
    @Louis-L186 2 місяці тому +5

    3:00 : I must admit that in 2024 I don't understand developers that use apple devices ... that's literally paying more for less ^^'

    • @ToanNguyen-ue8rw
      @ToanNguyen-ue8rw 2 місяці тому +2

      Well, because they have to support Mac and Iphone, I guess. Since you can only build software for Apple product on an Apple product. That's pretty f*cked up.

    • @Louis-L186
      @Louis-L186 2 місяці тому

      @@ToanNguyen-ue8rw Yup, I do have to support apple phones for my app. For that, I spin up a mac VM once every trimester and weep for a day, but I'm not masochist enough to spend more time on that os than I have to.

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

      still better than windows for programming and having a linux os on a day to day is tiresome

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

      @@matthieu875 define better

  • @Damglador
    @Damglador 2 місяці тому +1

    Lol, as a Linux user, wtf is webkitgtk?

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

      It is the GTK counterpart of KHTML. KHTML is written in C++ but with the KPart (Qt) libraries, which means that KDE dependencies must be installed in Gnome (GTK) environments. To avoid these dependencies, they developed webkitgtk, which is entirely based on GTK libraries. The webkit engine (Safari use it) is a fork of KHTML.

  • @ivanmaglica264
    @ivanmaglica264 2 місяці тому +13

    Got to admit, I love Electron! Coming from 25+ years of desktop dev experience, web has advanced UI with HTML/CSS so much, nothing comes close to it. Unless you are building small system utility, there is no reason not to use Electron, or Tauri (or any web to desktop app packaging tech)

    • @EverRusting
      @EverRusting 2 місяці тому +7

      Advocating for running what could be called an entire OS for a simple desktop application is mind boggling.

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

      @@EverRusting that's exactly my point, it's not for simple utilities, but for non-small applications.

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

      As a web dev, html css is a horrible abstraction. You need complicated compilers, preprocessors, build toolchains and frameworks to make it usable. I much prefer the way flutter does things. Scales infinitely better than html/css and performs much better too. Nothing kills an app more than a laggy web based interface. I can pretty much tell just by using an app whether its native or made with web tech.

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

      @@askeladden450 That's not an even comparison. If you want Flutter, you can use WebGPU to render fragment shaders, and use compute shaders to handle box layouts or physical animations.
      There are also ways of getting GPU accelerated CSS compositing layers for animation (see viewtransitions and the animation api).
      I hope you don't use consoles, or VR, because you would be perpetually surrounded by said web tech.

    • @askeladden450
      @askeladden450 2 місяці тому +1

      @@SeanJMay ok, and? Again, all that complexity just to replicate what you can do far more easily in flutter. At this point, just use native c++ or kotlin.
      Oh and nice you mentioned consoles. Just proves my example how badly some of these web interfaces perform. Remember how bad the webgl based ps4 ui performed? Atrocious. And steam big picture ui is just a colossal mess in terms of performance.

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

    I tried Tauri. Couldn't get the most basic dev console to show up. Moved on.
    Electron is still too bloated.
    There is no good solution...

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

    Buenas estrategias

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

    This is an oversimplification, but...
    If you don't need cross-platform support and you just want to build a Windows desktop app: pick Tauri.

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

    While I disagree Tauri is back-end, I very much enjoyed the video.

  • @JohnJ-n7i
    @JohnJ-n7i 15 днів тому

    Janpanese?

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

    tauri can break your javascript 😂 you have to make config file for what to support

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

      That's the point, like deno

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

    now do win32

  • @JakobRossner-qj1wo
    @JakobRossner-qj1wo 2 місяці тому +3

    RN for Mac and Windows?

  • @GustavoCPadua
    @GustavoCPadua 18 днів тому

    Apple products user detected, opinion rejected

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

    Electron gets a lot of criticism for the memory/disk usage but personally I don't think it's much of an issue on modern computers, I for sure never minded the performance of electron-based apps. Just the fact that it makes it so easy to build out UIs which is usually a huge hassle on the desktop apps makes is a huge plus and that's probably why it got so popular. Still gotta give Tauri a try, I kinda want to learn Rust at the same though to make the most of it.
    Solidtime looks pretty cool by the way! I'm already dedicated to TogglTrack which I like a lot and seems to be doing all the same things, otherwise I'd give it a try 😉

    • @user-eg6nq7qt8c
      @user-eg6nq7qt8c 2 місяці тому +3

      I get that argument and I like Electron but the concept scales poorly. If every app was like an Electron app then the waste becomes offensive and shameful. Are modern computers meant to just deal with bloat? The hardware engineering makes incredible advances and all the software guys can think to accomplish with it is waste memory and cpu. It's disappointing isn't it?

  • @user-tw2kr6hg4r
    @user-tw2kr6hg4r Місяць тому

    qt

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

    Please don't use electron. Please. Please. Please.

  • @Beryesa.
    @Beryesa. 2 місяці тому +19

    Neither of these are REAL desktop apps though 😅

    • @dustsucker4704
      @dustsucker4704 2 місяці тому +15

      Please define what a "Real" Desktop App is?

    • @akam9919
      @akam9919 2 місяці тому +5

      @@dustsucker4704 his comment ends with a winking face...he's trolling/baiting.

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

      ​@@dustsucker4704hes using the words "real desktop apps" as apps that are using native gui

    • @Beryesa.
      @Beryesa. 2 місяці тому

      @@dustsucker4704 not web apps in a cut down browser of some sort at least, native apps, you might not remember those...

    • @kryonor
      @kryonor 2 місяці тому +4

      They are fully functional desktop apps, just not NATIVE.