The Harsh Reality About Web Dev

Поділитися
Вставка
  • Опубліковано 21 січ 2024
  • Not a big fan of the narrative that "the web sucks" and all of the Javascript FUD. I decided to come out in defense of the web. I hope y'all don't get too mad at me for it :)
    Check out my Twitch, Twitter, Discord more at t3.gg
    S/O Ph4se0n3 for the awesome edit 🙏
  • Наука та технологія

КОМЕНТАРІ • 834

  • @MrMagooRC
    @MrMagooRC 6 місяців тому +901

    Guy who learned to code pre-WWW here. Started teaching my daughter React/NextJS at the weekend using a free DnD API as a data source. Had something deployed to Vercel in minutes, and built a small, very basic app, over the next few hours as she learned. To say she was stoked the first time she saw her app running on the web is an understatement, and she loved being able to share a link with her friends so that they could see what was going on. And all for FREE. Trust me, learning to build stuff in this modern world kicks the crap out of what we used to have. People need to quit whining and learn where we came from... You can't appreciate today if you don't understand yesterday.

    • @sharoon_rafeek
      @sharoon_rafeek 6 місяців тому +47

      Hats off to your tech journey, from pre-WWW to NextJS. Truly impressive!

    • @hungrymusicwolf
      @hungrymusicwolf 6 місяців тому +64

      I read your comment as "pre-World-War-??" at first and I wondered what kind of future did you come back from for there to be so many world wars?! That left me very confused for a few seconds.

    • @TomNook.
      @TomNook. 6 місяців тому +13

      You're a great dad

    • @PRIMARYATIAS
      @PRIMARYATIAS 6 місяців тому

      Pre World Wide War 🤣🤣🤣​@@hungrymusicwolf

    • @MrMagooRC
      @MrMagooRC 6 місяців тому +3

      @@TomNook. Thanks! It's awesome being able share this kind of thing with the next generation, and see the passion it can stir up. Theo's comment at 17:00 is 🔥🔥🔥.

  • @samfelton5009
    @samfelton5009 6 місяців тому +247

    Theo: “There have obviously been Mistakes like web components”
    Me: “web components mentioned!!!!!!”

    • @ivanmaglica264
      @ivanmaglica264 6 місяців тому +31

      I think web components are a technology that it's full potential has not yet been explored.

    • @patricknolen916
      @patricknolen916 6 місяців тому +30

      Web components are not a mistake. They're the standardization of encapsulated interactivity and style for the web. It's React without the framework. It's vanilla JavaScript. Sure, there's a ton of work to do on them. But they're the epitome for the argument Theo is making in the video.

    • @RawFatGod
      @RawFatGod 6 місяців тому +1

      @@patricknolen916 they are not fun to use

    • @marusdod3685
      @marusdod3685 6 місяців тому +1

      as soon as I read this comment I heard him mention "web components"

    • @tinkmaster1054
      @tinkmaster1054 6 місяців тому

      Hahaha the startup I worked for got acquired recently and I've found myself under a super smart CTO tasked with rebuilding our respective apps into a single modernized application. Based on the CTO's decades of experience we're using web components for the front end - and so far I'm thrilled to be free of the dictatorship of frameworks. The key is that, according to my CTO and his experience, it's the shadow dom concept that's bad about web components, not web components themselves.
      It remains to be seen where we'll be in a few months but so far web components and lit-html have been great to use. The not so great thing is how hard it is to find useful info online about them that doesn't also rely on shadow dom...

  • @ahallicks
    @ahallicks 6 місяців тому +34

    Tools and frameworks aside, I will never forget the amazement I felt when I opened up Notepad in my college library with an HTML book by my side and built a webpage. Mind blown. And those same, fundamental technologies that powered the web then still power it today and constantly improve. It's awesome. I love my job.

  • @theosokolowsky5608
    @theosokolowsky5608 6 місяців тому +8

    The argument about Electron is wack. The Web is the reason why desktop apps almost disappeared in the first place, but now it's a hero because it kinda brought them back. In France we have a saying for this: "the pyromaniac fireman".
    Anyways, Electron and such (Tauri, Wails) are good for Linux, that's true, but if the web had never been that popular, people would have just worked on some other ways of making cross platform apps.

  • @cyan_galaxy
    @cyan_galaxy 6 місяців тому +13

    "The only reason there's actual desktop software on Linux is Electron"... are you sure man??

  • @mrxcreamy10
    @mrxcreamy10 6 місяців тому +112

    Look I understand electron is nice for being cross platform and working on web BUT you can't say there wouldn't be any desktop apps on Linux without it. Qt is fairly standard as well for cross platform desktop apps. Let's not pretend it doesn't exist.

    • @stevenismart
      @stevenismart 6 місяців тому +12

      I do want QT to get more popular and will continue using it, but dealing with QT licensing is annoying :(

    • @Fe22234
      @Fe22234 6 місяців тому +38

      Theo is right his argument is from business decisions not technical. The apps he mentioned would not exist on Linux. No one is going to use QT to capture the small Linux userbase.

    • @le_travie7724
      @le_travie7724 6 місяців тому +8

      ​@@Fe22234no one wants to admit that

    • @atiedebee1020
      @atiedebee1020 6 місяців тому +3

      GTK is also very widely used and is actually quite ok.

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

      QT is paid afaik. I was trying to learn but the latest version required subscription. Electron is free. Yes, I could've installed an obsolete version of Qt but thats not a good start already

  • @thatonegoblin7051
    @thatonegoblin7051 6 місяців тому +29

    "neither of these developers have worked in large teams" JB literally runs a company with teamS under him and Tsoding was a professional web dev writing browser plugins.

    • @sajti812
      @sajti812 5 місяців тому +13

      Yeah this dude is out of his depth

  • @magne6049
    @magne6049 5 місяців тому +17

    11:08 You actually made their point at 0:04. They are simply envisioning a world where we weren't building high-fidelity apps in software that was inherently made to render documents. In other words, they are asking: What would the world look like if "browsers" had better primitives to work with than HTML/CSS/DOM, and something else than a single-threaded language like JS, and could render everything in parallel (by default), on the GPU (by default), like games do? Maybe we wouldn't use Suspense and whatnot to work around problems that shouldn't exist in the first place? They're questioning the status quo (and all the towers of abstraction we've built on top of it, and have to deal with). That's at least a good faith interpretation of their position.

    • @g-rexsaurus794
      @g-rexsaurus794 5 місяців тому +1

      Hard to be good faith with people that themselves are so abrasive to others.

    • @magne6049
      @magne6049 5 місяців тому +6

      @@g-rexsaurus794Hard, but necessary.

    • @freecivweb4160
      @freecivweb4160 3 місяці тому

      ikr and you didn't even go off on it like you could have in 1000 pages

    • @freecivweb4160
      @freecivweb4160 3 місяці тому

      Most apps can be compiled in under 10 seconds, while you're going through some log in process in the background. Imagine that, a sandbox-but-native-app is ready to run whie you're registering. To say that this facebook Zuckerberg nightmare REACT world is so superior is blowing my brain with not dynamite but weapons we should be preventing under nuclear non-proliferation treaties

  • @lmlizwpfhsjmcyt7545
    @lmlizwpfhsjmcyt7545 6 місяців тому +12

    Linux didn't need Electron. It already had Firefox and Chrome, Just make the browser better. It's already a thick client.

    • @freecivweb4160
      @freecivweb4160 3 місяці тому

      blah blah blah it needs everything the others can do and more, to beat them. Electron is good for linux because as more people write in electron their ability to push out linux decreases. Make your counterargument. don't confuse the non-supreme optimalness of electron with the fact you got an app for Tidal when no one else made it.

    • @lmlizwpfhsjmcyt7545
      @lmlizwpfhsjmcyt7545 3 місяці тому

      @@freecivweb4160 electron could have been an integration into the browser. Imagine opening your browser to a web app tab/button. You click one and the browser opens a new window that has all that electron functionality. The browser could have had those os apis and we just install apps like we do now with pwa. The web platform already acts like an os

  • @rafaelbordoni516
    @rafaelbordoni516 6 місяців тому +44

    I understand your points but you're at least misinformed about a couple. Game dev haven't converged into Unity and Unreal, most industry leaders (Nintendo, Rockstar, Ubisoft, Bethesda, From Software, and many others) all use in-house solutions. Big commercial engines are only the majority on the indie space, and even on the indie space we have a lot of success with in-house or alternative solutions (Maddie Makes Games, Supergiant Games, the folks that made Dead Cells, and the folks you mentioned in your video). But even still, the problem most folks have with modern web dev isn't so much about the convergence (even because if we wanna be honest, there are so many alternatives to React and expressjs at this point that I'm not sure everyone is comverging to a single solution), it's the complexity and the disregard for the tolls it's taking. Only in web dev we have a counter movement with simplicity and/or performance in mind, there's a reason stuff like rust, go, htmx and even tailwindcss are on the rise. Only in web dev we've been making new frameworks that only restructure the code or change how we think about the apps instead of increasing performance or making us write less code. We kept piling complexity on top of complexity and many devs started to realize it and found that moving away from it didn't made them less productive as people who push these modern tools led us to believe. But yes, this complexity problem isn't unique to web dev, it's just worse there. I predict that the same might happen in game dev as the industry learns from web dev. The rise of zig and odin are a sign of that.

    • @Ali009Ahmed
      @Ali009Ahmed 5 місяців тому +3

      To be fair, the move towards Unreal Engine is actually surprisingly notable in the AAA sphere recently, especially in Japan. It's wild to see both Street Fighter and Tekken running on the same engine. For one to find examples of companies that still go in-house, they often just mention the biggest of the biggest in the industry (Rockstar and Nintendo for instance) that have already long invested in engine R&D. Besides that, it's very common to hear that Bethesda's engine is horribly holding the company back, and it's very doubtful if they can ever invest in a new engine that can compete today.
      I think if anyone wants to build their own engine nowadays, they'd need to have a very strong case cause your competition in that domain is ridiculously huge to say the least. Even if you're putting in AAA levels of investment, that money is very often better spent elsewhere.
      TL;DR building your own solutions is a bad choice if you can just take someone else's solution to the same effect.

    • @cericat
      @cericat 5 місяців тому +4

      @@Ali009Ahmed Bethesda's inhouse engine is an antiquated fork of Gamebryo with tacked on elements from elsewhere including some new visual code utilised in Starfield. But even then a lot of the biggest problems isn't the engine it's how it's used considering how much reportedly less buggy FONV (developed by Obsidian using the same dang engine) is compared to FO3, FO4, or Skyrim.

    • @JoaoVictordaSilvaMadeira
      @JoaoVictordaSilvaMadeira 5 місяців тому +3

      You are only pointing really big game companies that have been on the market since using a third party engine was not an option. But whe already have examples of companies like CD Projekt Red switching to use Unreal Engine instead of REDengine 4, EA Games not forcing all of its studios to use Frostbite, and we have a lot of big titles developed with Unreal like Lords of the Fallen, Ark, Tekken 8, Hellblade 2, Wukong, and many others. Of course, most of the industry leaders uses their own engines, but the number of companies developing their own engine instead or using Unreal of Unity is decreasing a lot in the last years, even in the triple A industry.

    • @rafaelbordoni516
      @rafaelbordoni516 5 місяців тому

      @@JoaoVictordaSilvaMadeira My point was not to say that they're not used, it was to say that they're not nearly as adopted as web dev frameworks are, as he claimed in the video. The mess of frameworks and tools and new technologies being hacked together for simplest of projects in web dev is unmatched. Even those that use commercial engines only have to download the engine and that's it, sometimes you put in a couple of plugins but nothing matches the complexity and absurdity of a node_modules folder. Game dev is just not there yet.

    • @JoaoVictordaSilvaMadeira
      @JoaoVictordaSilvaMadeira 5 місяців тому

      @@rafaelbordoni516 I see your point now, but you are putting it like you need to have a project full of frameworks and libs to make a web app, and that's not true. Yes, in web dev there is A LOT of different solutions to almost everything, but you don't need to use them all in order to make a web app. For me, web development is just like cooking, you have a lot of flavours, some awesome and others not so much, but you don't need to put them all inside of one single cake. But yes, I agree that a big project can escalate really fast in web development, but if you are managing your project well you can avoid making a big mess, like, do you really need to install a whole lib just to put some cool sliders on your website? Can't you just create a component?

  • @stephenjames2951
    @stephenjames2951 6 місяців тому +14

    The product I work on uses a predecessor to Electron CEF which is also a Chromium wrapper. We have specific requirements for the product that required us to have a C++ backend rather then node js. But the ability to use web technologies to develop our front end is great. We are cross platform Mac and Windows and we couldn't survive without the web technologies that CEF(chromium) provide. I am old school C++ but I have no issues with javascript, sure it has it's quirks, but using node I can write fairly complex CLI scripts faster and easier with node (which is only there because of web technology). We have so many more headaches and longer deployment cycles than the we teams because we have installed apps.

    • @Cmacu
      @Cmacu 6 місяців тому

      CliniComp?

    • @MattSitton
      @MattSitton 6 місяців тому

      spotify?

  • @trietang2304
    @trietang2304 6 місяців тому +131

    From a user perspective, most users probably don't want to install an app. Laptops with low disk spaces where windows took 100GB for installation and the remaining maybe for people to store their home media and gaming. Having apps in the browser help us to just stay in the web browser to do most of things and it is a lot easier and save people a lot of disk spaces.

    • @AmansLab
      @AmansLab 6 місяців тому +17

      if user has low disk space than we should not expect them to have enough ram to run your app

    • @brenosonda8496
      @brenosonda8496 6 місяців тому +15

      @@AmansLab I disagree, I have 250GB SSD and 24RAM

    • @dovh49
      @dovh49 6 місяців тому +6

      Yeah, using slack as an app is annoying. But then the web based one is annoying too, since it uses so much RAM and CPU. I don't know how they built the app, but the app sucks.
      I like NeoVim and it works much better than VS Code. Yes, VS Code has some advantages as it has a ton of plugins. But it is nice using NeoVim that uses a lot of less RAM.

    • @brenosonda8496
      @brenosonda8496 6 місяців тому +1

      @@dovh49 I didn't know Neo Vim used less Ram, even tho I have 24Ram my Pc doesn't handle two instances of VsCode too well, do you have any tip on how to migrate?

    • @evergreen-
      @evergreen- 6 місяців тому +6

      Jira’s native macOS app has been axed in favour of their website. The app used 200 MB of RAM as opposed to 2 GB of RAM that is used by their monstrous website.
      AND their website ships LESS features than the app like push notifications which were supported in the app but not on web.
      And I am not even talking about the absolute disaster which is their mobile website version

  • @ericmackrodt9441
    @ericmackrodt9441 6 місяців тому +10

    The fact that I can still load sites with marquee and framesets on modern browsers, or that someone who hasn't learned any new js, css and html in 20 years can still build a functional website that can still be accessed, to me, is a huge power.
    The fact that I can still load archived Geocities sites with no issues (unless they use proprietary stuff like Flash) is what makes the web beautiful.

  • @davebushmediadesign
    @davebushmediadesign 6 місяців тому +3

    Note to all UA-camrs - STOP THE DAMN CONSTANT MICRO EDITS. Just talk. Pauses are normal and expected. Constant edits induce anxiety.

  • @thehen101
    @thehen101 6 місяців тому +4

    let's be honest having 6 copies of chromium running locally using 2GB ram each just so you can send text to your friends is stupid, just because it's the path of least resistance to create doesn't make it good

  • @holly_hacker
    @holly_hacker 6 місяців тому +64

    Tsoding's video was NOT about create-react-app, it was about using react from scratch without any such starter templates.

    • @luxluth
      @luxluth 6 місяців тому +4

      Exactly

    • @rawallon
      @rawallon 6 місяців тому

      link it

    • @doc8527
      @doc8527 6 місяців тому +16

      Gonna be harsh here, you are completely wrong!
      Tsoding wants to figure out how React libs ("react" and "react-dom") work under the hook, hence he should check out the github repository instead of the user documentation (the user manual).
      You don't check user manual to understand how the fridge cold system works.
      His critique is valid but he complains to wrong spot, and keeps baiting the React fanboys. I watched the whole stream at the very beginning cuz it's fun to watch how he figure out those libs work without much info he needed, and he constantly scroll up and down without patience.
      His purposely over-raging and pretentious action (probably due to its live, people tend to act more), indirectly causes the fanboys from both sides are being extremely dishonest, completely neglect the technical details (what are jsx, babel, transpiler, etc., and why we need them) he dealt with at that moment. They were arguing two different things during the whole stream.
      Sound like I must hate him, nah, he definitely a good engineer. People can have different and even opposite opinions.

    • @TurtleKwitty
      @TurtleKwitty 6 місяців тому

      @@doc8527 The problem people had was he's calling himself a react expert now... while never having used react. I hate react with a passion I think its a horrendous framework, but even I know that not using react means Im not a react expert XD

    • @michaelfrieze
      @michaelfrieze 6 місяців тому +1

      React docs show how to import react (using unpkg) into an HTML file and use it. He just didn't search hard enough.

  • @zactron1997
    @zactron1997 6 місяців тому +95

    Hot take for this community: JS is only used in web Dev because it's the only native dynamic language browsers support. I think this single issue has been the greatest source of developer frustration with web development.
    UI development is hard on any platform, and I'd argue the web is the easiest one by far, but it's still a fundamentally difficult challenge. This is why I want WASM and Web Components to be pushed further in future web standards. There is no reason why you couldn't use React, Vue, SolidJS, etc. all together via web components if the browsers had a little more functionality in that API. And with WASM, you'd finally allow for innovation in the web UI space that goes beyond JS' limitations. TypeScript isn't a perfect language, but it definitely could be better if it wasn't so intrinsically linked to JS. That's why tools like Static Hermes want to break the TS/JS link for optimisation purposes.
    Anyway, I do agree with your video, even tho I'm definitely the kind of backend dev that hates JS and UI (I am currently supporting a government AngularJS application and trying to find a way to migrate that to...anything honestly, probably HTMX + WC to avoid this very problem again in the future)

    • @TVIDS123
      @TVIDS123 6 місяців тому +5

      Why do you think JS being dynamic is something that makes it popular? I'd rather use a statically typed native language for web dev, but there's not much point if most of the jobs are JS/TS.

    • @zactron1997
      @zactron1997 6 місяців тому +14

      @@TVIDS123 Oh my apologies I don't mean dynamically typed, I mean dynamic as in interactive, as opposed to say HTML or CSS. I will say JS being dynamically typed probably helped adoption, but I too prefer statically typed languages by far. I did my time in Python, I'm good now.

    • @TVIDS123
      @TVIDS123 6 місяців тому +4

      @@zactron1997 I think the phrase you're looking for is "imperative programming language", as in, a language that allows you to program by describing the steps needed to solve the problem (the algorithm).
      HTML and CSS aren't programming languages, and they're declarative rather than imperative. They describe something and let the browser figure out what is actually supposed to happen.

    • @dealloc
      @dealloc 6 місяців тому

      WASM is the last option I'd use to deliver UI components with accessibility. The two ways would be what JS already does and write to the DOM, with the additional overhead of converting data between WASM and JS. The other is writing your UI using canvas. Good luck making this UI accessible in a convenient way. Flutter tried this and have so far failed to deliver a good experience for assistive tools.

    • @azmah1999
      @azmah1999 6 місяців тому +6

      @@dealloc To be fair with OP's point, they said they wanted WASM and WC to be pushed further. So I guess they're also not exactly happy about having to use JS as a glue to make WASM do anything with the DOM

  • @bcorey3660
    @bcorey3660 6 місяців тому +17

    If defense of J Blow, he is not a web dev, it’s not his job to fix it. In the games space, he made his own programming language, and made his own engine with it due to frustration with current tooling. Say what you want, but that’s standing on what you say

    • @HappyCheeryChap
      @HappyCheeryChap 6 місяців тому +3

      Never heard of anyone expecting him to fix things in webdev. Why would they, considering he isn't one?
      I like listening to some of his rants, especially on bad UX stuff, totally agree with pretty much all that.
      But he also has a lot of dumb general takes based on very specific things, or things he doesn't know much about. On these topics, he's pretty much the epitome of "can't see the forest for the trees".
      Like his general take that open source sucks overall, based on some detail about how pull requests specifically work in git, or whatever it was.
      Or when he complains that webdevs call things that aren't protobufs, "protobufs". Which I've never come across. Sounds like he saw one person make that mistake, and just concluded it's like a common thing or something. So thinks it's some important rant to bring up on protobufs in general.
      I guess you gotta fill the time with something though, as a streamer. Fair enough.

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

      Then why does he give his opinion on a subject he is incompetent in?

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

      @@adlex1212 because that's what brings in the views. If you share stupid/controversial opinions, then you will be more successful than someone who is reasonable and rational.

  • @noobscience123
    @noobscience123 6 місяців тому +123

    Honestly, This is true. Without languages like JS and Python, I would have NEVER been interested in development altogether. Nothing really beats the feeling you get when you build your first site. It is the kickstart that sort of introduces you to everything!
    No matter how much other stuff that I make, web development has a special place in my heart.

    • @YourMom-rg5jk
      @YourMom-rg5jk 5 місяців тому

      the web just wouldn't be the same without your projects noobscience123

    • @fahimp3
      @fahimp3 5 місяців тому

      I would not lump Python in the same category... 😂

    • @freecivweb4160
      @freecivweb4160 3 місяці тому

      Without scripty languages you wouldn't exist? Please reconsider your position!

  • @m4rt_
    @m4rt_ 6 місяців тому +23

    there are a lot of non-electron apps on Linux.
    It isn't purely electron that is the reason we have support.

    • @redpillsatori3020
      @redpillsatori3020 6 місяців тому +1

      Tauri FTW! This video makes me want to learn Rust and Tauri again.

  • @ExponentialWorkload
    @ExponentialWorkload 6 місяців тому +4

    "electron's the only reason there's software on linux" no, electron's the only reason there's a large chunk of proprietary software on linux. a lot of us are fine with our native-gtk applications, and would build our apps with that if electron wasn't around and be happy
    not to mention, if electron wasn't around, webkitgtk would still allow things like tauri to work, and people would still be able to directly use CEF.
    Keep in mind, I'm saying this as a web dev.

  • @laszloszabo7536
    @laszloszabo7536 6 місяців тому +24

    I'm pretty optimistic about Tauri. It's goal is to have the ergonomics of Electron with better performance (as well as Security) and smaller bundle size. If the 2.0 release rolls around and they have the planned Android / IOS support than they're going to be usable for every major platform

    • @apollolux
      @apollolux 6 місяців тому +4

      There's a project, Neutralino, that hooks directly into the OS's native implementation of WebView (in the case of Windows, WebView2) to try to cut out the middleman rather than do what Electron does and simply wrap Chromium Embedded Framework. I'm optimistic about its progress.

    • @michaelkadziela7460
      @michaelkadziela7460 6 місяців тому +7

      ​@@apollolux that is what Tauri does currently

    • @laszloszabo7536
      @laszloszabo7536 6 місяців тому +1

      @@apollolux Thanks for mentioning Nautralino, it's the first time I'm hearing about it. From a quick glance it looks quite similar to Tauri, just written in C++(instead of Rust) and it seems to be less popular. I'll keep in in my Radar anyway.

    • @apollolux
      @apollolux 6 місяців тому

      @@laszloszabo7536 Ah, it's in Rust, that probably explains the popularity you speak of. I'm glad there are projects that realized the same thing about Electron/CEF's bloat that Neutralino did and try to do something useful about it. :)

    • @fadhilinjagi1090
      @fadhilinjagi1090 5 місяців тому +1

      I love what Tauri promises to offer. But the biggest obstacle is writing Rust for the "backend" instead of the convenient Node JS that Electron offers. But I would be willing to let my DX take a hit if I get way less bloat and better performance

  • @figmentfire
    @figmentfire 6 місяців тому +10

    In 2000 I walked away from the carpentry trade to build websites with just 1 site under my belt. Man, it's been such a fun ride, I'm now managing engineering teams and pulling outdated practices into the present. No university degree needed, I learnt everything I know by building websites. I wouldn't be where I am without the web!

    • @freecivweb4160
      @freecivweb4160 3 місяці тому

      +1 let's get you hired to a job

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

      man the 2000s are wild man. nowadays with an engineering degree people can barely get internships. lmao

  • @victorpinasarnault9135
    @victorpinasarnault9135 6 місяців тому +5

    The big advantage of Gmail is that it is free. That's it.

  • @jorderon
    @jorderon 6 місяців тому +12

    JBlow's points don't admit to Twitter threads and he's a bit of a curmudgeon. He's not wrong that the web sucks. He has some long form talks about the general idea he's on about, which is that technology does not necessarily advance over time, and you cannot abstract your way to progress. Most of what passes for technology is a series of tradeoffs that people don't understand or are intentionally ignorant of. The web is awful, it's just less awful than the current available alternatives for a variety of complicated reasons and historical tradeoffs, which, if we were able to do it all again, we'd probably have gone down a different path.

    • @levyroth
      @levyroth 6 місяців тому

      We can go on a different path right now. But web devs work for corporations who have different goals and priorities than an average programmer who might just want to write beautiful code.

    • @brandonmansfield6570
      @brandonmansfield6570 6 місяців тому +4

      Web is awesome. The world has never seen it's like as an open, accessible, information and economic platform, ever.
      Criticizing it's perceived technical shortcomings without proposing any kind of actionable solutions is just throwing sand on the picnic everyone is eating at.

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

    What do you guys think of Elm. (Please also mention if you have worked with it on a production level project or not).

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

      I love it, but getting buy in from others is hard.
      We have one particular part written in Elm, all of it by me. No one else want to touch it.
      I don't know why, the app works flawlessly and is delightful to work with.

  • @flyingsquirrel3271
    @flyingsquirrel3271 5 місяців тому +3

    Many electron apps like discord or spotify need an internet connection to a specific server anyway in order to work. When that is the case AND the app is build using web tech anyway, why bother having a desktop app at all and run 5 versions of chrome in the background at the same time instead of just opening a tab in a browser of our choice? And if that's not the case, can't we at least use the webview that is preinstalled in our OSes? If someone actually want's to build something in JS where they would have other options (every domain other than frontend), at least use tauri instead of electron.

  • @emerson-sheaapril8555
    @emerson-sheaapril8555 6 місяців тому +6

    Ive been project manager on some small apps for web, and mobile and for some of the apps we made a web version and an Android version using kotlin or flutter.
    The reason we did this is because we where very convinced that native was a better user experience, and i will say no, no it wasnt for many of the ressons that Theo is mentioning.
    It also aded no benifit, no better user experience, and only added complexity. Actually, in the end, from a user standpoint, i liked all the web versions better.

    • @freecivweb4160
      @freecivweb4160 3 місяці тому

      You and your enemies are both right, it's context dependent.

  • @swedishguy83
    @swedishguy83 6 місяців тому +101

    “The only reason there is actual desktop software on Linux is Electron”. Oh boy, is this really the hill you want to die on?

    • @reed6514
      @reed6514 6 місяців тому +30

      Yeah, that was silly, hyperbolic. Yes, some apps are only on Linux because of Electron, but there's also a ton of native apps too.

    • @TurtleKwitty
      @TurtleKwitty 6 місяців тому +28

      Especially when his idea of a thing "only possible becasue of web" is an irc client that destroyed the open standards and forces everyone to use their electron thing instead of interop with open standards in the same breath as claiming that web is great becasue open standards XD

    • @tumescent
      @tumescent 6 місяців тому +23

      He "defeats" the FUD by spreading more FUD. Truly a web developer moment

    • @reed6514
      @reed6514 6 місяців тому +18

      @sferavel linux desktop has a small user base, but it isn't THAT small. And personally, i am grateful for Electron on linux. But that doesn't mean I'm not critical too, nor does it mean theo was right about everything he said.

    • @reed6514
      @reed6514 6 місяців тому +12

      @sferavel also, get off your high horse. Linux is an open source project without massive corporate marketing behind it, and without a predatory profit model. Linux is BAD at some things (games. Mainly games), but linux is GREAT at others. Linux is free and accessible. Linux powers android. Linux can be installed on old decrepit hardware. Linux can be used in embedded environments. And it does quite well at office stuff. But it's not perfect. Neither is windows. And not everybody should be using linux. Mac is better for some folks. Windows is better for many folks.

  • @gardnmi
    @gardnmi 6 місяців тому +24

    If you gave jblow a ticket to read some csv data he'd probably write his own csv parser. He is the type of engineer and there are many like him that always should be assigned to problems that haven't been solved.

  • @aniketbisht2823
    @aniketbisht2823 5 місяців тому +4

    The stupid thing with the status quo of the Web is that we ship source code i.e plain text to the clients (i.e browsers) instead it should just be binaries. An HTTP request could just include the platform it's being sent from and then the server would send the binary for that specific platform. We won't need interpreted languages like JS. Instead of "write-once-run-anywhere" language, we could use "write-once-compile-for-any-platform" language like C/C++ or Rust. As the complication part of the deployment is handled on the server itself the user/client won't noticed any difference.
    The browser then won't be as bloated as they are now. They would only need to include the security layer so the programs "shipped" don't make any system call by itself and every request for system resources goes through the browser (like they currently do). The browser would use far less memory than they currently do because most of it currently is used by JS engine.

    • @SuleymanSchedules
      @SuleymanSchedules 3 дні тому

      that's been tried multiple times even by Google and it was universally terrible

  • @cgalo
    @cgalo 6 місяців тому +25

    "You don't like living in a society, yet you live in one"
    -Theo

  • @Lena-yt3yl
    @Lena-yt3yl 6 місяців тому +41

    I'm Sorry Electron isn't responsible for the general existence of "Actual Desktop Apps" on Linux. OpenOffice/LibreOffice, Blender, JetBrains IDEs, Thunderbird, Firefox, Chrome itself, VLC, Steam, File Managers (and i don't use more)

    • @lucaslinhares4071
      @lucaslinhares4071 6 місяців тому +8

      I completely agree. And I have to add that apps that 99% of apps that are built with Electron work just fine as websites. For example MS Teams or Spotify or Discord.

    • @michaelfisher4737
      @michaelfisher4737 6 місяців тому +5

      YES! THIS! they use qt or gdk with are open source and cross platform. The issue is windows devs make apps specifically for windows using frameworks specific to windows, and mac do the same with swift.
      While linux people use qt or gdk and can compile to any platform.
      Electron is only so popular because if you already have a web app then just bundle it in electron and away you go, the intent normally is not to be cross platform but more so that they don't have to remake the app for a GUI app

    • @powderypastor1242
      @powderypastor1242 6 місяців тому +1

      Agreed, that was a really disingenuous take in an otherwise good video. All the Web apps like Slack and Discord run just fine in the browser anyway, which in my opinion is better than settling for a "good enough" desktop version for the sake of convenience.

    • @cyan_galaxy
      @cyan_galaxy 6 місяців тому +3

      Yes, I was shocked to hear him say electron is the only thing that enables desktop apps on linux. It such a wrong take, I was really taken back by it.

    • @philippebarillecavalier9275
      @philippebarillecavalier9275 5 місяців тому +1

      That guy should take a pause from making videos and go learn basic stuff. Really embarrassing.

  • @grimface
    @grimface 6 місяців тому +8

    There's definitely a place for writing native code, or, in other words, optimized code. As for your physics engine or game engine examples, you can start with Unity or UE, but at some point, when you're entertaining success, you might need to rewrite your engine to do exactly what you need it to do. But that's "optimization", and it should typically take place after the rest of the work is done so that you can actually be out there making a living.

    • @chunkyMunky329
      @chunkyMunky329 5 місяців тому

      That last sentence was almost like a personal attack lol, because I'm violating your rule there. The reason I bring this up, is because I think that there is a huge mistake that people make with advice like this. To give an example, I was recently telling someone that Bill Gates was dumb to listen to the person who encouraged him to diversify his investments by selling Microsoft stock. (Bill would be basically a trillionaire by now, if he did not sell). And this person kept saying "nah nobody could have guessed that. it was a rare unpredictable thing". But this is just not true. Microsoft was a monopoly when Bill received the advice and it is difficult for most people to transition away from Microsoft's eco-system. So, the point I am driving at, is that most advice is designed for people who have some kind of problem that they have to attend to, such as paying rent etc. But I'm lucky/unlucky to be legally blind. I can still code, if I zoom in. And I get tax-free money to sit at home. And I use that time to gain an advantage on my competitors. In the same way that Bill would have been much better off to ignore the advice about diversifying his investments, I am better off to ignore the advice about rushing a product to market. I can create something special.

    • @grimface
      @grimface 5 місяців тому

      @@chunkyMunky329 well, until your competitors are already out the door with first-mover advantage and you can't catch up because of slow dev cycles. Heed my warning at least.

    • @chunkyMunky329
      @chunkyMunky329 5 місяців тому

      @@grimface No, I don't think you understand. It doesn't matter how fast these competitors are. Because I am building my own system (programming language, APIs, servers etc) that is already faster and more efficient than what everyone else is doing. Which means that by the time I go to get some funding, my team will be anywhere from 10 to 100x faster than normal. I'm not actually building the main app. I'm building the infrastructure behind it.

  • @albinopepegas8391
    @albinopepegas8391 6 місяців тому +9

    What’s your opinion about tauri? Its similar to electron but built in rust and it uses the operating systems rendering engine instead of chromium

  • @paultapping9510
    @paultapping9510 5 місяців тому +1

    genuine question as a newbie. Why *isn't* there an industry standard wysiwyg editor for frontend? I used Dreamweaver waaay back in the day, and I find it interesting the baby appears to have been thrown out with the bathwater.

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

      because it's not possible to make such a thing

  • @animanaut
    @animanaut 6 місяців тому +3

    stupid question: maybe i am not seeing the point or details yet but, if an electron app is a packaged website why not making that website a PWA(progressive web app). i know some features that might require some permissions that electron can get that pwa maybe not, but i am using MS Teams for quite a long time as a PWA and it works just great and i usually dont like to compliment MS but they showed that you dont really need native apps even for something as complex as a video meeting app with screen sharing and other advanced features. browsers got to a point now where they even can update a firmware of a device like some mouse and keyboard manufactures doing it now. If the progress continues Electron will die out eventually.

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

    I think it all comes down to modern web development requiring a ton more setup (much like Java) than it did 10 years ago, and is much more spread out and complex than it used to be. You have dozens of new frameworks and technologies, seemingly popping out of nowhere, that you are immediately pushed to master. Unless you're active in the right Discords and on Twitter there's no way you can keep up with all of them. If you use the right tools you can have an MVP in production within an hour, with your first code deployed in minutes, but if you don't already know exactly what to use it can take days to figure it out as everyone has their favourites and finding actual good concrete information on which direction to take is impossible.
    I've been doing web dev for over 15 years, only somewhat recently starting to really dive into React and Vue, and it is really stunning (in both a good and a bad way) how much there is out there and how different the approaches to very simple objectives are.

  • @georgiyanev7822
    @georgiyanev7822 6 місяців тому

    Hi Theo, do you anticipate any changes to your stack this year?

  • @Tekay37
    @Tekay37 6 місяців тому +22

    I refuse to believe that Electron is the reason, apps like discord exist on Linux. Using Electron for Discord was a big mistake anyways, because that app is horribly slow for the low amount of features it has. They should have programmed it with something like Golang and using a library like raylib, which would allow them to just build their program to any platform they like and get some reasonable performance as well.
    The same mistake was done with VSCode. Had Microsoft chosen to use a proper language for their editor, together lua for extensions, they may even have had an incentive to bring WebAssembly forward. But now, VSCode is just a very slow Code Editor that is not very nice to use once you have a reasonable amount of plugins installed.

    • @Fs3i
      @Fs3i 6 місяців тому +13

      Then build a bloody better competitor, and stop talking.
      I mean, you’re making really bold claims here, go out and prove them.
      And also, vscode-web exists, too, does that work just as well wirh raylib? Idk

    • @supriyomonndal6199
      @supriyomonndal6199 6 місяців тому +6

      Vs code is slow ! What mobile do you use for coding?

    • @Lena-yt3yl
      @Lena-yt3yl 6 місяців тому +3

      @@Fs3i one does not need to be a genius programmer, to realize a voice-chat app without sound is ridiculous, which to be fair wasn't even really the fault of electron but discord stuck around on an outdated version, with sloppy custom patches.

    • @joostkersjes4349
      @joostkersjes4349 6 місяців тому +3

      Investing in native apps for Linux is almost always a bad business decision. Simply not enough potential users. I do not doubt that Discord wouldn't have come to Linux without technology like Electron.

    • @ElektrykFlaaj
      @ElektrykFlaaj 6 місяців тому +1

      it was probably 10x cheaper to build it using electron than golang. And discord is a successful app anyway

  • @kevinmccallister7647
    @kevinmccallister7647 6 місяців тому +9

    This was a very interesting take, I was in the camp of Electron and web tech was unnecessarily complicated + wasteful and only made the dev experience better.
    I am a web developer before anyone asks. though I do tinker with lo- level programming as one does.
    I did see the merits of not installing apps and writing code once that runs anywhere, after this video I seem them more clearly than before + the lack of alternative ways to do the same

  • @ARKGAMING
    @ARKGAMING 6 місяців тому +1

    I've started webdev after 3 years of developing with unity, and I didn't like it because I was too lazy to search for how people actually developed websites, so I just figured "oh there's css, js and html, so let's just use those" and I ended up only using vanilla js and never even hearing that name until I came across frameworks. The way I explain frameworks to all my friends is "like unity, but for the web" and they made my life so much easier(surprise surprise). I'm now madly in love with webdev(and I still love gamedev).
    So I can totally see the parallel that these game devs don't seem to notice.

  • @array5019
    @array5019 6 місяців тому +30

    tell me you haven't used electron apps on linux without telling me you haven't used electron apps on linux

    • @frydegz
      @frydegz 5 місяців тому +7

      web gurus talk out of their mouth challenge (impossible)

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

      Linux users should be happy electron exists, because nobody cares enough to learn how to build native apps for the most stingy 1% of users.

    • @array5019
      @array5019 5 місяців тому +1

      @@okie9025 why do you feel Linux users r stingy

  • @beners
    @beners 6 місяців тому +3

    Figma is another modern example of the gmail pattern. Devs and designers immediately aligned on it because of how well it leverages the web platform (instant shareable updates etc). And they did it with WASM! Exciting times

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

      figma is amazing product and I am talking about it from a web dev perspective. especially with new dev mode it made it so easy for developers who are not interested in design to just take what they need from it and continue working on code

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

      Figma 2D renderer is built in C++ compiled to WASM.

  • @ThatRobHuman
    @ThatRobHuman 6 місяців тому +5

    while I don't like Go, like, at all - I gotta put it out there that Wails is a pretty good alternative to Electron. Same premise as Electron, except that it uses the built-in WebView of a given OS rather than bundling chrome.

    • @ethanchristensen7388
      @ethanchristensen7388 5 місяців тому

      If you like Rust, you might like Tauri, which also uses the builtin web renderer

    • @ThatRobHuman
      @ThatRobHuman 5 місяців тому

      @@ethanchristensen7388 I feel like I am one of the 5 people who haven't tried Rust yet - also: one of the reasons I prefer electron over Wails is precisely because it *doesn't* use the OS web-view. Electron is the one space where I don't have to be worry about cross-browser crap.

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

    11:30 I think he is speaking about the imperative API of DOM and how we need libs to make it more bearable

  • @andybrice2711
    @andybrice2711 6 місяців тому +9

    Electron is quite a kludge. Using page-layout and web technologies to build cross-platform apps. In theory you could build a superior cross-platform native application framework, by removing the technical debt of HTML. Except no-one has achieved that. And Flash and Java applets were never that great either. So Electron seems to be the least bad option.

    • @philippebarillecavalier9275
      @philippebarillecavalier9275 5 місяців тому +1

      Qt? It's not a toy like electron, it is cross platform, it doesn't require Java or .net.

    • @andybrice2711
      @andybrice2711 5 місяців тому

      @@philippebarillecavalier9275 Yeah maybe, but it always seems quite arcane, and like it doesn't actually behave consistently and reliably across platforms.
      Maybe people just employ it badly.

  • @basione
    @basione 6 місяців тому +8

    I'd pick Flutter over Electron any day. But, that's just me :)
    As a web dev, I'm all for a technology that re-invents browsers. A new client-server protocol actually designed for transferring ephemeral applications/documents without having to keep up with numerous DSL standards like HTML, CSS, JS.

    • @neofox2526
      @neofox2526 6 місяців тому +4

      But using dart you cant transfer that knowledge to anywhere else unlike tauri or react native

    • @edhahaz
      @edhahaz 6 місяців тому +1

      And what happens when the user clicks a link to your reinvented-browser app ? that's the problem.

    • @basione
      @basione 6 місяців тому +1

      @@edhahaz Uhh... I don't think you understand what I mean.

    • @Vindolin
      @Vindolin 6 місяців тому

      What do you mean by that? @@neofox2526

  • @andrewmusholt9327
    @andrewmusholt9327 3 місяці тому

    Some powerful stuff here. Thank you for the the video, gave me chills a couple times!

  • @3polygons
    @3polygons 6 місяців тому +6

    I lived the times of IE6 and its 'compatibility' with browsers... this is paradise in comparison :D

    • @v2ike6udik
      @v2ike6udik 6 місяців тому +1

      PTSD.

    • @CaptRespect
      @CaptRespect 6 місяців тому +3

      This is no joke. Write something to spec. Works in firefox, works in chrome. Busted in IE. Also the IE dev tools were all crap so it was hard to figure out why it broke. Today, you barely have to even test in multiple browsers.

    • @3polygons
      @3polygons 6 місяців тому

      ​@@CaptRespect Yep... having a CSS sheet only for IE6, with which all looked ugly and just functional, but restricted functionality :D. And tons of JS wouldn't render or cause conflicts of all kinds. But Actually, if I remember well, IE 5 and 5.5 was even worse. And yet, not even close to the pain of handling the companies' newsletters to work in Outlook's (the software) "HTML" (and CSS if feeling brave) back in the days, plus those fixes still working not wrecking all in other apps and browsers, as couldn't use a lot of hacks there like with IE6. In general, I remember having to load the sites (remotely) in not only all the browsers, but all OSes and browsers combinations with every tiny change, as the standards implementation in general were pretty bad compared to today. BUT IE5 - 6 had the "crown".

  • @Rope257
    @Rope257 6 місяців тому +6

    Personally I like it when people try to or actually successfully shit on web development, or any other kind of development and accompanying tools.
    Mostly because it forces me to communicate a rebuttal. Which in turn requires me to think about whether they're actually correct or not.
    Leaving me with more insight into what my development process and tools can or cannot do well.
    Personally, I think that all of the development tools that were written in JavaScript were and still are a massive, massive mistake.
    By which I mean stuff like Webpack, Parcel, Vite etc.
    Everything that lives in the browser, and is not aimed at development related processes are a-okay with me. By which I mean, Electron, Stencil, React, Angular, etc.
    The reason being that, you want your development process to facilitate fast iteration cycles each time you have to noticeably wait is too much.
    The main benefit people state being: "Yes, but if it's JavaScript every JavaScript developer can contribute." is not enough, most people don't contribute to these types of tools.
    So why create said tool in a language that does not perform at the level you need it to. There's a reason SWC and Esbuild exist.

    • @levyroth
      @levyroth 6 місяців тому +1

      And all of this can be solved if we go back to server side rendering only. I blame client-side ideology (and the move to cloud) for all the Web dev problems today.

    • @Rope257
      @Rope257 6 місяців тому

      @@levyroth I doubt that all of the problems we face can be solved server-side. A lot of them probably can, others you still need a client-side solution.
      Afaic it's about balancing out the cost and the benefits and actually writing them down in an ADR rather than committing to a technology because it's fashionable.

    • @okie9025
      @okie9025 5 місяців тому +1

      ​@@levyroth Servers are expensive. It's cheaper to run one API backend server and host your frontend on a static CDN than to use templating engines or hacks like Next.js or similar frameworks use.
      Honestly I think we should get rid of this idea of adhering to "web principles" and stop building "websites" and instead focus on building APPS. "The web" is not some sort of design paradigm or an idea to stick to, it's literally just an underlying technology.

  • @onoff5604
    @onoff5604 6 місяців тому

    Would be interested in hearing you outline what you feel are the important aspects of software/web development. Many thanks for standing up against the sport of arbitrary negativity.

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

    The problem with the "web dev is good" argument is that all of the good parts have very little to do with web devs now and everything to do with the people that built the REAL web (HTTP, browser engines, etc) and nothing to do with the latest JS or cloud bullshit. So it's fake tech gurus taking credit for the work of engineers that actually understood the tradeoffs they were making, and instead of proceeding rationally throwing all of that out the window to make their own developer lives .1% easier, instead of just doing their job.

  • @germansoto7107
    @germansoto7107 5 місяців тому

    Hi Theo! What is your take no PWA?

  • @kishirisu1268
    @kishirisu1268 5 місяців тому

    What is problem with rect? I learned to code on C++ at pre internet era (in my country), and nowadays I find React is very close to game development aproach and easy to learn, if compare to others JS tools.

  • @langnostic5157
    @langnostic5157 5 місяців тому

    Wonder what the general consensus on Tauri is here?

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

    There is ripcord, which is some random dudes remake of a slack+discord client.
    It hasn't gotten an update since 2021 sadly.

  • @thales-maciel
    @thales-maciel 6 місяців тому

    currently running python2 apps inside docker in any machine w/o issues

  • @Godalming123
    @Godalming123 6 місяців тому +1

    My problem with the web is that it has to be backwards compatable, which causes all sorts of pain like "oh lets JUST re-write the whole layout engine, animation engine, and accesabilty system because we want to pretend that floats never existed" or the near-impossible feat of implementing a browser these days, which would be much easier with a focused way to create layouts that doesn't have to keep backwards compatability.

  • @ChimbzZ
    @ChimbzZ 6 місяців тому +1

    Dude, how often do you dye your hair?

  • @soundrightmusic
    @soundrightmusic 6 місяців тому +7

    Time to market and speed to iterate reagn supreme. JS and web dev excel at both of these. They are also good enough that by the time your project reaches the point where the warts become a problem. You have enough money and skilled people to invest in solving them.

  • @ronny5533
    @ronny5533 6 місяців тому +1

    To be fair, I'm a web dev for over 10 years and I love the tech and being up to date. But the time I can build a website nowadays with the tools available is insanely fast compared to years ago. I love the current state of web dev and excited for whats next

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

    Complaining about JS is for those who can afford to. I can create and maintain applications twice as fast with web languages, and web based solutions are often what my clients want. They don't care about perfect code nor perfect performance. They want a product for a reasonable price in a reasonable time and easily accessible to everyone with a screen, who can blame them. And web languages, including JS, can deliver. That's why you only hear programmers shit on web dev, but rarely (if ever) clients.
    The only compain I have is that everyone says they can do web dev. Yet we still see so many amateuristic web applications everywhere, so clearly alot of them are lying.

  • @ohhellothere17
    @ohhellothere17 6 місяців тому +5

    Thanks Theo, for putting a bandaid on my already blood oozing out wound learning and building on web dev

  • @wlockuz4467
    @wlockuz4467 6 місяців тому +3

    Before you get into arguments like this you should always remember that your users don't give a sh*t about any of this. They want something that works and gets the job done.

  • @NavySturmGewehr
    @NavySturmGewehr 6 місяців тому +1

    I built an ecm editor in c# but I had no interface so it was basically useless. With javascript and react.js I have an interface and a rather capable ecm editor.

  • @chewbaptiste
    @chewbaptiste 6 місяців тому

    would love to hear your opinion on web components Theo !

  • @auroraRealms
    @auroraRealms 6 місяців тому +1

    I started with Web 1.0; C++ and Java on CGI. That came tumbling down with the Dot Com crash. From the ashes Web 2.0 was born; where Servers render web pages, and connect to SQL databases. I would say a lot of companies are still in Web 2.0 stage, Wordpress is a perfect example of this. Web 2.0 is fusterating, slow and overly complicated. I would argue that we are now graduating to Web 3.0 with Single Page Apps, Asyncronis Micro Web Services, and NoSQL data, and queues. Google is certanly leading the charge in Web 3.0. My favorite Web Stack today is Docker Compose, Python Fast API, Vue.Js, and MongoDb, with Nginx tying things together. Sounds complicated, but it is incredibly effective.

  • @alek282
    @alek282 6 місяців тому +16

    Blow however does say similar things about game dev space, and he IS showing the work - dude is building his own language and his own engine. His side of the community is rather set on both not liking the web, as well as criticizing modern direction of game dev. Whatever his blind spots towards the web are, he is consistent and he puts large amounts of his time and money coming up with alternative solutions in his own space

    • @TigreXspalterLP
      @TigreXspalterLP 6 місяців тому +3

      That nobody uses, and he wants to keep it proprietary, as he thinks open source is a bad idea.

    • @alek282
      @alek282 6 місяців тому +5

      @@TigreXspalterLP he doesn't want to keep it proprietary. He said on multiple occasions he wants to make it open source once he is happy with its state. Nothing wrong with keeping it closed source while it's in early stages of development. There is also an invite only beta which I think has ~100 people in it by now

    • @Vim_Tim
      @Vim_Tim 6 місяців тому +1

      The real test will be the games he builds with the language/engine. You can build the most performant & robust game in the world, but if it doesn't enable the creation of a fun game (i.e. solves the "problem"), then it's a waste of time.

    • @alek282
      @alek282 6 місяців тому +3

      @@Vim_Tim indeed, which is why he mentioned that he wants to release his current game and the language close to each other, so that the language comes with the game as proof that it can be successfully used in large complex systems

    • @baki9191
      @baki9191 6 місяців тому +4

      20 million dollars of his own money if I remember correctly. Blow has put more into the future of game development than any of these rando youtubers.

  • @HHJoshHH
    @HHJoshHH 6 місяців тому

    Thank you so much for this Theo! Keep up the fantastic work brother!

  • @TheItamarp
    @TheItamarp 5 місяців тому

    I agree with your points. The capabilities that modern rools and frameworks have enabled is amazing. I do think that there is often a lack of understanding among new devs regarding the tradeoffs between different tools. I can't count the number of new devs I've met who didn't know that you didn't *have* to use create-react-app (or even react at all), that alternatives existed.

  • @ShinSpiegel
    @ShinSpiegel 6 місяців тому +6

    Have you ever heard about Tauri?

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

      There's also Wails :)

    • @thegalluzz
      @thegalluzz 6 місяців тому

      @@Brawaru Was looking into it last week, how was your experience with it?

  • @poseiso
    @poseiso 6 місяців тому +6

    i agreed with some of the points in the video. but,
    the reason desktop apps in linux exists is because of electron?
    maybe just hyperbole but come on 💀

    • @the_null_man
      @the_null_man 6 місяців тому

      it has improved the user experience greatly, and because of how easy it is to develop for everything altogether, Linux included

    • @poseiso
      @poseiso 6 місяців тому +4

      fair, i'm not denying that.
      what i meant is that sure having discord, slack etc as a desktop app in linux is possible because of electron. But, the majority of desktop app in linux is still native.

    • @cyan_galaxy
      @cyan_galaxy 6 місяців тому

      Same here! I agree that people are to harsh on web dev technologies and tend to not look on the good effects it caused but to say that about linux and electron is just plain wrong!

  • @gergoradeczki
    @gergoradeczki 6 місяців тому +6

    I might be wrong, but Java was added to JavaScript because Java was popular back then. And a regular dev would see Java and decide to use it.

    • @Sancredo
      @Sancredo 6 місяців тому +4

      I think this was the case, IIRC the original name for the language was Mocha, but the higherups demanded something more Java-related to capitalise on its popularity. Fast forward to today, HR still messes up between the two.

    • @myartikool
      @myartikool 6 місяців тому +1

      What's more ironic is that "JavaScript" is an Oracle's trademark

  • @Burgo361
    @Burgo361 6 місяців тому +1

    I like native apps but I don't miss installing random code on my computer and hoping it's safe, also we don't tend to notice when things work so there is a strong bias there.

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

    I ran Arduino 2 IDE written in electron, derived from VSCode. It was using 700 mb of RAM just for showing in screen. JS for desktop apps is bad idea. 👎🤬 Software developer have forgotten optimisation, they think everyone should just get 16gb of ram rather then they making native apps.

  • @jascha_merle
    @jascha_merle 5 місяців тому +1

    As an Avalonia fan who puts the user experience first, I have to disagree that there are no good native cross - platform solutions that can also target the web out there.

  • @raswonders
    @raswonders 6 місяців тому

    As someone who started in webdev lately and lacking the context for most of the cool tools we have now, I appreciate this take strongly.

  • @victordvickie
    @victordvickie 6 місяців тому +51

    would love to hear take of prime on this, i m ambivalent on this

    • @shinoobie1549
      @shinoobie1549 6 місяців тому +16

      I would love to see a panel discussion/debate with Prime, Theo and Jblow. Maybe even throw in that teesodin guy lol

    • @billgrant7262
      @billgrant7262 6 місяців тому +17

      prime is a web dev who shits on web dev because he knows his audience

    • @fbch32
      @fbch32 6 місяців тому +8

      @@billgrant7262 I'm just gonna ignore the fact that you think you can read his mind and say that if you're including backend as part of web dev then yes he's a web dev. Yes, he's occasionally done front end stuff at Netflix but it's not very often and mainly back end from what I can tell. It seems like the reason he shits on web dev is mainly because he likes to shit on javascript

    • @WelcomeToSex101
      @WelcomeToSex101 6 місяців тому +1

      @@shinoobie1549 no way does Jblow have patience for a discussion with anyone younger than him though

    • @0x5DA
      @0x5DA 6 місяців тому

      @@shinoobie1549 holy shit _yes_

  • @hazeion
    @hazeion 5 місяців тому

    Good point. Speaking of your game dev point. Blizzard cancelled their new survival game. I have devs that were working on it. And they said a large portion of the headache was they were trying to build their own engine and it was a nightmare.

  • @grassfedavocado
    @grassfedavocado 5 місяців тому

    I would look into Tauri. Great Electron Alternative, and it works with rust, you can build the ui with typescript and call rust functions from the backend and return values and you can use js dependencies and rust crates. It’s phenomonal.

  • @dan-kn3dm
    @dan-kn3dm 6 місяців тому

    I also had a client who was insistent to go, so to say, to the bare metal and sacrifice DX for a slightly better performance which the user wouldn't probably even notice. I argued for using standard web solutions (it was a web app) but it felt on deaf ears. It was a frustrating job.

  • @ernesto906
    @ernesto906 6 місяців тому +1

    Embedded software engineer here, web dev tools are 15 years ahead of everything else.
    If i would a a cent every time that a web dev goes to the r/embedded subreddit complaining about web development and how they want to jump to embedded because it is "cooler". Im like what are you talking about you are already working with state of the art tools and documentation, stop romanticizing how embedded is cool because you see an Arduino blinking a led and you feel the same wonder that you felt the fist time that you had with your first web tutorial.

  • @fernandomendes4633
    @fernandomendes4633 6 місяців тому +4

    6:50 Any reason why you think webcomponents was a mistake? Maybe you should do a video on that, never toyed with webcomponents tbh

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

    You see, by producing spaghetti code bases we create the need to create solutions like Vite. So by self inflicting complexity and chaos we create better experience for the dumb people that use Twitch. Luv we den -Theo.

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

    I remember the day when create-react-app was stable and became available. I was over the moon! Why? Because setting up a project without it was a monumental pain in the ass. Constantly tinkering with Webpack was almost akin to opening up a car's engine.
    To this day, I'm happy for the wizard apps that allow us to start up a project.

    • @levyroth
      @levyroth 6 місяців тому +1

      I wrote my first programs with pen on paper before even touching a computer. Stop complaining.

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

      @@levyroth oh yeah? Well..... Nice hair!

  • @51Grimz
    @51Grimz 6 місяців тому

    As a software developer who recently joined the industry. I can say that I find web dev really good! Coming from languages like Java, C and Python in school. I've become really passionate about web dev because of it's ease of use. You can link someone something you made, they don't have to download anything, it's such an easy way to consume software.

  • @Jeanpierrec19
    @Jeanpierrec19 5 місяців тому +1

    He Theo I think you are definitely correct about some of what you said about J Blow, at the same time though try to understand some of his viewpoint. He sees an industry where what he terms "developer" wouldn't be able to write the backing code to display text because everything is so abstracted away.
    He has no intention to do anything in web dev because he doesn't care about it, that is absolutely correct. It may just be a boomer take from him but he feels like the move fast and break things mentality is the underlying problem. Just like your point of "this breaks on large teams", his argument is you never needed the large team.
    I understand completely that he definitely is missing some of the complexity of web dev. But he is coming from the perspective of someone who absolutely could build a modern web browser from scratch that performs better than what is currently available if he had the desire to do that, it's not a "your IQ is too low" but more a matter of "you could do better but nobody is".
    J Blow is known to be abrasive and likely lacking in some social skills, don't let that be the thing that discredits his other points. A large portion of web dev could be simplified and modern "frameworks" like solidJS, HTMX and others are showing that. Even your example of Vite is showing that and you made that point. He is saying the same thing just in a significantly more rude manner.

  • @_Khrix
    @_Khrix 6 місяців тому

    Is Flutter desktop a better alternative than electron?

    • @t3dotgg
      @t3dotgg  6 місяців тому +1

      Flutter is not better at much of anything, especially desktop.
      Generally speaking, if you've never used a good app written with a technology, it's probably not good for making that type of app.

    • @_Khrix
      @_Khrix 6 місяців тому

      @@t3dotgg so is flutter even good at this moment to cross mobile development?
      Kotlin already has his own cross platform approach. And i think react native's sHemers will be killing any other mobile cross alternative

  • @MarcelRobitaille
    @MarcelRobitaille 6 місяців тому +3

    5:50 That's totally false. All of the good software I run on linux is native. I don't use slack and I use discord in the browser because it's an objectively better experience than the desktop app. The software I use the makes me money is native and cross platform and not written in javascript.

    • @MarcelRobitaille
      @MarcelRobitaille 6 місяців тому +1

      For example, right now I have kicad, alacritty, and neovim open. All cross platform and none written in js.

    • @theseangle
      @theseangle 4 місяці тому

      Does web discord have screen sharing and all that?

    • @MarcelRobitaille
      @MarcelRobitaille 4 місяці тому

      @@theseangle Yes of course.

  • @donwinston
    @donwinston 6 місяців тому +18

    I learned programming in college and work using PL/I, Fortran, Pascal, and SAS on an IBM mainframe and DEC VAX computers. I didn't like web apps at first. The UI's you could make were primitive. Today's development tools are frigging awesome.

  • @SeanJMay
    @SeanJMay 5 місяців тому

    Viable alternatives to Electron are:
    Tauri (Rust backend to default OS browser) - not yet suitable for brand-new web features, because it means Safari on Mac and Gecko-ish on Linux, so none of the WebGPU stuff will work, none of the newer real-time data stuff will work... until all vendors catch up with the standards. The general benefit is instead of shipping a 500MB install of a new Chrome browser, you're shipping a 20MB package that uses your OS's browser, instead.
    Deno: Bring Your Own Window WebGPU - allows you to use SDL2 or any other "native" render surface to essentially run Deno as your client code, with a native cross-platform app window. The problem here is that it's harder to keep the "client-side" codebase separate from Deno behind it, and SDL2 (or whatever surface you chose) in front of it. That's not an issue if you just want to make a desktop app. It is an issue if you also want the code, or as much of it as possible, to run on a webpage.

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

    Wow, this is next level jump-the-shark delusional on so many points.
    Going to be fun reading the comments.

  • @FunkyELF
    @FunkyELF 6 місяців тому +1

    "The only reason there's actual desktop software on Linux is Electron" @5:53 ... not even remotely true.

  • @DanAlmenar
    @DanAlmenar 5 місяців тому

    Quasar is a one code base to all targets built on top of Vue. Haven't used it in a while (years?) but I remember having fun with it, specially since it came around when Vue 3 (and Vite) was launched so it supported the Composition API from the get go

  • @progger1986
    @progger1986 5 місяців тому +1

    Far from perfect is actually true:
    After watching the video i was convinced that electron would be a good choice. But i had to stop my project, because i was not able to render a single SVG file. Nothing i have searched for has been working. I am not asking for help here, because this is the wrong place to do so. I just wanted to leave my opinion, that webdev is still a very complicated stuff to get working. You need tons of config files, whit content you don't understand, if you don't study the docs of several frameworks beforehand. Also most examples out there are either outdated or don't work at all (anymore).
    But..., when you have a working project, it can be nice. Before that: Hell is here my friend.

  • @nowthisisfuuun
    @nowthisisfuuun 5 місяців тому +3

    Has this guy ever worked in a company?

  • @xBiggs
    @xBiggs 6 місяців тому +4

    Agree that Electron was a way better solution at cross platform desktop apps, but it is very frustrating that every app now uses it. If only it used less memory

    • @TeaganAtwater
      @TeaganAtwater 6 місяців тому

      Tauri is coming! Hopefully will solve that issue too

    • @xBiggs
      @xBiggs 6 місяців тому

      @@TeaganAtwater I want to try tauri, but then I have to learn rust

    • @TeaganAtwater
      @TeaganAtwater 6 місяців тому

      @@xBiggs I threw together a quick demo for myself using Next and Tauri following their guide and I was up and running super fast! It's missing a bunch of stuff Electron has, so not ready for what I'd do with it, but I didn't find myself needing any rust know-how at all to get going :) Worth keeping an eye on, more competition in this space is exciting

  • @LewisCowles
    @LewisCowles 5 місяців тому +1

    Python and C++ definitely have improved tooling to make them as useful as JS.

  • @just_morby
    @just_morby 5 місяців тому

    You make so many good arguments. It was refreshing to hear.