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 Жыл бұрын
Hats off to your tech journey, from pre-WWW to NextJS. Truly impressive!
@hungrymusicwolf Жыл бұрын
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. Жыл бұрын
You're a great dad
@PRIMARYATIAS Жыл бұрын
Pre World Wide War 🤣🤣🤣@@hungrymusicwolf
@MrMagooRC Жыл бұрын
@@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 🔥🔥🔥.
@thehen101 Жыл бұрын
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
@cyan_galaxy Жыл бұрын
"The only reason there's actual desktop software on Linux is Electron"... are you sure man??
@thatonegoblin7051 Жыл бұрын
"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.
@sajti81211 ай бұрын
Yeah this dude is out of his depth
@sososo39065 ай бұрын
Your right but but John blow is an example of why you shouldn't think like john blow, he could have finished his third game, instead he is trying to develop the game and a language for it, hard to imagine a better way to delay features
@mrxcreamy10 Жыл бұрын
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 Жыл бұрын
I do want QT to get more popular and will continue using it, but dealing with QT licensing is annoying :(
@Fe22234 Жыл бұрын
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 Жыл бұрын
@@Fe22234no one wants to admit that
@atiedebee1020 Жыл бұрын
GTK is also very widely used and is actually quite ok.
@klirmio21 Жыл бұрын
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
@samfelton5009 Жыл бұрын
Theo: “There have obviously been Mistakes like web components” Me: “web components mentioned!!!!!!”
@ivanmaglica264 Жыл бұрын
I think web components are a technology that it's full potential has not yet been explored.
@patricknolen916 Жыл бұрын
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 Жыл бұрын
@@patricknolen916 they are not fun to use
@marusdod3685 Жыл бұрын
as soon as I read this comment I heard him mention "web components"
@tinkmaster1054 Жыл бұрын
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...
@magne6049 Жыл бұрын
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 Жыл бұрын
Hard to be good faith with people that themselves are so abrasive to others.
@magne6049 Жыл бұрын
@@g-rexsaurus794Hard, but necessary.
@Äpple-pie-5k9 ай бұрын
ikr and you didn't even go off on it like you could have in 1000 pages
@Äpple-pie-5k9 ай бұрын
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
@theosokolowsky5608 Жыл бұрын
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.
@ahallicks Жыл бұрын
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_guy11 ай бұрын
MS FrontPage...
@forbidden_lion4 ай бұрын
I started with Notepad -> Atom -> Pycharm -> VSCode -> Cursor -> Powerpoint . Back to roots xD
@davebushmediadesign Жыл бұрын
Note to all KZbinrs - STOP THE DAMN CONSTANT MICRO EDITS. Just talk. Pauses are normal and expected. Constant edits induce anxiety.
@Lena-yt3yl Жыл бұрын
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 Жыл бұрын
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 Жыл бұрын
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 Жыл бұрын
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 Жыл бұрын
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.
@philippebarillecavalier927511 ай бұрын
That guy should take a pause from making videos and go learn basic stuff. Really embarrassing.
@trietang2304 Жыл бұрын
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 Жыл бұрын
if user has low disk space than we should not expect them to have enough ram to run your app
@brenosonda8496 Жыл бұрын
@@AmansLab I disagree, I have 250GB SSD and 24RAM
@dovh49 Жыл бұрын
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 Жыл бұрын
@@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- Жыл бұрын
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
@rafaelbordoni516 Жыл бұрын
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 Жыл бұрын
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 Жыл бұрын
@@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.
@rafaelbordoni516 Жыл бұрын
@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.
@rafaelbordoni516 Жыл бұрын
@JoaoVictordaSilvaMadeira Yes, I agree with you. What I tried to convey is that people use these tools even when they don't need to. In the middle of my post I mentioned this counter movement currently going on in web dev, where people noticed we're way past the point where the added complexity is helpful. This is only happening in web dev to my knowledge, which means a lot of people resonate with that sentiment that web dev is too bloated that the video is trying to argue against. Theo used game dev as a comparison, which is also bloated but it's not there yet, and they're also not nearly as adopted as he and other people might think, even in the indie space. In his defense, these two folks he mentioned in the video don't make fun of web dev only, they're also vocal against the added bloat in game dev. When you think about it, the vast majority of game projects are people trying to get into game dev and they're using Unity to make a 2D game that uses Box2D even though a simple AABB collision detection would work while being more performant and weighting less in the final game, right? People used to defend Unity when their own games would use less than 10% of Unity's features, so is it really needed? But again, even with all of that, I still think web dev is in a much worst state. The fact that more and more AAA execs are taking a 5% rev cut to use UE5 is probably a sign that maybe the UE5 makes their devs more productive, right? Meanwhile in web dev land, htmx is being adopted in production of big companies. The closest thing we have to that in game dev is the rise of tools like raylib and languages like zig, odin and jai, but they're not nearly as talked about or adopted as the ones in web dev. I still think they're gonna rise and that counter movement will also gain strength in game dev, but it's just really not there yet.
@newskybox11 ай бұрын
This is exactly how I feel about this whole video as someone with a programming background trying to explore web dev. Sure, the technology we have now is better than jquery in 2009, but every single frontend tool has to use HTML, css, and js along with all the issues that are inherent to them, and the only way to overcome some of those issues is build tools on top to compile/transform down to those, creating real tech debt and generally poorer than average user experiences.
@m4rt_ Жыл бұрын
there are a lot of non-electron apps on Linux. It isn't purely electron that is the reason we have support.
@redpillsatori3020 Жыл бұрын
Tauri FTW! This video makes me want to learn Rust and Tauri again.
@swedishguy83 Жыл бұрын
“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 Жыл бұрын
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 Жыл бұрын
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 Жыл бұрын
He "defeats" the FUD by spreading more FUD. Truly a web developer moment
@reed6514 Жыл бұрын
@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 Жыл бұрын
@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.
@holly_hacker Жыл бұрын
Tsoding's video was NOT about create-react-app, it was about using react from scratch without any such starter templates.
@luxluth Жыл бұрын
Exactly
@rawallon Жыл бұрын
link it
@doc8527 Жыл бұрын
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 Жыл бұрын
@@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 Жыл бұрын
React docs show how to import react (using unpkg) into an HTML file and use it. He just didn't search hard enough.
@flyingsquirrel3271 Жыл бұрын
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.
@zactron1997 Жыл бұрын
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 Жыл бұрын
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 Жыл бұрын
@@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 Жыл бұрын
@@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 Жыл бұрын
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 Жыл бұрын
@@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
@noobscience123 Жыл бұрын
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 Жыл бұрын
the web just wouldn't be the same without your projects noobscience123
@fahimp311 ай бұрын
I would not lump Python in the same category... 😂
@Äpple-pie-5k9 ай бұрын
Without scripty languages you wouldn't exist? Please reconsider your position!
@daylen57711 ай бұрын
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.
@cgalo Жыл бұрын
"You don't like living in a society, yet you live in one" -Theo
@ericmackrodt9441 Жыл бұрын
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.
@laszloszabo7536 Жыл бұрын
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 Жыл бұрын
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 Жыл бұрын
@@apollolux that is what Tauri does currently
@laszloszabo7536 Жыл бұрын
@@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 Жыл бұрын
@@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. :)
@fadhilinjagi109011 ай бұрын
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
@aniketbisht2823 Жыл бұрын
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.
@stephenjames2951 Жыл бұрын
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 Жыл бұрын
CliniComp?
@MattSitton Жыл бұрын
spotify?
@MarcelRobitaille Жыл бұрын
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 Жыл бұрын
For example, right now I have kicad, alacritty, and neovim open. All cross platform and none written in js.
@theseangle11 ай бұрын
Does web discord have screen sharing and all that?
@MarcelRobitaille11 ай бұрын
@@theseangle Yes of course.
@figmentfire Жыл бұрын
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!
@Äpple-pie-5k9 ай бұрын
+1 let's get you hired to a job
@卛9 ай бұрын
man the 2000s are wild man. nowadays with an engineering degree people can barely get internships. lmao
@gardnmi Жыл бұрын
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.
@DevNug Жыл бұрын
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 Жыл бұрын
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 Жыл бұрын
Then why does he give his opinion on a subject he is incompetent in?
@okie902511 ай бұрын
@@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.
@MrDiverXHD Жыл бұрын
I just have to say it because that was a step too far misleading. Saying that Linux only has "actual" desktop applications because of electron is just not a reality. Did you ever take a look at gtk3 and gtk4, heck it even supports css and that natively and doesn't need a whole browser in the background. And to say it out loud, electron causes more problems on linux for me than any other native application. From the loading times, to random crashes to the why would i even have another 300 MB of memory wasted on another browser which is not up to date and runs random javascript when i could just open a tab in a browser or actually have a good native app with gtk3 and still have a really qmazing result. Yes it's not build once run everywhere, but electron is also not build once run everywhere, especially when interfacing with native api's ... But yeah please do never say "actual" desktop app ever again. Because any gtk app is more "actual" and native than any electron wrapper that ever existed. And also we do have native discord apps in gtk3 ... So they do actually exist ...
@jorderon Жыл бұрын
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 Жыл бұрын
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 Жыл бұрын
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.
@victorpinasarnault9135 Жыл бұрын
The big advantage of Gmail is that it is free. That's it.
@beners Жыл бұрын
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 Жыл бұрын
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 Жыл бұрын
Figma 2D renderer is built in C++ compiled to WASM.
@array5019 Жыл бұрын
tell me you haven't used electron apps on linux without telling me you haven't used electron apps on linux
@frydegz Жыл бұрын
web gurus talk out of their mouth challenge (impossible)
@okie902511 ай бұрын
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.
@array501911 ай бұрын
@@okie9025 why do you feel Linux users r stingy
@emerson-sheaapril8555 Жыл бұрын
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.
@Äpple-pie-5k9 ай бұрын
You and your enemies are both right, it's context dependent.
@Jeanpierrec19 Жыл бұрын
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.
@alek282 Жыл бұрын
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
@alek282 Жыл бұрын
@@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 Жыл бұрын
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 Жыл бұрын
@@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 Жыл бұрын
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.
@kevinmccallister7647 Жыл бұрын
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
@3polygons Жыл бұрын
I lived the times of IE6 and its 'compatibility' with browsers... this is paradise in comparison :D
@v2ike6udik Жыл бұрын
PTSD.
@CaptRespect Жыл бұрын
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 Жыл бұрын
@@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".
@mks-h Жыл бұрын
5:50 It's you who are delusional if you think a few proprietary apps with half-broken desktop integration is "actual desktop software on Linux". I won't lie - that's better then nothing, but don't diminish hundreds if not thousands of applications written for Linux with GTK, KDE/QT, and whatever else.
@Rope257 Жыл бұрын
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 Жыл бұрын
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 Жыл бұрын
@@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.
@okie902511 ай бұрын
@@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.
@donwinston Жыл бұрын
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.
@animanaut Жыл бұрын
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.
@frydegz Жыл бұрын
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.
@halvard1723 Жыл бұрын
There is ripcord, which is some random dudes remake of a slack+discord client. It hasn't gotten an update since 2021 sadly.
@denniscm6-2 Жыл бұрын
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 Жыл бұрын
Web devs are not programmers. Not really.
@spectr__ Жыл бұрын
@@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 Жыл бұрын
@@spectr__100% agreed
@vhaangol4785 Жыл бұрын
@@spectr__ the bar for modern software engineers are getting lower and lower as time pass.
@RadikaRules9 ай бұрын
@@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
@ThatRobHuman Жыл бұрын
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.
@ethanchristensen738811 ай бұрын
If you like Rust, you might like Tauri, which also uses the builtin web renderer
@ThatRobHuman11 ай бұрын
@@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.
@victordvickie Жыл бұрын
would love to hear take of prime on this, i m ambivalent on this
@shinoobie1549 Жыл бұрын
I would love to see a panel discussion/debate with Prime, Theo and Jblow. Maybe even throw in that teesodin guy lol
@billgrant7262 Жыл бұрын
prime is a web dev who shits on web dev because he knows his audience
@fbch32 Жыл бұрын
@@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 Жыл бұрын
@@shinoobie1549 no way does Jblow have patience for a discussion with anyone younger than him though
@0x5DA Жыл бұрын
@@shinoobie1549 holy shit _yes_
@nightshade427 Жыл бұрын
Performance matters and people like Casey Muratori and Johnathan Blow talk about this often (see Casey's talk "Performance Excuses Debunked"). We as web developers often trade our convenience for a slower application stack, eg. js server side with tons of dependencies, large js bundles on client side. There are way more user hours put into a system than developer hours, but we constantly optimize for our "developer experience" vs how our users experience our applications. This is fine when there are no real users and your prototyping and trying to figure out what it is you want to build (even then I use would use low code, no code tools for this as much as possible). Once you know what it is you want maybe it's time to use a more performance focused stack (go, htmx, drogon, vely, alpine, etc) that would give your users a better experience.
@poseiso Жыл бұрын
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 Жыл бұрын
it has improved the user experience greatly, and because of how easy it is to develop for everything altogether, Linux included
@poseiso Жыл бұрын
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 Жыл бұрын
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!
@scottiedoesno Жыл бұрын
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 Жыл бұрын
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 Жыл бұрын
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
@tymak_cz Жыл бұрын
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 Жыл бұрын
@@tymak_cz "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 Жыл бұрын
@@tymak_cz 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.
@jascha_merle Жыл бұрын
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.
@auroraRealms Жыл бұрын
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.
@ioannis_gr Жыл бұрын
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 Жыл бұрын
Would love an analysis and comparisonof the two
@ioannis_gr Жыл бұрын
@@anthonysessa same!
@basione Жыл бұрын
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 Жыл бұрын
But using dart you cant transfer that knowledge to anywhere else unlike tauri or react native
@edhahaz Жыл бұрын
And what happens when the user clicks a link to your reinvented-browser app ? that's the problem.
@basione Жыл бұрын
@@edhahaz Uhh... I don't think you understand what I mean.
@Vindolin Жыл бұрын
What do you mean by that? @@neofox2526
@FunkyELF Жыл бұрын
"The only reason there's actual desktop software on Linux is Electron" @5:53 ... not even remotely true.
@y2kaoz Жыл бұрын
5:52: "The only reason there is actual desktop software on Linux is... Electron". You must be trolling, no one is this detached from reality. ... "The market will solve these problems" Sorry... my mistake.
@tonyb3123 Жыл бұрын
I think you should get into native UI development and some more low level programming to better understand where Tsoding and JBlow are coming from.
@spectr__ Жыл бұрын
Exactly.
@levyroth Жыл бұрын
He's not that smart 😅
@AmirHosseinHonardust Жыл бұрын
What do you guys think of Elm. (Please also mention if you have worked with it on a production level project or not).
@dtkedtyjrtyj Жыл бұрын
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.
@DeveloVooshGWeb Жыл бұрын
As someone who has grown to avoid web development, I can safely say that web development is where I came from and still holds a special place in my heart. I would still use it for appropriate projects.
@d3stinYwOw Жыл бұрын
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 Жыл бұрын
Absolutely it's possible. However was the point not that it's not possible, only that it wasn't being done?
@d3stinYwOw Жыл бұрын
@@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. :)
@comradepeter87 Жыл бұрын
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?
@Tekay37 Жыл бұрын
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 Жыл бұрын
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 Жыл бұрын
Vs code is slow ! What mobile do you use for coding?
@Lena-yt3yl Жыл бұрын
@@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 Жыл бұрын
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 Жыл бұрын
it was probably 10x cheaper to build it using electron than golang. And discord is a successful app anyway
@gergoradeczki Жыл бұрын
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 Жыл бұрын
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 Жыл бұрын
What's more ironic is that "JavaScript" is an Oracle's trademark
@andybrice2711 Жыл бұрын
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.
@philippebarillecavalier927511 ай бұрын
Qt? It's not a toy like electron, it is cross platform, it doesn't require Java or .net.
@andybrice271111 ай бұрын
@@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.
@hazeion Жыл бұрын
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.
@jp263 Жыл бұрын
JavaScript and web development are in a bad spot tbh. Dart is so much better and folks should've jumped to it (invented by the folks who made JS viable). The folks who made Dart are the ones who made Gmail possible with v8. They recognized the looming failures of JS and tried to warn us. Sad to see their heroic JS work held up as a reason to defend JS. JS has been a stain every since that bigot shit it out
@jan_harald Жыл бұрын
browsers and javascript are *NOT* slow your code is people before the whole webdev and framework fad, wrote stuff with all the possible optimizations, and could make very well performing (though not "pretty-looking") apps in the old days, the problem is that very few people actually optimize for performance, or compatibility, nobody checks if the fancy feature actually has to end up calling 5 other javascript functions, and would be faster to call 3 of those functions directly, and avoid calling 2 + wrapper, or using the absolute least amount of loops and stuff like that... it's same as native dev... pradoxically, computers get faster and faster, but programs get slower and slower....because less and less people care to UNDERSTAND performance... also I'm strongly of the opinion that web-apps and web documents should NOT use same tech stack...web was made for documents, web-apps would work way better using other tech instead of having to deal with DOM and CSS, all the while making it impossible to make a new browser, because either you support everything ever made, or you support nothing...
@levyroth Жыл бұрын
We're dinosaurs 😢
@paultapping951011 ай бұрын
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.
@卛9 ай бұрын
because it's not possible to make such a thing
@ronny5533 Жыл бұрын
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
@DodoLP Жыл бұрын
Usually when developers dont care about performance, they dont care about how their code looks like, either...
@wlockuz4467 Жыл бұрын
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.
@ohhellothere17 Жыл бұрын
Thanks Theo, for putting a bandaid on my already blood oozing out wound learning and building on web dev
@Godalming123 Жыл бұрын
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.
@SeanJMay11 ай бұрын
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.
@BJ-bd5fc11 ай бұрын
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.
@cc.jsullivan Жыл бұрын
I'm sorry, "nobody writes native apps for linux"? What about libreoffice? Gimp? Darktable? Blender? There's plenty of high quality software running natively on Linux. Also yeah, the browser platform is nice in a vacuum, but to say that it's an objective good for users is huge cope. It's become the interoperability tower of babel. All we do these days is move around some data in a way thats completely opaque to users, nobody knows whats going on. W3C accessibility standards aren't even that all encompassing, and easy to game. It shouldn't take a genius to build a browser implementation from pieces, but it does, and electron/hybrid apps suffer from decades of feature creep and vendor lock in. I'd say in terms of alternatives, no good engineer would be daft enough to propose an alternative to the web platform. Maybe taking the good parts and re arranging them into something more flexible would be a better idea, a less rigid ecosystem that better fits to the form of problems.
@cc.jsullivan Жыл бұрын
@sferavel I'm not saying web applications have objectively worse quality, but its foolish to say that other platforms have no place given the web's ubiquity. Plus, the web is not just the browser platform anyway, it was envisioned as a component of an interoperable hypermedia system, not just a JS sandbox with an http client and a DOM tree. As for survivorship bias, there's plenty more multimedia apps you just don't hear a lot about because the web monoliths ate a lot of competition. Mpd is still around and loonix nerds love having their music library anywhere, ffmpeg is a must in video production. Its silly to think the web embodies any sense of "do easy" just because it's everywhere.
@cc.jsullivan Жыл бұрын
@sferavel Also consider the web itself is born of survivorship bias. There were other hypermedia systems before the internet, http, and afterward. The web won for the reasons Theo mentions, but mostly that it became the most well documented over time (thanks mozilla) However, just because something is everywhere and relatively easy to use doesn't make it an overall good thing, I really believe the web we've grown into has given us tunnel vision to what hypermedia can really do as an application platform
@levyroth Жыл бұрын
Yeah, but it takes real programmers to make those, not web devs.
@cc.jsullivan Жыл бұрын
@@levyroth that just sounds slanderous tbh, you think web devs can't be real programmers?
@RandomBoy-d7i Жыл бұрын
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.
@ARKGAMING Жыл бұрын
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.
@hungrymusicwolf Жыл бұрын
17:35 "I'm just here to make cool things. I don't know what the hell they're doing." - That perfectly describes my (admittedly limited) experience with web dev up till now. It's also one thing I'm kind of sad about because I do like to understand how things work. Even if I don't always need to. But I suppose you can't have it all.
@cherry-55 Жыл бұрын
I find it sounds a bit weird 2:18 . Because it's good enough we've been able to build an incredible world on top of it. Maybe I don't need the INCREDIBLE WORLD on top of something. Maybe I need this something itself :) The issue with JS fatigue is that there is a water, and there is a turtle swimming, and elephants on top of that turtle, and then finally the land on top of those elephants. I agree that JS complexity can solve complex UI problems because UI is complicated itself. But, not all the apps need it. There is the growing need and growing want of good old MVC with templates solutions, that are just good enough, very cost effective, battle tested. Add HTMX to it and that's it. It's good enough. Rails with Hotwire, Laravel with Livewire, Phoenix with Liveview. I just want MVC like this become a default once again, and SPA is a second thought.
@levyroth Жыл бұрын
Yes, less is more. And we already have too many social media apps.
@Cmacu Жыл бұрын
Wait, what are these more performant and cost effective solutions you are talking about? How can servers be more cost effective when rendering on the client is free? How can rendering on the server be more performant when your average web server is 4 times slower than the average consumer device? Adding network connection to the equation doesn’t help either. Ive started web dev with Flash and Action Script 15 years ago. I remember the ColdFusion days. What you are saying makes no sense what so ever. MVC is not a solution, RoR is not a solution. If you need a SEO website just use any CMS, set it up in 2 hours, give it to your marketing team. What is that mythical problem you are trying to solve with MVC and RoR that haven’t been solved? Are you building a social media or streaming platform? The most popular social media apps are built on react by some of the most talented people… wtf
@ShinSpiegel Жыл бұрын
Have you ever heard about Tauri?
@Brawaru Жыл бұрын
There's also Wails :)
@thegalluzz Жыл бұрын
@@Brawaru Was looking into it last week, how was your experience with it?
@yamyam263 Жыл бұрын
Jonathan Blow vs. Theo. This what I'm here for.
@johnj384511 ай бұрын
Yea! I’m glad someone said it!
@Äpple-pie-5k9 ай бұрын
@@johnj3845 So far as I know JB won the first round even while being an inanimate sprite taking punches without being able to comment.
@incarnateTheGreat Жыл бұрын
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 Жыл бұрын
I wrote my first programs with pen on paper before even touching a computer. Stop complaining.
@incarnateTheGreat Жыл бұрын
@@levyroth oh yeah? Well..... Nice hair!
@cfuendev Жыл бұрын
"We make mistakes like Web Components" is crazy. WC are a step in the right direction, which is abolishing frameworks and allowing native components compiled by the browser to get better performance, which in the future will be natively SSR'd thanks to Declarative Shadow DOM. I like to look at React and NextJS as the precursor to a future where web development is way less framework-centric and more relying on the browser engine and it's web standards.
@popcorn245 Жыл бұрын
Couldn't agree more, I think this video is great other than web components L take. It added the last bit of encapsulation we needed to make good, repeatable UI. Been working in web components for years and they just work, they allow me to opt into JS and ship semantic HMTL.
@guillemgarcia3630 Жыл бұрын
@@popcorn245 have fun using tailwind / css frameworks / just creating basic forms with web components. I don't know wtf were they smoking to do such a bad API.
@klirmio21 Жыл бұрын
True. I’m a web dev and I hate all those frameworks, unnecessary complexity. Imagine if we had reactivity and components directly
@popcorn245 Жыл бұрын
@@klirmio21 I generally agree, think that JSX being part of spec would make things a little easier, especially with its almost ubiquitous adoption in all modern JS frameworks. But that being said, template literals with syntax highlighting aren't terrible by any means and you add one render() method to your components that sets innerHTML and you're off to the races. ShadowDOM is often complained about, but it's opt-in and not required, though super handy in cases you don't control what styles are passed to the document. Astro + Web Components has been a complete game changer, I get to wrap things in web components, only when I need JS, and it encapsulates functionality. This means I am able to keep search engines happy and performance metrics high.
@onoff5604 Жыл бұрын
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.
@LewisCowles Жыл бұрын
Python and C++ definitely have improved tooling to make them as useful as JS.
@raswonders Жыл бұрын
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.
@narutosingh523911 ай бұрын
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.
@Kane0123 Жыл бұрын
Market will solve the issue used to be true, but its not that simple now... Prime's take that JBlow may have been right that software is in decline but that its critical to consider the increased hardware/system scope that software needs to work in has blown way out in the same time... After all the ship it once mentality of previous software dev years also didn't have to compete in a landscape of Win10 vs Win11 vs iPhone15 vs iPhone10 vs Samsung S59 vs Fairphone 4 vs Linux box vs. Apple Watch vs. Chromebooks... I still hate that so many of the apps I use are janky but sometimes you need to step back and consider that I used to hold my cd-walkman steady to avoid skipping...
@levyroth Жыл бұрын
Only because you couldn't afford the good CD players with antiskip technology. Been there, done that.
@andrewmusholt93279 ай бұрын
Some powerful stuff here. Thank you for the the video, gave me chills a couple times!
@soundrightmusic Жыл бұрын
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.
@Aaron-hg8jo Жыл бұрын
tldr: apple fanboy doesn't know about linux
@sda-jf3cc Жыл бұрын
great take Theo, never thought I'll think about wed dev this way again, thanks man
@lunar_mycroft Жыл бұрын
The idea of a universal platform that allows GUI apps to run on basically everything with a single code base and be easily deployed and updated is certainly very powerful, but I think that the web is pretty far from the optimal way to do that, at least in theory (with JS being the pretty clear weak link, IMO). The issue is, since the web is by far the most popular option, it's difficult to introduce alternatives (even when the alternatives would be better). Kind of like how OOP is so dominant despite being in a lot of ways a bad paradigm.
@klirmio21 Жыл бұрын
I can use discord on Linux Mac or windows. I don’t even need to install it, I can use all of its features directly in the browser. Isn’t that awesome?
@fullaccess2645 Жыл бұрын
@@klirmio21 not when it eats half my ram.
@daedalus5070 Жыл бұрын
That Tsoding guy is quite abrasive in his videos. His video working out React was quite interesting and did expose some things we don't normally think about. He figured out how to make a Reactive counter and render it in C but then the state didn't persist, it didn't react to other events etc... There are people out there that prefer to build everything from scratch, and perhaps that makes them a better programmer than me but my job is shipping a Frontend that works and I would much rather rely on the 1000's of hours of other peoples work than start from scratch every time.
@DevNug Жыл бұрын
@@filipkocisYou don’t need to build everything from scratch, but acting like it doesn’t make you more knowledgeable is crazy. Who do you think builds the abstractions?
@theycallmesloth Жыл бұрын
@@filipkocisbs.
@levyroth Жыл бұрын
Tsoding is actually a programmer. You're not.
@ernesto906 Жыл бұрын
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.
@progger1986 Жыл бұрын
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.
@aniketbisht2823 Жыл бұрын
Web dev now in of itself is not problematic. You can use Webassembly and code the "client side" portion of your application (i.e the part that runs in the browser) your preferred language (C++ in our case). The crazy part to me is that there are people who use JavaScript in the back-end too. Use a good statically typed compiled language (also C++ in our case) and you will get some "vertical scaling" for free.
@xBiggs Жыл бұрын
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 Жыл бұрын
Tauri is coming! Hopefully will solve that issue too
@xBiggs Жыл бұрын
@@TeaganAtwater I want to try tauri, but then I have to learn rust
@TeaganAtwater Жыл бұрын
@@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
@sandrobac Жыл бұрын
I used to hate web dev, writing UIs in PHP with tables of floats was so awful... The changing point for me was flexbox and React, after that it was smooth sailing