The Harsh Reality About Web Dev

  Рет қаралды 86,917

Theo - t3․gg

Theo - t3․gg

4 ай бұрын

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 🙏

Пікірлер: 836
@MrMagooRC
@MrMagooRC 4 ай бұрын
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 4 ай бұрын
Hats off to your tech journey, from pre-WWW to NextJS. Truly impressive!
@hungrymusicwolf
@hungrymusicwolf 4 ай бұрын
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. 4 ай бұрын
You're a great dad
@PRIMARYATIAS
@PRIMARYATIAS 4 ай бұрын
Pre World Wide War 🤣🤣🤣​@@hungrymusicwolf
@MrMagooRC
@MrMagooRC 4 ай бұрын
@@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 4 ай бұрын
Theo: “There have obviously been Mistakes like web components” Me: “web components mentioned!!!!!!”
@ivanmaglica264
@ivanmaglica264 4 ай бұрын
I think web components are a technology that it's full potential has not yet been explored.
@patricknolen916
@patricknolen916 4 ай бұрын
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 4 ай бұрын
@@patricknolen916 they are not fun to use
@marusdod3685
@marusdod3685 4 ай бұрын
as soon as I read this comment I heard him mention "web components"
@tinkmaster1054
@tinkmaster1054 4 ай бұрын
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 4 ай бұрын
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.
@_unknown_guy
@_unknown_guy 3 ай бұрын
MS FrontPage...
@mrxcreamy10
@mrxcreamy10 4 ай бұрын
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 4 ай бұрын
I do want QT to get more popular and will continue using it, but dealing with QT licensing is annoying :(
@Fe22234
@Fe22234 4 ай бұрын
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 4 ай бұрын
​@@Fe22234no one wants to admit that
@atiedebee1020
@atiedebee1020 4 ай бұрын
GTK is also very widely used and is actually quite ok.
@klirmio21
@klirmio21 4 ай бұрын
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 4 ай бұрын
"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 3 ай бұрын
Yeah this dude is out of his depth
@rafaelbordoni516
@rafaelbordoni516 4 ай бұрын
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 4 ай бұрын
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 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 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 3 ай бұрын
@@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 3 ай бұрын
@@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?
@noobscience123
@noobscience123 4 ай бұрын
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 4 ай бұрын
the web just wouldn't be the same without your projects noobscience123
@fahimp3
@fahimp3 3 ай бұрын
I would not lump Python in the same category... 😂
@freecivweb4160
@freecivweb4160 Ай бұрын
Without scripty languages you wouldn't exist? Please reconsider your position!
@magne6049
@magne6049 4 ай бұрын
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 4 ай бұрын
Hard to be good faith with people that themselves are so abrasive to others.
@magne6049
@magne6049 4 ай бұрын
@@g-rexsaurus794Hard, but necessary.
@freecivweb4160
@freecivweb4160 Ай бұрын
ikr and you didn't even go off on it like you could have in 1000 pages
@freecivweb4160
@freecivweb4160 Ай бұрын
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
@trietang2304
@trietang2304 4 ай бұрын
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 4 ай бұрын
if user has low disk space than we should not expect them to have enough ram to run your app
@brenosonda8496
@brenosonda8496 4 ай бұрын
@@AmansLab I disagree, I have 250GB SSD and 24RAM
@dovh49
@dovh49 4 ай бұрын
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 4 ай бұрын
@@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- 4 ай бұрын
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
@laszloszabo7536
@laszloszabo7536 4 ай бұрын
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 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 4 ай бұрын
​@@apollolux that is what Tauri does currently
@laszloszabo7536
@laszloszabo7536 4 ай бұрын
@@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 4 ай бұрын
@@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 3 ай бұрын
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
@swedishguy83
@swedishguy83 4 ай бұрын
“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 4 ай бұрын
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 4 ай бұрын
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 4 ай бұрын
He "defeats" the FUD by spreading more FUD. Truly a web developer moment
@sferavel
@sferavel 4 ай бұрын
Making a modern application and writing it natively for the godforsaken desktop Linux, which is used by 0.00...% of modern users, is too expensive, but great developers made Electron so that even in such godforsaken lands there would be modern applications like Discord, so be grateful.
@reed6514
@reed6514 4 ай бұрын
@@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.
@zactron1997
@zactron1997 4 ай бұрын
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 4 ай бұрын
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 4 ай бұрын
@@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 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.
@yt45204
@yt45204 4 ай бұрын
"UI development is easiest on the web" I've got 20+ years developing desktop UIs, most recently with C# and Avalonia (~WPF). Web UIs will clearly eat up more and more of the desktop UIs in the future. But looking at where to get started with Web UIs, it seems like there's a jungle of competing techologies/frameworks? And the little I've seen of them it seems like it's a lot fiddlier getting a UI together?
@dealloc
@dealloc 4 ай бұрын
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.
@stephenjames2951
@stephenjames2951 4 ай бұрын
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 4 ай бұрын
CliniComp?
@MattSitton
@MattSitton 4 ай бұрын
spotify?
@lmlizwpfhsjmcyt7545
@lmlizwpfhsjmcyt7545 4 ай бұрын
Linux didn't need Electron. It already had Firefox and Chrome, Just make the browser better. It's already a thick client.
@freecivweb4160
@freecivweb4160 Ай бұрын
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 Ай бұрын
@@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
@yamyam263
@yamyam263 4 ай бұрын
Jonathan Blow vs. Theo. This what I'm here for.
@johnj3845
@johnj3845 3 ай бұрын
Yea! I’m glad someone said it!
@freecivweb4160
@freecivweb4160 Ай бұрын
@@johnj3845 So far as I know JB won the first round even while being an inanimate sprite taking punches without being able to comment.
@holly_hacker
@holly_hacker 4 ай бұрын
Tsoding's video was NOT about create-react-app, it was about using react from scratch without any such starter templates.
@luxluth
@luxluth 4 ай бұрын
Exactly
@rawallon
@rawallon 4 ай бұрын
link it
@doc8527
@doc8527 4 ай бұрын
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 4 ай бұрын
@@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 4 ай бұрын
React docs show how to import react (using unpkg) into an HTML file and use it. He just didn't search hard enough.
@ericmackrodt9441
@ericmackrodt9441 4 ай бұрын
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.
@figmentfire
@figmentfire 4 ай бұрын
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 Ай бұрын
+1 let's get you hired to a job
@faetalize
@faetalize 29 күн бұрын
man the 2000s are wild man. nowadays with an engineering degree people can barely get internships. lmao
@m4rt_
@m4rt_ 4 ай бұрын
there are a lot of non-electron apps on Linux. It isn't purely electron that is the reason we have support.
@redpillsatori3020
@redpillsatori3020 4 ай бұрын
Tauri FTW! This video makes me want to learn Rust and Tauri again.
@cyan_galaxy
@cyan_galaxy 4 ай бұрын
"The only reason there's actual desktop software on Linux is Electron"... are you sure man??
@theosokolowsky5608
@theosokolowsky5608 4 ай бұрын
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.
@whydoineedausername1386
@whydoineedausername1386 4 ай бұрын
> The same native app would not exist. That's a separate issue of Discord and Slack abusing their walled gardens in ways that should be illegal and that the EU is trying to solve, at least with the bigger competitors.
@aniketbisht2823
@aniketbisht2823 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.
@cgalo
@cgalo 4 ай бұрын
"You don't like living in a society, yet you live in one" -Theo
@gardnmi
@gardnmi 4 ай бұрын
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.
@ExponentialWorkload
@ExponentialWorkload 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.
@jorderon
@jorderon 4 ай бұрын
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 4 ай бұрын
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 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.
@emerson-sheaapril8555
@emerson-sheaapril8555 4 ай бұрын
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 Ай бұрын
You and your enemies are both right, it's context dependent.
@victordvickie
@victordvickie 4 ай бұрын
would love to hear take of prime on this, i m ambivalent on this
@shinoobie1549
@shinoobie1549 4 ай бұрын
I would love to see a panel discussion/debate with Prime, Theo and Jblow. Maybe even throw in that teesodin guy lol
@billgrant7262
@billgrant7262 4 ай бұрын
prime is a web dev who shits on web dev because he knows his audience
@fbch32
@fbch32 4 ай бұрын
@@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 4 ай бұрын
@@shinoobie1549 no way does Jblow have patience for a discussion with anyone younger than him though
@0x5DA
@0x5DA 4 ай бұрын
@@shinoobie1549 holy shit _yes_
@bcorey3660
@bcorey3660 4 ай бұрын
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 4 ай бұрын
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 4 ай бұрын
Then why does he give his opinion on a subject he is incompetent in?
@okie9025
@okie9025 3 ай бұрын
@@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.
@AmirHosseinHonardust
@AmirHosseinHonardust 4 ай бұрын
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 4 ай бұрын
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.
@3polygons
@3polygons 4 ай бұрын
I lived the times of IE6 and its 'compatibility' with browsers... this is paradise in comparison :D
@v2ike6udik
@v2ike6udik 4 ай бұрын
PTSD.
@CaptRespect
@CaptRespect 4 ай бұрын
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 4 ай бұрын
​@@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".
@albinopepegas8391
@albinopepegas8391 4 ай бұрын
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
@anthonysessa
@anthonysessa 4 ай бұрын
Would love an analysis and comparisonof the two
@albinopepegas8391
@albinopepegas8391 4 ай бұрын
@@anthonysessa same!
@georgiyanev7822
@georgiyanev7822 4 ай бұрын
Hi Theo, do you anticipate any changes to your stack this year?
@Lena-yt3yl
@Lena-yt3yl 4 ай бұрын
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 4 ай бұрын
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 4 ай бұрын
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 4 ай бұрын
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 4 ай бұрын
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 3 ай бұрын
That guy should take a pause from making videos and go learn basic stuff. Really embarrassing.
@denniscmartin
@denniscmartin 4 ай бұрын
I respect Jonathan Blow and Tsoding. They are great programmers. However, they seem very pessimistic about the future of software. I do not think its all bad. If I had to give advice to new programmers it would be that whatever you do, web, embedded, games, .etc, try to spent some time learning the fundamentals before jumping to a big framework. Focus on long-term knowledge, be open-minded and always be skeptical about new shinny objects
@levyroth
@levyroth 4 ай бұрын
Web devs are not programmers. Not really.
@spectr__
@spectr__ 4 ай бұрын
@@levyroth I'm starting to think like this. It's hard not to be pessimistic, but if you take away their frameworks, web devs know nothing. Jr devs nowadays even start with React before knowing JS and HTML
@levyroth
@levyroth 4 ай бұрын
@@spectr__100% agreed
@vhaangol4785
@vhaangol4785 4 ай бұрын
@@spectr__ the bar for modern software engineers are getting lower and lower as time pass.
@RadikAlice
@RadikAlice Ай бұрын
@@spectr__ You have it entirely backwards. It's easy to be pessimistic, lazy even. And mind you This is coming from someone that had to actively tone down their cynicism and snark
@victorpinasarnault9135
@victorpinasarnault9135 4 ай бұрын
In 1995, Linux, Apache and Free Software Foundation made The Web possible. See the movie 'RevolutionOS'.
@paultapping9510
@paultapping9510 3 ай бұрын
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 29 күн бұрын
because it's not possible to make such a thing
@d3stinYwOw
@d3stinYwOw 4 ай бұрын
There are exceptions of electron usage on linux - Telegram, ripcord, so it's possible to build native apps, which have any resemble of success. Other than that - I can agree :)
@ruaidhrilumsden
@ruaidhrilumsden 4 ай бұрын
Absolutely it's possible. However was the point not that it's not possible, only that it wasn't being done?
@d3stinYwOw
@d3stinYwOw 4 ай бұрын
@@ruaidhrilumsden but the thing is, it's both possible and already done. QT has pushed forward a lot in terms of cross-platform usability. Plus, you're not forced to C++, and you can use Qt on Embedded devices. :)
@VivekYadav-ds8oz
@VivekYadav-ds8oz 4 ай бұрын
I mostly agree with him as his point is coming from a business perspective, which makes sense. But I wonder if the economic feasibility of React/Electron is mostly only because of its popularity. What if QT which isn't built on the cumulation of open-standards (it may be open-source itself but idts it's a cumulation of many such standards) also became that popular. Would suddenly QT now be more economically feasible?
@grimface
@grimface 4 ай бұрын
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 3 ай бұрын
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 3 ай бұрын
@@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 3 ай бұрын
@@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.
@array5019
@array5019 4 ай бұрын
tell me you haven't used electron apps on linux without telling me you haven't used electron apps on linux
@frydegz
@frydegz 4 ай бұрын
web gurus talk out of their mouth challenge (impossible)
@okie9025
@okie9025 3 ай бұрын
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 3 ай бұрын
@@okie9025 why do you feel Linux users r stingy
@fernandomendes4633
@fernandomendes4633 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
@HHJoshHH
@HHJoshHH 4 ай бұрын
Thank you so much for this Theo! Keep up the fantastic work brother!
@ARKGAMING
@ARKGAMING 4 ай бұрын
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.
@Tekay37
@Tekay37 4 ай бұрын
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 4 ай бұрын
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 4 ай бұрын
Vs code is slow ! What mobile do you use for coding?
@Lena-yt3yl
@Lena-yt3yl 4 ай бұрын
@@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 4 ай бұрын
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 4 ай бұрын
it was probably 10x cheaper to build it using electron than golang. And discord is a successful app anyway
@andrewmusholt9327
@andrewmusholt9327 Ай бұрын
Some powerful stuff here. Thank you for the the video, gave me chills a couple times!
@beners
@beners 4 ай бұрын
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 4 ай бұрын
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 4 ай бұрын
Figma 2D renderer is built in C++ compiled to WASM.
@daylen577
@daylen577 3 ай бұрын
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.
@kevinmccallister7647
@kevinmccallister7647 4 ай бұрын
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
@raswonders
@raswonders 4 ай бұрын
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.
@onoff5604
@onoff5604 4 ай бұрын
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.
@ruud9761
@ruud9761 4 ай бұрын
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.
@user-gm2rv8tv4e
@user-gm2rv8tv4e 4 ай бұрын
I like Tsoding and I like Theo. What to do?
@reed6514
@reed6514 4 ай бұрын
Grab some popcorn and enjoy the show.
@user-gm2rv8tv4e
@user-gm2rv8tv4e 4 ай бұрын
@@reed6514 I don't think it's a show, it feels sad
@reed6514
@reed6514 4 ай бұрын
@@user-gm2rv8tv4e oh, aw. I didn't realize you felt that way. I think it's okay. People have different opinions about things, and everybody's okay, I'm sure. On the plus side they get to make content about the disagreements.
@v2ike6udik
@v2ike6udik 4 ай бұрын
Tsoding, he made gzip concious :D Tsoding owns me a keyboard coffee cleaning session.
@neel6
@neel6 4 ай бұрын
Same and I understand both sides which makes it frustrating
@steveoc64
@steveoc64 4 ай бұрын
Wow, this is next level jump-the-shark delusional on so many points. Going to be fun reading the comments.
@BJ-bd5fc
@BJ-bd5fc 3 ай бұрын
I'm a grumpy, old school web dev - LAMP stack, Perl/CGI, Bash scripts, CMSes for content, etc. - and I don't care for the front-end first, ridiculously mutating stack approach to web development. With that said, your points are cogent enough to make me rethink everything and move my cheese. Thx for your thoughts.
@squrler
@squrler 4 ай бұрын
Can’t wait for the Primeagens reaction. Good to have these arguments made Theo!
@basione
@basione 4 ай бұрын
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 4 ай бұрын
But using dart you cant transfer that knowledge to anywhere else unlike tauri or react native
@edhahaz
@edhahaz 4 ай бұрын
And what happens when the user clicks a link to your reinvented-browser app ? that's the problem.
@basione
@basione 4 ай бұрын
@@edhahaz Uhh... I don't think you understand what I mean.
@Vindolin
@Vindolin 4 ай бұрын
What do you mean by that? @@neofox2526
@ssg6499
@ssg6499 4 ай бұрын
I'm so happy this point was made. I generally watch the channel for contrary viewpoints, but in full agreement with this. Kudos.
@davek8573
@davek8573 4 ай бұрын
Thank you for this! I've only been a dev for about 5 years and its almost exclusively been web. I needed to hear this as I've been listening to a lot of negativity from people like Jonathan Blow and was beginning to feel pretty discouraged and insulted.
@narutosingh5239
@narutosingh5239 3 ай бұрын
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.
@eduardstefan6833
@eduardstefan6833 4 ай бұрын
How does one even start with create-react-app in december 2023 when the new docs don't even mention it. This means the guy didnt even read the docs and just used what he probably remembered from the old days, tried it, ran into issues and then complained on twitter... Imagine if I'd start a java or a c++ project without reading the docs to the frameworks or libraries that I'm using xD
@upsxace
@upsxace 4 ай бұрын
You are a blessing to the web theo 🙏🏻 Honestly, your defense was on point. Your positivity is super necessary for me, and your points are great. There is enough negativity around already.
@adaojohnson
@adaojohnson 4 ай бұрын
It bugs me so much how many people forget that software exists for people
@levyroth
@levyroth 4 ай бұрын
Except it doesn't. It exists for corporations. No one is building software for people anymore. You're building software for profit, but not your own 😂
@spectr__
@spectr__ 4 ай бұрын
How ironic that Theo liked this, while this is exactly the point Blow actually makes. Theo is losing it, specially after shitting on DHH for political reasons.
@Atmos41
@Atmos41 4 ай бұрын
Theo: claims to defend Web Dev but shit-talks WebComponents. Also Theo: posts videos on KZbin, largely built on top of WebComponent technology.
@germansoto7107
@germansoto7107 4 ай бұрын
Hi Theo! What is your take no PWA?
@Rope257
@Rope257 4 ай бұрын
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 4 ай бұрын
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 4 ай бұрын
@@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 3 ай бұрын
​@@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.
@RomediusWeiss
@RomediusWeiss Ай бұрын
BeEng: "My backend code is simple, modularized and easy to maintain" FeEng: "My frontend code is simple, modularized and easy to maintain" Backend for Frontend Eng: "Fuuuuuu!"
@andybrice2711
@andybrice2711 4 ай бұрын
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 3 ай бұрын
Qt? It's not a toy like electron, it is cross platform, it doesn't require Java or .net.
@andybrice2711
@andybrice2711 3 ай бұрын
@@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.
@TheItamarp
@TheItamarp 4 ай бұрын
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.
@auroraRealms
@auroraRealms 4 ай бұрын
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.
@victorpinasarnault9135
@victorpinasarnault9135 4 ай бұрын
The big advantage of Gmail is that it is free. That's it.
@progger1986
@progger1986 3 ай бұрын
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.
@viniciusataidedealbuquerqu2837
@viniciusataidedealbuquerqu2837 4 ай бұрын
11:30 I think he is speaking about the imperative API of DOM and how we need libs to make it more bearable
@frydegz
@frydegz 4 ай бұрын
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.
@soundrightmusic
@soundrightmusic 4 ай бұрын
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.
@incarnateTheGreat
@incarnateTheGreat 4 ай бұрын
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 4 ай бұрын
I wrote my first programs with pen on paper before even touching a computer. Stop complaining.
@incarnateTheGreat
@incarnateTheGreat 4 ай бұрын
@@levyroth oh yeah? Well..... Nice hair!
@ChimbzZ
@ChimbzZ 4 ай бұрын
Dude, how often do you dye your hair?
@jascha_merle
@jascha_merle 4 ай бұрын
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.
@just_morby
@just_morby 4 ай бұрын
You make so many good arguments. It was refreshing to hear.
@wlockuz4467
@wlockuz4467 4 ай бұрын
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.
@DodoLP
@DodoLP 4 ай бұрын
Usually when developers dont care about performance, they dont care about how their code looks like, either...
@scottiedoesno
@scottiedoesno 4 ай бұрын
I just love that I live in a world where I can hear Theo's opinion and Jonathan Blow's opinion and find the good in both
@reed6514
@reed6514 4 ай бұрын
Honestly, i just think Jonathan Blow is such an egotistical jerk that i have no interest in his opinion. I'm also getting annoyed with Theo lately bc he makes everything seem SO serious and SO heavy when mostly it's all bike shedding.
@scottiedoesno
@scottiedoesno 4 ай бұрын
You don't become popular in content creation by having calmly discussed common takes and a small personality. Comes with the territory. Theo is also very confidently wrong sometimes, but he does generally admit it and call it out. If you don't enjoy the content, it's not hurting anyone to pass it up, I just find it interesting and a good start to creative/critical thinking@@reed6514
@timkom2289
@timkom2289 4 ай бұрын
I can't tell how good Jonathan Blow is, but is prime example of C/C++ developer with massive superiority complex. I feel its quite intelectually dishonest just trashtalking anythig related to web development or JS while its the way choosen by users as the best way to go. And there are web developer writing code literally for milions users while he is reinventing 40 years old Sokoban. As Theo pointed, he is not the guy who cares about end product, he just want to feel good making it.
@WelcomeToSex101
@WelcomeToSex101 4 ай бұрын
@@timkom2289 "he is not the guy who cares about end product..." -- having played his games and seeing how serious he takes his JAI compiler, it's incredibly hard to believe this.
@0x5DA
@0x5DA 4 ай бұрын
@@timkom2289 i do agree he can seem egotistical, but i think that's more a result of cynicism than anything else. but as for his skill; i think it's undeniable. it isn't just sokoban, it's sokoban written in a custom game engine, written in a custom programming language. say what you want about the validity of doing that, he is unmistakeably talented. i don't agree with everything he says, to be clear, but i think he deserves a lot more respect than people here seem to be willing to give him.
@schtauffen5975
@schtauffen5975 4 ай бұрын
my biggest sadness is that people seem to be relegating WASM as a "frontend" technology when in reality it can be our new run-everywhere technology. For frontend AND backend. I would love to see a kubernetes-esque platform that just runs wasmtime under the hood instead of standing up containers take over the world.
@SeanJMay
@SeanJMay 3 ай бұрын
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.
@dpcpw-personal
@dpcpw-personal 4 ай бұрын
What if I told you that in 2000-2010 pre-everything-went-web we had all the native GUI applications we needed on Linux (and other OSes for that matter) and it all worked way better than modern web? So please don't tell me that without web we wouldn't have native apps because it's patently untrue. Web stole the mindshare from native and all the people that could have learned GTK, Qt and/or help build other native UI toolkits are now rewritting their SPAs over and over in whatever is webdev thing of the day currently, and post videos rationalizing how much better JS is than how things were before.
@chakritlikitkhajorn8730
@chakritlikitkhajorn8730 4 ай бұрын
If you already have everything you need I’d bet no Linux user install any software created later than 2010, doesn’t it?
@klirmio21
@klirmio21 4 ай бұрын
JavaScript, html and css is simply more easy to pickup. I’m a web dev and my employer asked me to learn c++. Firstly, it’s garbage - I would only learn it for game development on unity Secondly - the qt is paid subscription Why should I learn c++ and buy qt if I can do the same cross platform apps in simpler js html css? Developers are salty that js is being pushed everywhere
@cericat
@cericat 3 ай бұрын
@@klirmio21 Firstly you're wrong, and Unity uses pretty strictly C# not C++ for user side work. I used to wish it used C++ it's precisely why I worked with Unreal not Unity. Secondly still wrong, QT is free to use and has been since 2000, though you will be restricted under the LGPL. The commercial license is less restricted but not required. If you're going to lie anyway stick with JS you'd fit right in at Oracle.
@alek282
@alek282 4 ай бұрын
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 4 ай бұрын
That nobody uses, and he wants to keep it proprietary, as he thinks open source is a bad idea.
@alek282
@alek282 4 ай бұрын
@@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 4 ай бұрын
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 4 ай бұрын
@@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 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.
@donwinston
@donwinston 4 ай бұрын
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.
@Godalming123
@Godalming123 4 ай бұрын
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.
@flyingsquirrel3271
@flyingsquirrel3271 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.
@ohhellothere17
@ohhellothere17 4 ай бұрын
Thanks Theo, for putting a bandaid on my already blood oozing out wound learning and building on web dev
@Lena-yt3yl
@Lena-yt3yl 4 ай бұрын
I'm personally on the team Quality over Quantity, while yes web is "good enough", unfortunately good enough is all to often the enemy of good. But (except for safety critical systems) that's just personal preference.
@neociber24
@neociber24 4 ай бұрын
I think that's a missunderstanding, there are great web apps, the limit is on you we can always push the web and do awesome things.
@Lena-yt3yl
@Lena-yt3yl 4 ай бұрын
@@neociber24 it's a generalization ofc, and i'm not saying there cant't be awesom things regardless, but like theo said javasript sitcking round how it is and with duct tape on bandages on crutches, instead of being properly replaced or remade.
@Lena-yt3yl
@Lena-yt3yl 4 ай бұрын
@@neociber24 Or just imagine proper web assembly with the same access as JS opening it up Completely to the other amazing ecosystems that already exist.
@levyroth
@levyroth 4 ай бұрын
The problem is it's not good enough anymore. Just chaos and js frameworks.
@okie9025
@okie9025 3 ай бұрын
C#, a language often praised for being the best-designed language currently in popular use, follows the "good enough" pragmatic approach. The reason why C# doesn't have checked exceptions? They suck for developers. Pretty simple. Even though checked exceptions make static analysis possible and could avoid developers from making mistakes, it has been shown that this is simply too cumbersome for developers. Focusing on the programming language itself instead of the product is a problem, and there is a thing as a "too perfect" language. Languages like Rust are fine if you are coding for your own satisfaction, but people forget than programming is not only a hobby and that focusing on the end product is more important than focusing on how fast your iteration over a list with
@animanaut
@animanaut 4 ай бұрын
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.
@kjetilhartveit
@kjetilhartveit 4 ай бұрын
Did not expect a patriotic feeling as a web developer today
@wiskasIO
@wiskasIO 3 ай бұрын
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.
@_Khrix
@_Khrix 4 ай бұрын
Is Flutter desktop a better alternative than electron?
@t3dotgg
@t3dotgg 4 ай бұрын
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 4 ай бұрын
@@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
@ThatRobHuman
@ThatRobHuman 4 ай бұрын
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 3 ай бұрын
If you like Rust, you might like Tauri, which also uses the builtin web renderer
@ThatRobHuman
@ThatRobHuman 3 ай бұрын
@@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.
@xBiggs
@xBiggs 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 4 ай бұрын
Tauri is coming! Hopefully will solve that issue too
@xBiggs
@xBiggs 4 ай бұрын
@@TeaganAtwater I want to try tauri, but then I have to learn rust
@TeaganAtwater
@TeaganAtwater 4 ай бұрын
@@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 4 ай бұрын
Python and C++ definitely have improved tooling to make them as useful as JS.
@user-uy5dj1fd8g
@user-uy5dj1fd8g 4 ай бұрын
There is another side to the webification of software though, and that is that every company is evil and software as a service is a horrendous model. Before, you owned your software, you were able to buy a copy, and have it forever. Nowadays you have to pay every month to use stuff like Word, Excel and Photoshop and if the companies decide the product is no more useful to them, they can drop it and all your content on that file format will be lost forever. Having all your creative stuff lock by a recurrent paywall that and hanging by the whim of some corporative jerks is a horrible things, and when it comes to games it is even worst.
@sda-jf3cc
@sda-jf3cc 4 ай бұрын
great take Theo, never thought I'll think about wed dev this way again, thanks man
Web Dev ya AI? Future proofing your coding career
24:47
Mehul Mohan
Рет қаралды 214 М.
Indian sharing by Secret Vlog #shorts
00:13
Secret Vlog
Рет қаралды 44 МЛН
Don't eat centipede 🪱😂
00:19
Nadir Sailov
Рет қаралды 23 МЛН
格斗裁判暴力执法!#fighting #shorts
00:15
武林之巅
Рет қаралды 72 МЛН
Разбудила маму🙀@KOTVITSKY TG:👉🏼great_hustle
00:11
МишАня
Рет қаралды 3,9 МЛН
Leaving Everything Behind For Elixir
45:10
Theo - t3․gg
Рет қаралды 114 М.
What the hell is HTMX?
4:00
typecraft
Рет қаралды 44 М.
Mobile Devs Hate Servers. Expo Wants To Fix That.
16:05
Theo - t3․gg
Рет қаралды 66 М.
Web Developer's Roadmap 2024 - Step by Step
15:58
Stefan Mischook
Рет қаралды 31 М.
Web Dev Portfolios That Blew My Mind
30:07
Theo - t3․gg
Рет қаралды 122 М.
How to Organize Your Solo Dev Project Like a Pro
7:42
CreaDev Labs
Рет қаралды 12 М.
“California Skater Boy” Reacts To Senior JS Interview
12:24
Theo - t3․gg
Рет қаралды 45 М.
The Truth About Becoming a Web Developer
7:20
Chris Sean
Рет қаралды 442 М.
UI Libraries Are Dying, Here's Why
13:28
Theo - t3․gg
Рет қаралды 263 М.
Oh no, I think I like this
6:58
Theo - t3․gg
Рет қаралды 127 М.
🤔Почему Samsung ПОМОГАЕТ Apple?
0:48
Technodeus
Рет қаралды 431 М.
Индуктивность и дроссель.
1:00
Hi Dev! – Электроника
Рет қаралды 1,5 МЛН
Трагичная История Девушки 😱🔥
0:58
Смотри Под Чаёк
Рет қаралды 368 М.
XL-Power Best For Audio Call 📞 Mobile 📱
0:42
Tech Official
Рет қаралды 772 М.
Обзор игрового компьютера Макса 2в1
23:34
How Neuralink Works 🧠
0:28
Zack D. Films
Рет қаралды 31 МЛН