Тёмный

How JavaScript Ruined the Web 

Eric Murphy
Подписаться 67 тыс.
Просмотров 107 тыс.
50% 1

Ever noticed how bad the modern web is getting? Why is every website a slow, laggy, buggy mess? Whatever happened to the good old days, when websites were simpler? In this video, I'll talk about how the rise of JavaScript frameworks like React have been a disaster for the internet...
🌐 My website: ericmurphy.xyz
💸 Support the Channel: ericmurphy.xyz/donate
🎥 Watch my videos on Odysee: odysee.com/@ericnmurphy
💻 My GitHub: github.com/ericmurphyxyz
0:00 The absolute state of the modern web
0:45 The JavaScript obsession
2:57 Peer pressure
4:31 The FUTURE of web development!
6:20 Move fast and break things
7:59 Muh "Developer Experience"
9:53 Peak performance
11:36 The user "experience"
12:16 How to make non-bloated websites
14:17 Conclusion

Наука

Опубликовано:

 

31 май 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 680   
@AROAH
@AROAH 11 месяцев назад
I remember when I got my grandma a Chromebook with 2GB of RAM back in, like, 2016. I thought there was no way she’d need anything better than that with just web browsing. Fast forward to now, where a single Facebook tab can choke that Chromebook’s resources. What a world.
@krunkle5136
@krunkle5136 10 месяцев назад
Then you see all the chuckleheads that say you should just buy a newer computer. What a wasteful mentality.
@BusinessWolf1
@BusinessWolf1 10 месяцев назад
we should let people choose whether they want the fastest version of the site possible or the regular one
@AROAH
@AROAH 10 месяцев назад
@@BusinessWolf1 Gmail used to have a basic HTML version that dumped all the fancy interactions for the sake of low spec PCs. Sadly, I doubt most modern sites are designed to be able to dump the heaps of JavaScript wiring them together.
@ElclarkKuhu
@ElclarkKuhu 10 месяцев назад
​@@AROAH The problem is that it's expensive to host Server Side Rendered (SSR) Website and that's why a lot of companies are moving away from it, now they just host the static files & the api. But frameworks like SvelteKit are built for the middle ground where it prerender a static page, SSR the first request & handles the reactivity using JavaScript without virtual dom like React.
@chidorirasenganz
@chidorirasenganz 10 месяцев назад
2gb in 2016 was still pretty bad
@Tatseryu27
@Tatseryu27 10 месяцев назад
There's something worse: Electron Apps.
@doltBmB
@doltBmB 29 дней назад
the worst of both worlds
@TheExileFox
@TheExileFox 28 дней назад
Imagine a web browser written in Electron loading modern websites with heavy JS frameworks like react.
@Tatseryu27
@Tatseryu27 28 дней назад
@@TheExileFox Just like hell
@n1vz3r
@n1vz3r 28 дней назад
Yes, but some - like VS Code - can be quite polished. Slack, bashed by everyone as a memory hog, is ok too.
@69k_gold
@69k_gold 28 дней назад
@@n1vz3r VS Code was written entirely with vanilla JS, so it is extremely well optimized, for an Electron app
@Terrados1337
@Terrados1337 10 месяцев назад
"Hey, can you please change that link on our website?" "Sorry, that's gonna take some time, gotta find it in the code" ??? HUH ??? this actually happened.
@MarteenHobbu
@MarteenHobbu 21 день назад
when he only knows js.
@ashwinrawat9622
@ashwinrawat9622 11 месяцев назад
As developers we generally work on two types of projects: One type of project is a contract work for someone else, another type is a personal project (hobby, your own app etc). The contract projects are the ones where development speed takes precedence over everything else. You need to churn out the project as soon as possible so you can work on other projects. These project you have to show to the client, who is easily impressed by the gimmicks (spa, animations, "analytics" etc). You don't necessarily care about the performance, accessibility etc (unless explicitly defined in project requirements). The other type of project is personal project. Now these are the projects you handcraft to be the most optimized and beautiful. Here You wouldn't (and shouldn't) use bootstrap to style a button in your page (hence adding the bloat of libs). In these projects its a good idea to build everything by hand because its a nice learning experience. You would do this because the sole developer is you on your project (or you maybe have an intern who you can easily teach), however on contract projects you have to use a popular framework so your client can get it developed further if desired. You can expect another developer to know me-3 p-1 classes, but not just-the-right-amount-of-padding-and-margin class.
@kylehart8829
@kylehart8829 10 месяцев назад
Yeah, but that doesn't make the cycle of "keep using more bloated frameworks until the site is impossible to maintain, then tear it down just enough to make it possible to develop again" a good thing. That mindset costs companies literally billions of dollars a year and is objectively worse long-term compared to the future we could have if we put in the work to transition web development to a more responsible language/ecosystem like Rust. Everything would be far easier to maintain, breaking changes would be rare, large projects would be easy to understand, the benefits go on and on. Move fast and break things is probably the worst project paradigm around, because it makes sense from a standpoint of trying to attract venture capital, yet it's used on massive projects that will still be in service in a decade.
@DLain
@DLain 10 месяцев назад
as a C programmer who actually develop Drivers and do Kernel stuff. I agree with you lol. I have a personal project that did require lots of javascript (it is similar to Reddit) but I did it 100% single page, client rendered using websockets. Did it with regular javascript, everything by hand, no angular, no vue, no react.
@petrlaskevic1948
@petrlaskevic1948 10 месяцев назад
​@@DLainExactly, you can build apps without using frameworks at all. In fact, my apps are faster this way
@MichelleHell
@MichelleHell 10 месяцев назад
​@@kylehart8829it costs companies billions, what does that mean? What I hear is, it forces financial interests to employ a work force. Efficient for a financial interest means they keep the money and spend less on the actual work force. Saving what and for whom?
@TheNewton
@TheNewton 10 месяцев назад
" You don't necessarily care about the performance, accessibility etc (unless explicitly defined in project requirements)." This is a systemic problem of unprofessional lack of responsibility in web development that justifies that bloat or ignorance on part of the client. Especially with factors like accessibility which can have very real legal consequences. Thing about in what other industries is behaviors found in web development acceptable. Could a car builder just leave out safety features like seatbelts or have a slow engine because it's not in the spec. Imagine a lawyer not required to inform their client of some legal jeopardy because the client didn't request to be informed of the law.
@ruijikisu
@ruijikisu 10 месяцев назад
I'm originally a C++ dev but at my last job had to take over a few web projects and I didn't want to learn React so I wrote them in native JS, which at first felt wrong because the way people talk that is an outdated way of doing things, but slowly over time I realized my web apps were way faster than any of the ones people with frameworks were making. The thing is it's tempting cause a lot of them have cool functionalitt built in but it almost always bloats what you're building and people don't seem to consider this and just default to it
@doltBmB
@doltBmB 29 дней назад
maybe webasm will allow native performance scripting in arbitrary languages, but that sounds too good to be true.
@julianojosoa2145
@julianojosoa2145 21 день назад
That's just your point of view because you didn't use JS Frameworks. Let me assure you that those framework e.g. React are more optimized than you vanillaJS code because those are actually compiled into vanillaJS, minified, optimized and bundled into small parts before they are sent to the user's web browser 😅
@doltBmB
@doltBmB 21 день назад
@@julianojosoa2145 meanwhile reality proves you wrong
@isodoubIet
@isodoubIet 5 дней назад
@@julianojosoa2145 Here's the thing. It's literally faster to refresh the whole page than to do the whole retained mode nonsense. Go to some professor's webpage which are usually pure html+css. Click on links. It's _instant._ Bringing in a bloated mess like react to avoid refreshing the whole screens is just bonzo.
@isodoubIet
@isodoubIet 5 дней назад
@@julianojosoa2145 Here's the thing. It's literally faster to refresh the whole page than to do the whole retained mode nonsense. Go to some professor's webpage which are usually pure html+css. Click on links. It's _instant._ Bringing in a bloated mess like react just to avoid full screen refresh is bonzo.
@helloimatapir
@helloimatapir 11 месяцев назад
Vanilla JS and CSS have come along way these past few years and are only getting better. It would be nice to eliminate frameworks altogether, but that's not going to happen.
@GeneraluStelaru
@GeneraluStelaru 11 месяцев назад
Unless your project uses JS for minimal interactivity and css manipulation, going on JS alone is a very bad decision.
@Alien426
@Alien426 11 месяцев назад
@@GeneraluStelaru Nope, the only sane decision.
@fabiandrinksmilk6205
@fabiandrinksmilk6205 11 месяцев назад
What I also like are frameworks that compile to vanilla JS and CSS, like Svelte. You get cleaner, more structured code with less boilerplate while developing, but then compile it to an optimized bundle. But I do have to agree that vanilla JS and CSS are more than enough for many sites.
@BrotWurst
@BrotWurst 10 месяцев назад
@@GeneraluStelaru yes. you would only end up creating your own framework. people who want to build entire interactive web-apps without a framework just end up writing bad code, or their own version of a framework. which, would be ok, if it wouldnt consume a huge amount of time and energy. the problem are not webapps, its a big marketing teams, overloading adds. slow APIs. bad infrastructure. maybe a bad mix of SPA on a api designed for a MPA etc. etc. its not "vue's" fault! its the fault of many aspects not working well together and, as a result, creating a bad website which everyone seems to hate :D
@l4kr
@l4kr 10 месяцев назад
Fuck frameworks. We programming in binary now.
@liquidsnake6879
@liquidsnake6879 10 месяцев назад
It's a complicated problem because indeed not knowing React or Vue today is a major hinderance to your career as a developer and you'll struggle to find work that does not require production experience with these frameworks. This alone already motivates people to use frameworks for everything At the same time yes like most things development often chases trends rather than focusing on objective data driven decision making. The more javascript you add to something the more problems you're creating... more libraries means more time spent debugging other people's code. Major problems: Nobody is really doing things data driven, nobody cares about underpowered devices, nobody cares about data limits, nobody cares about acessibility, mobile web development is still an afterthought. And so in many ways webdevelopment took 1 step forward and 2 steps back and lost track of what the ultimate goal is
@colbyboucher6391
@colbyboucher6391 10 месяцев назад
What I find hilarious is that people act like SPAs are "more efficient" because you don't need to keep loading new pages all the time. My brother in Christ, now you need the whole goddamn website loaded in RAM right from the start, mobile data through the roof, the web was paginated for a reason and loading pages takes 0.1 second each. Stupidest aspect of the modern web.
@MaidenLoaf
@MaidenLoaf 10 месяцев назад
Bring on the era of WebAssembly I guess
@DFPercush
@DFPercush 10 месяцев назад
​@@colbyboucher6391 If I may play devil's advocate, the idea is that the program is usually smaller than the data. You're not loading the entire contents of the server's hard drive, you're loading components that specify how to display and interact with data. That data is usually loaded on demand through xhr requests or the fetch api. It just so happens that most frameworks are so dependency heavy, the assumption that program size < data size might not hold up well on the modern web. With React, you as an end user have to load the entire React framework from one of Meta's CDN servers. With something like Svelte, on the other hand, it's all compiled down so the end user only has to load a relatively small script with not much more than the page developer's actual logic, even though the developer needs hundreds of MB of dependencies to generate that smaller file. The overhead of the framework itself to the end user is in the single digit kB range. But it's really all the ads and trackers that slow things down more than anything else. Web assembly is great in many ways, but it can't touch the DOM. It still has to go through javascript to actually do anything, or whatever hosting environment is embedding it. I love it as an open standard for a VM to use in lieu of things like Java or .NET, but on an actual web page its only advantage is computing power for raw number crunching, or bringing old legacy native programs onto the web, not so much in the reactive UI department. Blazor, for example, needs a couple MB of code just to bootstrap .NET in a WASM environment. Rust and C with emscripten fare a little better at 100-200 kB, and a raw Rust or C wasm module with no support layer takes barely anything beyond the actual functions you write. So while the performance is not an advantage in the UI case, it does allow development in other languages besides Javascript, which is a plus all by itself.
@TheNewton
@TheNewton 10 месяцев назад
"Major problems: Nobody is really doing things data driven, nobody cares about underpowered devices, nobody cares about data limits, " Which is why I believe regulation of soft-dev or web-dev will happen in our lifetime. At least in the case of accessibility there are very defined legal consequences that can force businesses to care.
@MaidenLoaf
@MaidenLoaf 10 месяцев назад
@@TheNewton I couldn't advocate for legally regulating web development in this sense because the definition of "old device" is constantly in flux, and lawmakers are notoriously bad when it comes to ever evolving tech. Additionally, there's an argument that this would stifle innovation from companies trying to do new things as there's now a business overhead associated with this kind of regulation. If you want to legally force old device support then you can say goodbye to using emerging / semi-mainstream technologies such as WebAssembly (ruling out anything made using Microsoft's Blazor, for example). If there is such a regulation ever proposed, this is why I believe that the political tech lobbyists would never stand for it.
@exxon47_
@exxon47_ 10 месяцев назад
Svelte is one of my favorite JavaScript frameworks and the main reason for that is that it has an amazing feature that lets you export to raw CSS and HTML without any JavaScript at all
@michawhite7613
@michawhite7613 10 месяцев назад
I think it's still using mostly Javascript. It's a compiler, but it's compiling to Javascript, not HTML
@tehmaid
@tehmaid 10 месяцев назад
@@michawhite7613 svelte defaults to sveltekit (nextjs/gatsby alternative) that renders server-side.
@michawhite7613
@michawhite7613 10 месяцев назад
@@tehmaid Server-side rendering is better but my understanding is that it creates a string with the needed HTML and then uses JavaScript to insert the HTML into the page. That's at least what the Svelte playground seems to suggest.
@tehmaid
@tehmaid 10 месяцев назад
​@@michawhite7613 Server-side rendering means that the end user gets pre-rendered HTML. In SSR most of the page is rendered statically and then client components add interactive functionality, or you can implement an entirely static HTML page. In sveltekit for this you would have to enable prerender and disable hydration. You as a developer write in javascript and it does need a compiler that would compile your server components to HTML, but the result will be a page that contains no javascript runtime AT ALL.
@AbWischBar
@AbWischBar 10 месяцев назад
100% with you - Svelte and SvelteKit but only for data driven applications, i.e. where pages or part of the pages depend on data that are best stored in databases or need true interactivity (zooming into maps, graphs, gaming interaction etc). For purely static sites I would most likely go with static HTML and CSS. However, as soon as you have some consistent navigation framework or so, SvelteKit's routing layout and page concept can be super valuable, as an alternative to PHP or other server side dynamic code.
@JonathanRose24
@JonathanRose24 11 месяцев назад
I’ve never used gatsby, but I have used React for years. I built my personal website using Next my website is incredibly fast. It loads nearly 0 JavaScript because the HTML is generated at build time. There’s plenty of ways to leverage the power of react, and still deliver fast websites. The problem isn’t the tools, it’s the developers who don’t know what they’re doing
@user-fe8hp6jv9f
@user-fe8hp6jv9f 11 месяцев назад
One of the bloated sites that he showed off was New York Times and they don’t even use a framework they use Wordpress which is a cms. Not to say that it is a very big deal, everyone makes mistakes but I’m still triggered :
@nanonkay5669
@nanonkay5669 11 месяцев назад
Gatsby IS React. It's just a framework like Next
@rimondas6729
@rimondas6729 11 месяцев назад
Svelte is simpler to use and faster
@BusinessWolf1
@BusinessWolf1 10 месяцев назад
​@@rimondas6729and you will never get a job with it
@JohnDoe-jk3vv
@JohnDoe-jk3vv 10 месяцев назад
The only fast websites are the ones who are not bloated. Bloat is inversely proportional to speed.
@axa993
@axa993 10 месяцев назад
In my experience it's not just frameworks - it's tracking libraries and a ton of 3rd party libraries stacking on top of each other
@donkeyy8331
@donkeyy8331 11 месяцев назад
I remember when I first tried using Node and use express to make a simple server, the moment I saw 100 packages download I knew there was something wrong.
@JamesSmith-ix5jd
@JamesSmith-ix5jd 10 месяцев назад
And here is me, who is so self conscious even when adding google fonts as a single dependency on my site.
@DFPercush
@DFPercush 10 месяцев назад
That was me with Angular for the first time. "200 MB for Hello World?! This is ridiculous!" Of course a lot of the packages can be installed globally, so you don't need another 250 MB for every project. If you think about it, you're basically downloading a compiler for a new language, in source code form. Still, it's kind of crazy how many dependencies there are. "Don't reinvent the wheel" has turned into "Build a car by buying every part from a separate vendor." ... and then my package manager breaks because i ran "sudo npm update" ...
@LetrixAR
@LetrixAR 10 месяцев назад
Node has HTTP server built in and there are more smaller packages for simple stuff Express alternatives like Hono.
@AlexEliotOfficial
@AlexEliotOfficial 10 месяцев назад
I wonder if you would find it less wrong to parse the response stream manually, then?
@rick_from_yr
@rick_from_yr 9 месяцев назад
But packages are necessary
@JodyBruchon
@JodyBruchon 10 месяцев назад
"Stuck in the past" back when things didn't suck? Sign me up.
@dpgwalter
@dpgwalter 10 месяцев назад
With the advent of "no JS by default" frameworks, I always wonder: if your site doesn't need JS to function, why are you even using JS? IMO JS is specifically for interactivity, and using it for that purpose is fine and dandy. It becomes really tricky when it replaces the server, the data backend and the markup for the frontend, usually also tying you to various AWS reseller's products indefinitely, cause even if they say it "doesn't lock you in", you know damn well it makes it difficult to move away from.
@borissinaga
@borissinaga 10 месяцев назад
This. It feels to me that using hammer for everything is a trend now, and you'd use a modified hammer to open screws.
@neetdemon
@neetdemon 10 месяцев назад
I've never had a problem with JavaScript as a language. But needless bloat, JS just to load HTML and CSS, and the worst of all... spooky trackers all on the client side is just a cancer that is taking over the web. As web devs we need to go back to the simpler days but combine it with the good innovations of today. Thanks for this awesome video, subscribed and you know I hit that damn notification bell
@MSTRCMDR
@MSTRCMDR 10 месяцев назад
Agree, but Ive always had a problem with js. Now vue is half of my day job and a quarter of my desktop software was written in js.what a world.
@colbyboucher6391
@colbyboucher6391 10 месяцев назад
Literally website on Neocities are better than the crap people make professionally now. Nothing gained whatsoever.
@michawhite7613
@michawhite7613 10 месяцев назад
I've been doing a lot of work to optimize my company's login page, and I'm starting to get to the point where there's more kilobytes dedicated to analytics than to the page. God help me in convincing the team to let me get rid of analytics.
@ccricers
@ccricers 10 месяцев назад
The biggest issue is JS and SPAs moving more HTML generation to front end frameworks, so now your clients (phones, personal PCs) have to load more framework code instead of keeping it in the servers. The old MVC framework model typically generated the views in the server. It's especially a problem with bandwidth throttled situations you loads feel as slow as the older days of the web with 56k modems and you're simply loading a text article and a few pictures.
@Seacat17
@Seacat17 10 месяцев назад
Old web, but with AVIF, AV1/HEVC, OPUS/OGG... Yeah, that sounds cool. We can significantly boost it's quality!
@demirramon
@demirramon 10 месяцев назад
FINALLY someone talks about this. I thought I was going insane with everyone overusing JS frameworks because "it's the new thing" and that I will "become obsolete" if I don't. I just let HTML do HTML things and JS do JS things. And it's so damn fast and light.
@marcomoreno6748
@marcomoreno6748 10 месяцев назад
"Reactful" "Stateful" "Functional" (the buzzword not the paradigm)
@DivinityOfBLaze
@DivinityOfBLaze 10 месяцев назад
My internet isnt the best. Modern internet had even the simplest of pages take far too bloody long to load.
@muskyoxes
@muskyoxes 11 месяцев назад
JS frameworks are bad, but they're not the reason sites suck. Sites suck because of ads and tracking, and tracking on the tracking, and ten ways of doing tracking on the same page, and more tracking, and extremely heavy ads, and slow loading ads, and ads that demand to be loaded before the main content, and more ads, and then a bunch of ads, and also lots of ads. And more tracking.
@m.projects
@m.projects 10 месяцев назад
I think you forgot to add tracking
@szymonbaranowski8184
@szymonbaranowski8184 10 месяцев назад
getting things for free means getting much more crap with it as punishment for not paying
@TheNewton
@TheNewton 10 месяцев назад
Sites suck because an industry web-dev is severely lacking in professional rigor that knows how to say no to clients fumbling their own business interests.
@annacurransmotherofmeghanc1841
@annacurransmotherofmeghanc1841 24 дня назад
@@TheNewtonagreed
@thelonerat9557
@thelonerat9557 11 месяцев назад
Yes, I'm tired of all the tools and build steps of modern frameworks.
@7667neko
@7667neko 10 месяцев назад
That's why, when you're in a slightly worse (but still in) cellular coverage area, you could also be completely offline, because nothing will load.
@dzanful
@dzanful 11 месяцев назад
I completely agree with everything you say. I also don't understand what is going on on some websites when toggling dark mode and the page seems to be doing some heavy stuff while the screen flickers. And all JS should do is add a 'dark' class and store the user's preference. The rest is done with CSS, even to determine the user's OS theme settings. I also don't understand the purpose of most animations on modern websites, is it really that pleasing to end-users? People should really care more about things like accessibility and performance.
@okie9025
@okie9025 10 месяцев назад
1. An explanation why some websites have dark mode flicker is a when the user selects the "System" option when choosing a theme. The system option automatically follows the user device's color theme and can only be applied by JS when the actual website has loaded. Before the website loads, it will appear in its default theme (usually white) which causes an unavoidable flicker. And yes, this is unavoidable even in a pure SSR or static website. 2. Yes, animations are surprisingly good for increasing your product's value.
@specy_
@specy_ 10 месяцев назад
​@@okie9025you can solve this on SSR, you can save the theme as a cookie and apply it server side
@dzanful
@dzanful 10 месяцев назад
@@okie9025 That's not true, and I don't see the point in repeating what I said in the previous comment.
@DFPercush
@DFPercush 10 месяцев назад
@@okie9025 CSS has a "prefers-color-scheme" media query, that should resolve immediately before the page is rendered. A script could overwrite that with its own logic, but flickering before going dark is not an inherent part of how the web is designed.
@whatever63644
@whatever63644 10 месяцев назад
A comment on the animations on the web: It's there for those who appreciates the presentation, especially on the kinds of websites that are trying to be artsy-ish. The animations bring something unique to the idea you're standing behind, whether it's for an art project, or your portfolio. To quote a comment of my past mentor: "The Web doesn't necessarily have to be fast and optimized, as long as you are satisfied with what you believe in." As for dark mode, most of the time it's a fancy version of "Telling JS to add some class to some CSS somewhere", with additional project architect complexity. That's how I see it through all of my past projects that touched upon this matter.
@KittenKatja
@KittenKatja 10 месяцев назад
11:35 You can also right-click the back button, then, skipping multiple entries back, will escape the grasp of the JS hijack. The hijack is used by advertisement websites, that appear regardless of where you click on the previous website; very annoying, especially when it's not even an overlay element that triggers this.
@furinick
@furinick 10 месяцев назад
Just a tip vaguely related, if your mouse has 2 extra buttons you can use them to go back and forth pages, and it works everywhere, files, vscode, browser i have yet to find a place that for some reason doesn't support this
@KittenKatja
@KittenKatja 10 месяцев назад
@@furinick You see, those extra buttons go back one entry, not multiple entries at once, whereas with the right-click, you can go up to 6 entries back at once.
@SnowyRVulpix
@SnowyRVulpix 10 месяцев назад
Honestly, I don't care if I'm "living in the past". I'm not here to win a science faire, I'm here to make working websites. I use HTML5, CSS, Javascript, SQL and PHP (Which I note is used by some of the biggest websites in the world like Facebook)... and that's all I'll ever use. I don't need to make something as complex as Gmail... or even Facebook. All I care about is if my sites work, not if they are using the latest technology.
@mauriciobenjaminmossi8231
@mauriciobenjaminmossi8231 10 месяцев назад
The part about breaking things is so true. I build a newspaper website 2 years ago. Tried to perform maintenance on of these days, and it would not even run due to hundreds of dependencies that had breaking changes. I really mean hundreds.
@mattmmilli8287
@mattmmilli8287 10 месяцев назад
If you use nvm and keep your packages locked to specific versions, can always go back !
@MadsonOnTheWeb
@MadsonOnTheWeb 10 месяцев назад
@@mattmmilli8287 A solution for a problem that did not need to be there in the first place.
@whatever63644
@whatever63644 10 месяцев назад
​@@MadsonOnTheWebcare to elaborate? I don't see anything wrong with that.
@SteinGauslaaStrindhaug
@SteinGauslaaStrindhaug 11 месяцев назад
If I weren't "forced" to use React since that's what the project I'm employed to work on is using; I would definitely prefer plain JS and actual page loads for most of the stuff I'm working on. But annoyingly and somewhat ironically; while the massive bloat of the ReactDOM is unavoidable with react; and a few 3rd party JS dependencies that somehow always includes everything no matter how I try to code split; a much bigger issue on the website I work on is actually overly high res pictures and absurdly long content; plus and all that nonsense that is injected by the analytics team with massive scripts from at least 3 different analytics providers (that of course does not have proper cache headers that Google lighthouse complain about despite 2 of those libraries with incorrect cache headers are from Google!!!) and the A/B testing scripts that also are super heavy, causes layout shifts and REGULARLY breaks things because it's a script written by analytics experts that have no React experience directly manipulating the real DOM which messes up React components a lot.
@picblick
@picblick 10 месяцев назад
I love the PHP documentation both as documentation and as a website. It is soooo fast, so very focused on content, well written, correct, everything I want the web to be.
@MadsonOnTheWeb
@MadsonOnTheWeb 10 месяцев назад
PHP has come a long way. Updates makes sense unlike many other languages
@TheNewton
@TheNewton 10 месяцев назад
It lacks a pdf download , though gets points for having downloadable zips and chms files.
@sandeepvk
@sandeepvk 11 месяцев назад
_I had to literally uninstall all, but one browser to speed up an older macbook. This is the state of Javascript frameworks and their 1GB web frankenstein_
@microcolonel
@microcolonel 10 месяцев назад
My personal sites are dead simple clean markup with simple modern CSS. You can just write JavaScript on its own now, straight in the browser; it wasn't like that a few years ago. I have a generator for my blog and doc pages, it was not hard to write. I have a small bit of JavaScript to do interactive search in my posts/docs but it's optimized for that task. I kinda want to put together a series/tutorial on writing static and semi-static sites with your own lightweight tools. It's a great experience and gives a lot of control. I thinx I could do a good job with things like "here's how you keep your content indexable as long as possible", "here's how you manage locales and cross language alternates", "here's how feed readers expect to find your RSS/Atom feed", etc. I happen to be kinda 10x when it comes to stuff like this though, so it may be a bit unreasonable to expect people to follow in my footsteps lol.
@tabletopjam4894
@tabletopjam4894 11 месяцев назад
This is why I have a custom server framework that executes at server compile time, it also optimizes dead code out for the client so I only have performance penalties for what I use
@furinick
@furinick 10 месяцев назад
I barely fathom how that works but sounds cool as a solution
@AbWischBar
@AbWischBar 10 месяцев назад
Good to hear voices of reason. I started web development in the 90's, then spent a long time in desktop, mobile and embedded development. When I returned to web, Angular and React were the big new approaches. First time I tried it I could not believe the amount of installation a new project needed. And the happiness of developers to pull tons of libraries into their projects. Even for the smallest of problems, such as formatting a date, a library was added. And with it a ton of unstable dependencies, increased risk of vulnerability and as you say most of all sluggishness and a ton of code to ship often for no reason at all. I already fought these symptoms for desktop development, but on the web this is even worse, most likely because most web developers don't know the simple answers to their problems. But there is an overall tendency by decision makers to go for fast early shipment of a product, rather than neat and speedy code. And most overlook the backpack of problems you gather by relying on libraries that: - Change often - Are quickly abandoned - Give you a headache if you need something outside the feature set of these libraries, i.e. it is usually not easy to just fill a small gap or twist something to your needs Doing things from ground up only relying on a compact base framework takes longer initially but pays of in the long run. That is why I am a pure Svelte/SvelteKit user. And I wished some of these concepts would make it into core JavaScript so that we would not need any of these frameworks but had a common ground helping with structuring your dev work (that is mainly how I see Svelte).
@szymonbaranowski8184
@szymonbaranowski8184 10 месяцев назад
they try hard to choke themselves to death building next floors to a tower with too unstable foundation not seeing the problem is the whole tower itself and making it standard they keep everyone a hostage of this as companies hate to rewrite anything and start fresh in different technology things in js world grow like cancer cells and instead of healing they decide to live with multiple sicknesses calling them not system error but features
@netsudro
@netsudro 10 месяцев назад
I hated the SPA idea from the start. Taking over the browser's job of loading entire page is stupid. It is very hard to build sites with SEO in mind this way. I choose to work in a hybrid manner: html with css (well blade from Laravel and Tailwind), and if I need a a part of the page to be interactive, I just build a Vue component. Separating concerns is my main goal. Php does only backend stuff, and Javascript only frontend stuff. If some JS component breaks, I don't want to have the whole website down. Also, use the least amount of dependencies. If you import a library just for a function, you might be better of building the function yourself in the long term. Page speed is very important. Remember, most people don't have a high end phone or good internet connectivity.
@dallasurr
@dallasurr 10 месяцев назад
I did my webdev bootcamp in 2021 and we learned react, I took time away from programming for health reasons but am getting back into it now. I am so surprised that some of the things we learned in class are already obsolete. It was way easier to catch up and get back into things this time than learning the first time, but it's just been a lot of relearning stuff that doesn't work anymore lol
@jbuchan12
@jbuchan12 10 месяцев назад
I remember talking to my professors about node js back in 2012. Everyone, even the guy that wrote it thought it was a bad idea. We basically just got pressured and gaslit into thinking it was a good thing. It was all crap. Webassembly will hopefully help in the future. I remember when ebay moved to wasm and they said it was 10x the speed. I remember when i first used NPM and webpack. Actual garbage.
@cat47
@cat47 7 месяцев назад
i honestly don't think ebay even needs javascript for most of its pages
@thecoolnewsguy
@thecoolnewsguy 27 дней назад
At least, we have now Vite 😀
@bl1tz533
@bl1tz533 10 месяцев назад
"Just get a better computer bro"
@arnavpadwal4464
@arnavpadwal4464 23 дня назад
😂😂
@Dinesh-br5qd
@Dinesh-br5qd 10 месяцев назад
You should rename the video title to how react ruined web
@gordon7478
@gordon7478 10 месяцев назад
The problem for me with these frameworks is the developer experience. It's doing *too much* for me. I like to know what's happening, so when it breaks, I can fix it. My discomfort level with frameworks increases the deeper I get. That's not a criticism of the concept, just why I personally don't enjoy working with them. I will say that Svelte feels less like that, but majority of the time, that is just not how I do things, and I haven't seen any reason to do so. I might feel the necessity of the size, complexity, and now importantly, number of hands in the project, increased, but I'm generally a solo developer who maintains long-term relationships with my clients, and I am not building enterprise SaaSes for corporate clients with 300+ users apiece. In building websites and relatively simple web apps for a smallish businesses. I think we can handle this with our ol' pals HTML, CSS, JS, and a dash of jQuery, for spice. You'd be amazed what a bit of careful planning can do (while *you* might not, but the kind of dev that decided to learn React *before* JS, might 😳).
@TheNewton
@TheNewton 10 месяцев назад
Yeah internals documentation is always severely lacking and hopping through them in a debugger is always a mess to mentally untangle.
@camelotenglishtuition6394
@camelotenglishtuition6394 11 месяцев назад
You hit the nail on the head with this .. great job
@johnpalmer5131
@johnpalmer5131 11 месяцев назад
Yes, I agree. I am old enough to remember remember when performance not ease of use was the hallmark of software.
@alexstone691
@alexstone691 11 месяцев назад
When i made a custom website the only javascript i used is the one necessary and i did initially use bootstrap but im moving away from it, the theme quick toggle javascript is absolutely necessary imo
@JamesSmith-ix5jd
@JamesSmith-ix5jd 10 месяцев назад
dark, light, black theme switcher is like 50 lines of JS code, site independent, just copy it attach to your button and that's it, I never used frameworks, am I crazy or what?
@alexstone691
@alexstone691 10 месяцев назад
@@JamesSmith-ix5jd depends on the person and especially browser support, if you want IE etc, im no web dev but i know many web dev should stay far away from code
@kr4k3n_289
@kr4k3n_289 10 месяцев назад
I’m building my personal website with Astro right now. And it’s really cool I can pick specific component to have the interactivity it needed.
@murtadha96
@murtadha96 10 месяцев назад
I was also thinking of building my own website with Astro, it feels like the balanced way to go about this. Static by default, interactivity is added when needed, and different paradigms of rendering depending on need. Basically, opt in complexity instead of "required" initial complexity.
@mosch1811
@mosch1811 10 месяцев назад
Really hope for better client side routing for the future. Server site routing feels weird and extremely slow.
@SpaceLime
@SpaceLime 11 месяцев назад
Great video! I fully agree with your main points... the web is really a pain to use these days. Although I think you made an incorrect statement talking about Gatsby... You said it has to run javascript before showing any html. But Gatsby generates static pages so that neither the server, nor the client needs to generate the html.. it's served prerendered, which means initial render on screen is really fast. Then it uses JS in the next step to hydrate so of course "time to interactive" could still be sluggish.
@Alien426
@Alien426 11 месяцев назад
That sounds like you fell for marketing talk. If there's another step before payload is displayed, then it's not a static page at all. Whether it's called "hydration" or something else is irrelevant. Another framework that is part of the problem. If you want the solution, get rid of frameworks entirely!
@SpaceLime
@SpaceLime 11 месяцев назад
@@Alien426 Not sure what you are arguing against here... I said that the initial paint is very fast, but that TTI can be sluggish. And don't worry.. I havn't fallen for any marketing talk. I'm speaking from years of trial and error as a frontend developer. In fact I really dislike Gatsby because it's bloated and build times are really bad. All I'm saying is that most of html is served on the first fetch unlike Create React App for example.
@SpaceLime
@SpaceLime 11 месяцев назад
...and that the first fetch will be very fast since it's serving a static site, meaning it's actual static .html + .css files on the server, not server side generated markup.
@aidantilgner
@aidantilgner 10 месяцев назад
I'd be interested in hearing your take on the Astro framework. It seems to combine the best of both worlds by allowing static site building, hydrated framework components if you want them, and even an SPA mode if you really want it now.
@7katter-gr2nn
@7katter-gr2nn 25 дней назад
what vscode theme do you use?
@RealCaptainAwesome
@RealCaptainAwesome 10 месяцев назад
I am looking into building my own website and with all the tools out there it gets overwhelming and since I'm primarily a back end developer all the UI stuff is hard to navigate. I just want a simple website that my wife can update. I have tried word press and it is okay but I haven't messed with php in over a decade. Any advice on what tools to use?
@nonetrix3066
@nonetrix3066 10 месяцев назад
Svelte and SolidJS are definitely better since they are compiled and don't use a virtual DOM. I would prefer people not use JavaScript for things that are really basic, but if you are going to or have to use those two or something like it or just use vanilla JavaScript. Right now currently writing a Fediverse client in Svelte, which I think is a example of a decent use case
@user-fl1dr8tr3t
@user-fl1dr8tr3t 11 месяцев назад
What do you think about SolidJs, which has 8kb of JavaScript, or Svelte which compiles to vanilla JS?
@mornwind318
@mornwind318 2 дня назад
He doesn't think, this is a rant out of a bad faith argument.
@gireeshbhat4158
@gireeshbhat4158 10 дней назад
BTW loved your WM setup.
@xraptor94x
@xraptor94x 10 месяцев назад
In my company, we use a single page app as a software for databank transfers. There we also use a framework called SAPUI5 which i hate to work with because it is bloated as nothing else. Though we use it only for a locally stored application for users to communicate with a databank, which makes it less of a hassle i guess. But i think from what i learned, these frameworks are not a good tool to write larger multi page websites. Mini Rant incoming: And sometimes abstractions annoy me. I came initially from C/C++ development. And there i learned to think how a machine allocates memory and controls them. There are frameworks for me that are harder to use then just writing C code. It is still faster since it is abstracted, yes. But i think when i would write a few functions, i would save the same time with less bloat. But i have to work in my company rn with JS and not C. I still like JS in itself, but the framework obsession i see reminds me of the OOP obsession a while back. OOP also is today still in use, but not as mythologized anymore as it was back then in 2012 and before. It is a useful tool. But a useful tool doesn't mean good for every need. When you make abstractions and distance yourself from the machine, you will lose processing power in some way. That is not necessarily bad as it makes working with it easier to some level. But it just becomes bad when you overdo it. Most of the world doesn't have also internet connections that can keep up with it.
@JamesSmith-ix5jd
@JamesSmith-ix5jd 10 месяцев назад
it is faster because you don't write anything you just import a ton of libraries and pray that they don't explode one day. Actually C/C++ are not that different, let's say you wrote something in Qt4, then didn't maintain it for a decade, will it compile today? of course not.
@xraptor94x
@xraptor94x 10 месяцев назад
@@JamesSmith-ix5jd EDIT EDIT: Sry inb4. I wrote a longer comment then i expected. I just cut around 50% of my previous comment The amount of libraries you use in C++ usually isn't even close to as bloated as the Javascript libraries i had to use (usually with a few exceptions such as game dev). With C and C++ it is often more important to know your standards when using most libraries. But yes, you are right that time will also be an issue there, specially when the operating system changed a lot through updates (In Linux case) or through newer versions of the OS (Windows case). And both makes compilation harder when you did not store the libraries somewhere. Though C/C++ is less dependant on changing standards then JS when you run it in the browser. my issue is also not writing. Yes, you are faster there with frameworks. But my point was the processing power, which i think a web application suffers way more from then a natively run application. Specially when it comes to network stuff i think the bloat should be a bit cut down since most people in the world have slow connections. (Including me a few months ago since i live in a village) EDIT: I want to clarify since i think i phrased it badly when i read it again, i do not say there are no bloated libs in C/C++. And specially in game dev or other graphics stuff there are heavy weights out there. However i didn't work with as many there as with Javascript since it seems many sites rely on it. Also running a program natively on a machine or through the web makes a huge difference in processing stuff. That is why my focus also was more on JS. I personally never worked with Qt though. I can't tell there much but due to the nature of this API, yes. I think it can have similar issues.
@latentdiscourse4357
@latentdiscourse4357 10 месяцев назад
I literally cannot use some websites when my battery is already low. My phone throttles itself mostly on news websites because of how hot it gets while loading. It’s crazy. And I only have an iPhone SE 2nd gen
@Fighter178
@Fighter178 10 месяцев назад
Svelte(kit), in my experience, is pretty good. It is a compiler, which compiles to native JS, with no virtual DOM, which improves performance (on avg), as it doesn't have to calculate changes. Also, SSR with SvelteKit hydrates it on the server.
@3lH4ck3rC0mf0r7
@3lH4ck3rC0mf0r7 5 месяцев назад
Honestly, the only major things I bothered to learn to improve my webdev experience is figuring out how to make design mockups, vector-based objects and animations for the web in Inkscape, and make portable WebComponents in vanilla JS. Just those things alone (and a healthy dose of borrowing from CSS component libraries big and small) allowed me to keep up with frameworks for the kind of barely interactive websites I get asked to make. Not to mention starting out in a visual-first workspace before writing a single line of HTML makes it easier to come up with a unique, yet still good-looking design. And I can go back to the codebase years later, no problem. Was fortunate enough to never have to deal with Node dependency hell on the projects I had management power over. My custom components are still usable after Angular got replaced by React. And I will still be able to keep reusing them unaffected long after React is gone. I ported entire docs pages over from one framework to another in less than 10 minutes because the entire things were autogenerated from Markdown and LaTeX files. Standards tend to outlive frameworks.
@fluffydoggo
@fluffydoggo 10 месяцев назад
I am making a library for discord bots, and I was working on message content commands (a.k.a ?ban, ?mute) and I was integrating it with the slash commands discord provides and I actually decided to benchmark the message content parser and found that it was really slow. As a result, i decided to step back and redesign the entire message parser, as I cared about the performance. Devs seemed to not care about performance now a days
@ryanleemartin7758
@ryanleemartin7758 9 месяцев назад
I'm starting to believe that even moderately interactive web apps can use something like htmx. Use a bit more JS for the interaction and leave the rest to fetch / dom updates for targeted html page updates. Combine that with web components built with something like Lit and it gets even more interesting. I'm not sure but I wouldn't be surprised if >90% of web apps could do this and drop React or Vue entirely. React had this very persuasive pitch when it first came on the scene which was "Rethink Best Practices". It turns out that may have been a huge blunder..until now.
@fedoraguy5252
@fedoraguy5252 10 месяцев назад
I'm a python dev don't do much web dev but I can relate. The issue of devs living and dying with there frame works is a issue in all languages. I have seen plenty of Django devs who had very little understanding of python.
@ScribblebytesWorldwide
@ScribblebytesWorldwide 11 месяцев назад
Yeah I thought this was just me. I turn off Java in the settings and websites load in less than a second. But with it on it loads up to 30 minutes and then crashes.
@okie9025
@okie9025 10 месяцев назад
Not sure why this video goes over so many barely connected topics. It should talk about how JS (the programming language) ruined the web, but it talks about: 1. How some nasty websites use too much JS which slows it down (absolutely not a problem with JS itself, and I'd argue this overuse is particularly popular with "classic" devs that use JQuery and WordPress) 2. How some devs use JS frameworks for non-interactive websites (still not a JS problem, and React is not the only JS framework) 3. The npm ecosystem (barely a JS problem, and some full-featured frontend frameworks like Svelte have only 16 dependencies) 4. Performance and load times of websites (true for ordinary JS frameworks, meanwhile every single hybrid/SSR JS framework (like NextJS, which is the *official recommended way to build a React app*) has an entire chapter dedicated to reducing JS bundle sizes, reducing load times, and making sure the website works without JS completely loaded) 5. Hijacking the back button (not a problem with JS) I also noticed that none of the code in the video is using Typescript, which makes me think that the websites you develop have no more than 1000 LOC. At this point, saying that "JS frameworks are ruining the internet" doesn't mean anything, because the benefit of those frameworks come when your project is made of hundreds of files, tens of thousands of LOC, multiple sub-projects, non-standard data flows (realtime connections), or works in non-standard environments (React-ink for example).
@specy_
@specy_ 10 месяцев назад
All the people I see complain about programming or Frameworks in general never worked on a big project. You never really understand how good/bad/easy/hard something is unless u do it big. I have a fairly large react codebase that Is a rewrite from using plain js, it is MUCH better both from DX standpoint and performance/UI UX.
@moritzschuessler
@moritzschuessler 10 месяцев назад
@@specy_ Its better for ur usecase. Wont be a universal better solution
@moritzschuessler
@moritzschuessler 10 месяцев назад
Devs add a shitton of ads and trackers, use the wrong tools and write overall bad inperformant code - RU-vidr: 'react makes website slow'
@specy_
@specy_ 10 месяцев назад
@@moritzschuessler ofc, the use case is having a big project, which a framework makes way easier
@Frederic_Chopin.
@Frederic_Chopin. 10 месяцев назад
Literally the first piece of react code he shows is in TS
@ViTaLC0D3R
@ViTaLC0D3R 10 месяцев назад
I think a good example is the New York Times demo during the demo of original iPhone looks smooth. However if I load the New York Times of today on my top of the line iPhone it feels like dial up.
@HarleyDavidYT
@HarleyDavidYT 11 месяцев назад
i've been studying html and css for a month now, and some friends said that it would be better to finish these studies as soon as possible to learn java or javascript, are they right? i don't know exactly what to study after the html and css...
@Eloii_Xia
@Eloii_Xia 11 месяцев назад
Java is for the backend, JavaScript for the frontend (mainly). So it depends on what you want to do. Personally, I'd strongly recommend learning accessibility, SEO and WAI-ARIA guidelines if you're looking to focus on the frontend!
@emptybottle1200
@emptybottle1200 11 месяцев назад
continue learning your way to javascript, that three is the standard things in web dev. html css javascript.
@specy_
@specy_ 10 месяцев назад
You can't really do webdev without js, I'd focus on that first, then java
@nathanialharris3300
@nathanialharris3300 10 месяцев назад
There is no finish, just a shift in focus. All of this stuff is constantly changing. I'd probably do some back end stuff at the same time, even if it's just barely enough for your front end to send requests to. Or set up Postman to respond. Options to pick from: Front-end htmx JS Solid or Svelte or Vue React (yuck) Back-end Node (bonus, it's also JS) C# (yuck) Php (people hate on it, but I like it) Or take a detour. Take a couple days to do some client side form validation for both US and Canadian postal codes, or phone numbers, using the pattern attribute. Regex are amazing.
@TeamPuzel
@TeamPuzel 10 месяцев назад
If native web APIs like WebComponents didn’t suck people wouldn’t need such basic frameworks. Everything about the web down to the very foundation, like http being a text format is inefficient and bad, nothing was designed with the complexity of modern websites in mind obviously.
@gloweye
@gloweye 10 месяцев назад
In my experience, modern "UX design" is a huge part of the problem.
@Sage-ig9hk
@Sage-ig9hk 4 месяца назад
As someone just beginning to start learning computer science, I think there’s something to be said for learning just what you are actually doing instead of relying on fancy tools. I started programming using python in the terminal! And I learned so much more than if I had jumped straight into something like vs code. Maybe this is because I learned from my dad, who has been in the computing field since the early 80’s and still mainly codes in Fortran using the terminal and text editors
@ProjSHiNKiROU
@ProjSHiNKiROU 10 месяцев назад
Why won’t build tools delete functions you don’t use so the JS bundle is smaller? There is already one (Webpack tree shaking) but it’s very hard to set up and it can’t optimize away framework bloat.
@szymonbaranowski8184
@szymonbaranowski8184 10 месяцев назад
web with js frameworks is like windows your refresh button slowly becomes the reset button - universal blue screen solution
@gargara123456
@gargara123456 10 месяцев назад
I don't know what projects most of you are working on, but me as a Javascript Engeneer am working mostly on pretty complex web applications. Obviously you are right that static websites does not need frameworks at all, but what clients these days wants are nothing like a statick websites. They mostly want highly interactive data-driven applications with user tracking and state managment. Personal website, blogs etc... are not excistant anymore, becuse company representation moved to social networks, so any small busineess these days does not have a website, but a twitter account, restourants does not have page for takeout, but the app FoodPanda for example, takes care of that. Websites are nothing like websites but are fullyblown programs that do stuff, practical stuff, not scrolling pics. Once you get a real work like a programmer you may understand why frameworks and libraries are needed, also the technology moves on these days even phones now have more ram then before and companies do not care about your broke granny not being able to open 2 tabs in chrome.
@mosch1811
@mosch1811 10 месяцев назад
You pretty much added more value that the video. Bashing on frameworks that was used without real reason since plain HTML and CSS would be fine, is dumb. Same as using a million trackers and ads and then bashing JS for it is equally dumb
@felkan
@felkan 10 месяцев назад
I like opinionated frameworks (i.e. Angular) as it’s efficient for my big team working on a VERY complex application. Angular also comes with a bunch of features and a great CLI tool so life gets easier. Sure, we could do everything in vanillajs but we ain’t got time, deadlines need to be reached and I’ve gotta put food on the table.
@PwnySlaystation01
@PwnySlaystation01 10 месяцев назад
Couldn't agree more with this, and while the web is clearly the worst example, all modern software seems to be like this. Here's what I've learned about that "developer experience" trickle down effect. It's almost NEVER true that easier development = better user experience. Seriously almost never.
@DFPercush
@DFPercush 10 месяцев назад
Reminds me of Molly Rocket or Jon Blow talking about performance in modern software.
@PwnySlaystation01
@PwnySlaystation01 10 месяцев назад
@@DFPercush Yes exactly and I think they're right on! It's nice to hear it from career developers, since in my experience a lot of developers care so little about performance.... Actually that's not really fair, most PEOPLE don't seem to care about performance anymore. Everything is slow now. Processors are hundreds or even thousands of times faster than they were a couple decades ago, yet software is slower. It's awful. But the web is a special kind of awful. Not only is it SLOW, but it's overly interactive. Sounds counter-intuitive, but I don't want autoplay videos following me down the page, newsletter popups, sites that rearrange themselves as they load, constant mouse-over events etc. Seriously I was around back in the 90s and early 2000s when the internet was popup + GIF central, and I honestly think the web is WORSE now than it was then! And that's really saying something. OK rant over heh
@DFPercush
@DFPercush 10 месяцев назад
@@PwnySlaystation01 Yeah, it's crazy how hard the chip manufacturers have worked to enable us lazy developers to say "good enough" and ship slow but "passable" garbage. Don't get me wrong, I'm glad I don't have to count every cycle and pull clever hardware hacks out of a hat like early game developers on something like the Atari or NES, but a basic sense of what your hardware can do and what makes things slow goes a long way. If you think about it, the web was originally designed as a document delivery system, not an application runtime. If the browser was intended to be a thin client for a full application stack, I think the protocols would look a lot different. Having that capability is frankly very nice, it allows people to use services without downloading and installing suspicious .exe files, and share stuff, and all that, but it gets really annoying if all you're expecting is a document.
@PwnySlaystation01
@PwnySlaystation01 10 месяцев назад
@@DFPercush Yeah the browser is essentially an operating system at this point. Just in general, I do worry that we've abstracted so far away from the hardware that there are maybe two generations of developers who genuinely don't know how the hardware actually works. Like they have a vague, super-simplified idea, but couldn't really tell you how their code actually gets executed on the CPU. I'm worried that when the old timers are gone, nobody who writes programs will know what their programs are really doing anymore. Game development (more specifically, engine development) is one of the VERY few areas where a relatively deep understanding of the hardware is still valued. It's like, compiler developers, game engine developers and super niche ultra-performant developers ie: financial trading systems etc.
@mushroomcrepes4780
@mushroomcrepes4780 10 месяцев назад
I made my portfolio in nextjs and js ended up being 0,5 mb which is like the size of 10 pictures on my site... Not to mention that all my npm modules were 400mb combined.
@Alien426
@Alien426 11 месяцев назад
10:35 That is very important. Some years ago I was limited to a few GB of high speed traffic per month. When that was over I couldn't even complete a purchase because the shop was so convoluted, required all scripts to be loaded and prevented the use of cache. Developers had better use tools to simulate slow bandwidth and CPU instead of getting excited about the latest fad framework. 14:18 You can see how "modern" editors and code completion are terrible. The coder has to fight these features instead of just writing code. When he has to go without he is lost because he never committed the code to memory. A barrage of suggestions at every keystroke; I rather have a calm editor and code with intent.
@JamesSmith-ix5jd
@JamesSmith-ix5jd 10 месяцев назад
chrome will put your old pc on the knees anyway, what's the point of optimizing the site
@erc8311
@erc8311 10 месяцев назад
As someone just getting into web design, for family owned businesses and churches in particular, this problem hits different. The entire web development and design community is trending towards resource intensive code, end users with older, slower devices get left in the dust. For these small businesses, they *need* to cater to everyone. Making a cool website that 20% of the world can enjoy is useless comforter to making a simple website that 90% can enjoy.
@neptronix
@neptronix 10 месяцев назад
I'm using HTMX lately for 99% of my frontend lately. Many times easier than working with any form of JS frontend development, and produces close to zero load on the client's web browser.
@lucasleonardo2111
@lucasleonardo2111 10 месяцев назад
HTMX is so great and easy to use
@szymonbaranowski8184
@szymonbaranowski8184 10 месяцев назад
how canvas works in it?
@neptronix
@neptronix 10 месяцев назад
@@szymonbaranowski8184 any HTML should work fine.
@kjartannn
@kjartannn 6 дней назад
fwiw you should expect breaking changes from a new release major if the software is versioned with SemVer. that is what the major release is for.
@DamnableReverend
@DamnableReverend 9 месяцев назад
I've been using the internet since the mid-90s; I'm also a non-visual user who uses a screen-reader to access all applications. Everything for me is pretty much text only, just the way the early web was. I know we're not going to return to those days and I wouldn't want to make the web boring for everybody else, but I have watched the web get clunkier, crappier, slower, more bloated -- just as technology, including screen-reader technology, gets better and better. A week doesn't go by where I don't wish for a return to a "simpler" (and more practical) time, and I kind of hate that I feel this way. So, I appreciated this video.
@minor12828
@minor12828 10 месяцев назад
I completely agree with you sir. Same thing with classic hosting and the cloud.
@neociber24
@neociber24 28 дней назад
Is interesting listening this point, because mainly your point is "SPA = bad" (is an oversimplification), but there is a lot of resistance to going back to fully SSR and do less things on the client.
@jarnoojasaar
@jarnoojasaar 10 месяцев назад
I like the way I can animate page transitions with nextjs :P
@confusinggameplays1687
@confusinggameplays1687 10 месяцев назад
I'm a new web developer, I've started learning, I'll try to incorporate this into my knowledge and super optimize my JS usage.
@szymonbaranowski8184
@szymonbaranowski8184 10 месяцев назад
to make something fast best tip is to limit steps something needs to give output but limiting things to show works also we forgot all magic from early days of internet when with small simple things you could build huge effect
@confusinggameplays1687
@confusinggameplays1687 10 месяцев назад
@@szymonbaranowski8184 I did code my first website and the only time it uses is when It first needs to check if the user is on mobile so it can redirect them to the mobile page and the other is a button to change the page to Dark mode ot Light Mode.
@mosch1811
@mosch1811 10 месяцев назад
⁠@@confusinggameplays1687why make a mobile page when u just can make it responsive with CSS Media queries?
@ivanschekoldin7315
@ivanschekoldin7315 24 дня назад
My thoughts exactly…when i just get into webdev. Not now though. You need a framework for speed of development, ease of collaboration and scalability. In large projects that can scale and change the vector of development you even develop a framework based on a framework because it gives better results
@MathGoOli
@MathGoOli 10 месяцев назад
We web devs just change from servers load the pages with old HTML and PHP to browsers load the pages with react. I think we should find a balance between this to ways of build webpages. Next.js is a good framework for this. I've used to say that there is only two types of programing languages. the one the we complain and the others that no one uses. maybe this is the case for web frameworks too. Nice video by the way!
@shreddedWheatz
@shreddedWheatz 10 месяцев назад
Part of this is also offloading some of the processing power from the server to the client.
@LeopardDrager
@LeopardDrager 26 дней назад
I remember when I made an iPhone lookalike emulator I used five lines of js, and those were just for on button press and when button not press.
@OriginalStachuJones
@OriginalStachuJones 10 месяцев назад
I am SAPUI5 developer - i got a task to develop a Fiori app which would change column amount dynamically - user could select 1-x amount of column and these columns should have data aggregated by days or weeks or years. Yeah - oData cannot be extended like that so I was doing it in JS. Imagine how big could app get before I generated everything over there. A nightmare
@lronmate
@lronmate 25 дней назад
The next version of React introduces server components, where static content no longer sends JavaScript to be parsed in the way it was before. Huge win for combining reactivity with static content. I do agree though that if it’s almost entirely static content, using a JS framework is probably overkill
@emgodas
@emgodas 27 дней назад
So basically ive been trying to work with react for couple months now and still get overwhelmed. I was thinking to switch back to normal way of html, css, JavaScript web development and this video made my thinking clearer and i ended up deciding basic web development is more suitable
@erdemmemisyazici3950
@erdemmemisyazici3950 10 месяцев назад
You hit the nail on the head there. You can minify Javascript which does improve performance slightly but you don't need any of it really. It's interpreted just the same. You can compile Web Assembly which actually does run faster. There is also the security nightmare the thousands of dependencies cause. I liked Dojo and Dijit when it came out. They took over the cross-browser compatibility headaches. Typescript made me scratch my head a bit given it's for Javascript ... on the client side ... but then I realized it does make developers think more carefully leading to easier code maintenance long-term. I still think lighter is better on the front-end but I must say Vue and Vuetify while bulky does provide a more familiar experience for users. That's more based on the current culture however. Users expect to see things like shiny snackbars, parallax scrolling headers, badges etc. but that's psychology and not best performance. It changes while the bare metal remains the same. In fact CSS came up solely to reduce the need to use Javascript. I remember how clever nested menus were made purely in CSS and since it's native to the browser it still performs the fastest. Real headache is browser compatibility at the end of the day but they are doing much better today than back in I.E. days so indeed HTML5 alone provides most of what you need for a decent website.
@johnpekkala6941
@johnpekkala6941 25 дней назад
I once heard a very good say about these frameworks including Node regarding things like their use on way to simple webpages like a blog wich dont really needs that kind of complex functionality :"You want a banana but then you will also get the gorilla holding the banana plus the entire jungle".
@doltBmB
@doltBmB 29 дней назад
Microsoft had the right idea back in 2009. "The beautiful web." Meaning, pages are fast, not in synthetic benchmarks, but in meaningful user-facing ways, fast to load, fast to render, fast to respond, smooth scrolling, smooth animations etc. This definition of beauty demands a certain level of minimalism on the part of the website, and a shift in focus on browser performance from javascript benchmarks to render performance.
@scifino1
@scifino1 27 дней назад
At work, we use Django in the Backend and mostly vanilla JS in the frontend. (Django by default comes with a jQuery installation, but if you don't use that it won't be loaded.)
@judewestburner
@judewestburner 10 месяцев назад
Over a decade ago I created a PWA targeting the iPhone using jQuery mobile. I guess we're talking the iPhone 4/5 era, it took about 5 seconds to load up which I just accepted thinking it was the loading time for the full screen safari to come up, and building native because of this was a distinct possibility. One day without even thinking I just ran an index.html file full screen with not much on it and it came up before the screen finished that slow iOS transition. It was a true eureka moment. Since then every mobile first PWA I've built has been html and vanilla js, with zero plugins.
@ShadowOfTheSPQR
@ShadowOfTheSPQR 10 месяцев назад
My web design looks like high school projects, but hey, at least it's relatively fast and nostalgic. This certainly validates my spartan html, css and very sparing dash of JS mentality.
@szymonbaranowski8184
@szymonbaranowski8184 10 месяцев назад
Sparta limited everything not for sake of minimalism but to maximize core points to legendary level and they also cheated a lot😂
@ShadowOfTheSPQR
@ShadowOfTheSPQR 10 месяцев назад
@@szymonbaranowski8184 wat
@heckerhecker8246
@heckerhecker8246 10 месяцев назад
I wouldn't say Javascript ruined the web, I would say "People using javascript frameworks that aren't needed for the current site ruined the web"
@heckerhecker8246
@heckerhecker8246 10 месяцев назад
feels a little clickbaity
@moritzschuessler
@moritzschuessler 10 месяцев назад
i would add another thing that ruined web. Its a shit ton of trackers and add that are intentional used. Even most of the examples used here wasnt bad because of bad devs or react. Its just the trackers and ads. Use a ad-blocker and block trackers and all of these horrible newspaper and recipe sites will be fine
@heckerhecker8246
@heckerhecker8246 10 месяцев назад
@@moritzschuessler Yeah, even tracking cookies that auto recreate themselves exist, I don't know if those are possible anymore.
@moonasha
@moonasha 10 месяцев назад
really explains why youtube suddenly turned into a slow buggy disaster one day, where it takes 5 seconds to reload the page. It used to be so much faster... edit: I just plugged this videos' URL into google's own performance tester, and it failed the Core Web Vitals Assessment LOL. 4 second load... just oof
@SalticHash
@SalticHash 10 месяцев назад
I started using vue but in cs50 when i found out of flask i loved it.
@LuanLuizTI
@LuanLuizTI 10 месяцев назад
for outside use i think you are correct, no need for a single page site, but for company use, sales, and everithing that need computation on client and server side any framework is good, i don't know why we got out of jquerry, simple and light weight, now everithing is with some framwork that need node.js for something i can work with most of them but dam i love jquerry simplicity
@TheNewton
@TheNewton 10 месяцев назад
These practices also break the view-source experience in browsers creating an ignored pedagogy problem undermining the curve for exploring web development. An ignored problem because experienced developers can be no longer capable of seeing the noise being created* as a bad thing. While breaking the view source experience for ourselves is moot because we have the mental maps to understand what's going on "modern" web-dev is constantly pulling the ladder up behind itself making websites more and more inscrutable for new learners or the curious the ever dare to press ctrl+u in their browser. Users either just curious about websites or wanting to look under the hood now get a coin flip of either a shell with MB"s of minified js to load , or divitis infested with CSS classes that are a generated character soup; which also breaks the concept of userstyles & userscripts. Of course it's easy to meet any criticism of this is with "just open devtools" but that is a mind numbingly oblivious take to equate ctrl+u to devtools pushing new learners or the curious into the deep end. And even for the experienced if get in a situation were you can't debug through the DOM and have to try and debug the html output goodluck backtracking that mess. *"You get used to it, I don't even see the code, All I see is blonde, brunette, redhead" ~Cypher from the matrix movie
@Riteshkrpanda
@Riteshkrpanda 11 месяцев назад
12:07 isn't that a problem ? Like I am learning web development and i am told to load the javascript after the html so no problem arrives
@EricMurphyxyz
@EricMurphyxyz 11 месяцев назад
Yes, you should load the JavaScript after the HTML, but some JS frameworks initially ship no HTML to the browser and render it all dynamically with the JS framework, which causes issues
@psychoclips6817
@psychoclips6817 11 месяцев назад
I really hope that webassembly leads to other languages being used for the web other than js.
@NINJAxxLEMUR
@NINJAxxLEMUR 10 месяцев назад
@@JamesSmith-ix5jd Is that true? I think it actually is better performing than JS.
@NINJAxxLEMUR
@NINJAxxLEMUR 10 месяцев назад
I've really enjoyed using blazor, it works pretty great.
@mosch1811
@mosch1811 10 месяцев назад
Do you really think that other languages won’t be fucked when loading 10m trackers + a shot ton of ads?
@psychoclips6817
@psychoclips6817 8 месяцев назад
​@@JamesSmith-ix5jd WASM is complied to binary and then executed by the host in a sandboxed environment. It is important to note that yes the browser is managing the overall sandbox but WASM manages to bypass the need for an interpreter. This does lead to significantly more efficient execution.
@psychoclips6817
@psychoclips6817 8 месяцев назад
​@@mosch1811 Its totally possible. But if someone has already gone to the length to use a more efficient execution in another language, it would not really be in line with their strategy to then bog down what they are serving with bloat from trackers. Additionally I think developers need to stop indulging bad behavior.
@michaela.delacruzortiz7976
@michaela.delacruzortiz7976 23 дня назад
It's the influx of new and young developers. They are just learning the ropes, it's completely natural. As new developer generations come in it's quite hard to expect them to know the decades worth of js optimizations out of the gate.
@asuka_405
@asuka_405 Месяц назад
well i implemented my own little js router +component manager so that it'll be fast and have a godod devx at the same time, only problem is that im my case back btn has been highjacked by my router so you can't exit the site without clicking it multiple times 😅
@moritzschuessler
@moritzschuessler 10 месяцев назад
TLDR: Devs add a shitton of ads and trackers, use the wrong tools and write overall bad inperformant code - RU-vidr: 'React and JavaScript makes website slow'
@shgysk8zer0
@shgysk8zer0 10 месяцев назад
I prefer having the mindset of proposing alternatives (or at least describing them) and finding maybe solutions to the use cases such frameworks are used in. This is why I'm excited about the Navigation API, URLPattern, web components, import assertions / attributes, etc. There is a pretty strong emphasis on natively providing for much of what these frameworks provide, and I'm excited to see when these proposals are all usable in production.
@fdwr
@fdwr 10 месяцев назад
Hmm, I actually disable JS by default on all websites (only enabling on a per-site basis). It is ocassional that website is so dependent on JS that even stupidly simple static webpages do not display their content, and for those websites, I just click the Back button...
@codingtranquility
@codingtranquility 3 месяца назад
I also have a huge problem with npm/dependencies in general. A lot of them could be avoided and written by themselves, but the fact that so many people rely on them and inject someone elses code that they themselves don't understand is alarming.
Далее
The Shady Business of VPNs
16:54
Просмотров 12 тыс.
Nobody Understands Online Privacy.
14:11
Просмотров 161 тыс.
100😭🎉 #thankyou
00:28
Просмотров 25 млн
How Mozilla Ruined Firefox
14:25
Просмотров 302 тыс.
What Ever Happened to Audacity?
12:26
Просмотров 316 тыс.
Why I Like Programming in C.
3:16
Просмотров 16 тыс.
I wasted my 20s online.
12:34
Просмотров 64 тыс.
Why Do I Care So Much About Privacy?
15:30
Просмотров 238 тыс.
Can You REALLY Trust Proton Mail?
16:57
Просмотров 169 тыс.
YouTube sucks now. Here's how to fix it.
16:47
Просмотров 37 тыс.
A Demonstration of Modern Web Bloat
11:55
Просмотров 127 тыс.