DEV Community

Cover image for Stop Chasing New JavaScript Frameworks: Build with Fundamentals Instead 🏗️

Stop Chasing New JavaScript Frameworks: Build with Fundamentals Instead 🏗️

Matt Lewandowski on March 20, 2025

If you've been a web developer for more than five minutes, you've seen this pattern: every few months, a shiny new JavaScript framework emerges, pr...
Collapse
 
hhvdblom profile image
hhvdblom

I write Javascript for more then 20 years. Did jQuery and Angular. But now Javascript with ESM is good enough to program even big web apps with plain Javascript.

Collapse
 
tracygjg profile image
Tracy Gilmore

We must remember the golden rule: Just because you can (write it in JS) doesn't mean you should.

Collapse
 
keyru_nasirusman profile image
keyr_syntax

To program big web apps, Typescript is best.

Collapse
 
r_vantwisk_2f2fb216ebc2 profile image
R. van Twisk

Not typescript, but making modules loosely coupled is best. We work with hundreds of people on a single app. It does work when done right.

Collapse
 
dannyengelman profile image
Danny Engelman • Edited

comment: We must remember the golden rule: Just because you can (write it in JS) doesn't mean you should.

Maybe the golden rule should be: If you can write it in less bloated JavaScript, maybe you should:

// one helper function every Framework also uses
const createElement = (tag,props={}) => Object.assign(document.createElement(tag),props);

// define <my-counter> Web Component
customElements.define( "my-counter", class extends HTMLElement {
  constructor( count = 0 , increment = 1) { // Web Component can be extended with different initial state
    super() // sets AND returns 'this' scope
      .attachShadow({mode:"open"}) // Optional!! sets AND returns this.shadowRoot
      .append( // not in IE Browser, old geezers use appendChild, append can do more
        this.button = createElement("button", {
          innerHTML: `Clicked <span>${count}</span> times`, // only change that span!
          onclick: e => this.button.querySelector("span").textContent = count += increment
        })
    )        
  }
})
Enter fullscreen mode Exit fullscreen mode

live JSFiddle:

Collapse
 
foluso_adebisi_f2d2a73754 profile image
Foluso Adebisi • Edited

Maybe the golden rule should be: If you can write it in less bloated JavaScript, maybe you should.

With this "Golden Rule" in mind, something becomes very evident in the article. Of all the sample codes in there (i.e React, Vue, and Svelte), Svelte seems the most concise; and isn't bloated at all. It has everything going for it, except the compilation; which I think is a good tradeoff for peace of mind!

Collapse
 
dannyengelman profile image
Danny Engelman

I did a project with early online IDE Svelte.

I wanted to run it again the other day... alas I ended up in upgrade hell, it doesn't run any longer in Svelte 5

I am sticking with native; 100% sure there won't be any unwanted upgrades in the next 30 JavaScript years.

Collapse
 
almaren profile image
Alexander • Edited

If you stop chasing frameworks you will never get a position nowadays!

For self projects using raw solutions saves time. But I regret that my released apps written in vanilla Java with old architecture styles, and I don't have time to recreate whole projects that fully accomplish their functionality.

I am old android developer & java backend dev, and ex vanilla JS dev. Nobody cares that I know under the hood in different areas, they only need frameworkers with 5+ experience on each framework!

Collapse
 
apex_jnr_6fd85ae801ed2b79 profile image
apex jnr

I need 5 years experience on the newest framework, i need it now!

Collapse
 
louis7 profile image
Louis Liu

That's true. Good look resume is better than solid experiences😭.

Collapse
 
aloisseckar profile image
Alois Sečkár

I admit I am a Vue "fanboy", but how the hell are the mentioned "trade offs" negative? You learn a little bit specific syntax and you are forever good to go to create awesome web projects. Not talking about the fact you DON'T have to use SFC (you can even stick with JSX, if you are used to from React) nor the "specific state libraries".

I am getting your point that one framework is not always the best option for everything (every sane person from then community actually does), but the reasoning should be better.

Also other point of view - being able to produce solutions quickly in one technology and ecosystem you know good and deeply is probably more efficient in general than seeking the most optimal solution and constantly jumping from one to another stack or even write your own vanilla solutions.

I am aware of well documented cases when simply changing landing page from a bloated framework solution to pure html+css+js handmade solution meant an immense savings in respose times and bandwith, but it is not always the case.

Collapse
 
lexlohr profile image
Alex Lohr

Actually, many of these newer frameworks make a lot of sense - for a certain use case. Learning about the distinctions is not wasted time. Rewriting your app may be, unless the framework it is written in becomes an issue.

For example, I spent the better part of two years rewriting a durandall app part by part in react, because durandall was no longer maintained and had severe security issues.

If it's not a web app, you might not need a framework. Using the right tools saves time.

Collapse
 
webjose profile image
José Pablo Ramírez Vargas
Collapse
 
james_real_bc4fdaed27da72 profile image
James Real

Oh no. The editorial police have arrived.

Collapse
 
webjose profile image
José Pablo Ramírez Vargas

Oh no, the smarty pants guy arrived.

Collapse
 
c_k_c6c7156c1f991203855d0 profile image
C K

100%

I'm old school, I still just use plain JavaScript.

Ever since ES6+, features like let, const, arrow functions, and async/await for easier asynchronous handling...I just didn't see the need. With built-in APIs, performance improvements, and ES modules, JavaScript is now more powerful and less reliant on heavy frameworks.

Collapse
 
chideracode profile image
Chidera Humphrey

Nice read, Matt

I have always advocated learning the fundamentals and sticking to a core set of tech stack.

I like your idea of being aware of trends but using proven tools for serious work.

And most people moving from one framework to another only see performance gains of ~20ms. Nothing much really.

Collapse
 
deathcrafter profile image
Shaktijeet Sahoo

Completely agree with this, and I am speaking from my mere 3 years of experience as a web developer.

Stick. To. What. You. Know. Best.

But not when you're learning and actively looking for a job or looking forward to creating your own products. Because by having a vague idea of the problems a framework solves and creates, you can choose what is best for your needs.

Collapse
 
dominikj111 profile image
Dominik

The main reason behind the abundance of frameworks is that every developer eventually builds their own toolbox—consisting of libraries, patterns, and abstractions—which naturally evolves into a framework over time. The fact that so many frameworks exist proves that JavaScript provides the flexibility to enable this evolution. I would be more concerned about developers who never create their own framework, as abstraction and the pursuit of efficiency are natural—not just in software development, but in human nature itself.

Collapse
 
michaelmoranis profile image
Michael Moranis

I'm a developer at the beginning of my career and recently I was building projects using the basics, HTML CSS and JS, and while I was remembering the basic concepts, certain React features came to mind, then I realized how certain things work with frameworks and using only the basics, it was incredible!!

Collapse
 
uhligtobias profile image
Tobias Uhlig

@mattlewandowski93 The frameworks you mention are extremely similar, focussing on writing html (JSX, templates). E.g. it does not matter too much if you use react or vue.

Architecture is a pain point in both of them: you can not define abstract configuration based components (which are separated from the DOM), there are no view controllers (separation of concerns, to not drop business logic into components), no baked in nested hierarchical state providers.

All of them focus on "apps" for one time users, e.g. nextjs with SSR => great performance to get the first page, navigating around, streaming html => way more traffic & costs than needed. All of them end up in npm dependency hell.

None of them has multi-window support (without native shells).
None of them follow the "off the main-thread" paradigm (way beyond multi-threading).
None of them has an instant dev mode, which runs with zero builds or transpilations (this boosts productivity, you could write entire apps inside the console, grab instances, change component configs).

For apps with returning users, we can do a lot better.
For apps with complex enterprise forms, we can easily go for nested lazy-loaded forms, which don't even need a state provider and can validate unmounted fields.

So, at the end of the day, choose the technology which best fits your project needs.

Since you are probably not aware of it, you might want to study the following google gemini deep research:
https://www.linkedin.com/posts/tobiasuhlig_google-gemini-deep-research-neomjs-deep-activity-7308512714778152965-vyDg?utm_source=share&utm_medium=member_desktop&rcm=ACoAAAWs5_ABeQERL3786GiagFEpVx_aoUvfDcI

Best regards,
Tobias

P.S.: As a framework author, I can not be silent when the message basically says "ignore new tech".

Collapse
 
angelomandato profile image
Angelo Mandato

Yes sometimes using something like React for a simple submission form is like using a sledge hammer to poke a hole in a sheet of paper.

I have a different take, and always have. These are all just tools in your toolbox, depending on the job you pull the right one out. To ever say one way is best is foolish. Ask a car mechanic, do they always use sockets with a ratchet, the answer is no. Sometimes they use an old school wrench, sometimes a ratcheting wrench, sometimes a crowsfoot, or even a flare wrench. Once you free your mind like this you will not think of yourself as a React or Vue, or XYZ developer, the sooner you will think of yourself as a Software Developer who knows how to get crap done. And that's what matters!

Collapse
 
brittian_warner_09515d090 profile image
Brittian Warner

Your negative for Svelte about the compile step doesn’t really make sense IMO. In fact, I would argue it’s a better pattern and a +1 for why frameworks are nice. I like the sentiment of the article though and agree fundamentals are always key. Maybe the real solution is which framework is best for keeping with the fundamentals?

Collapse
 
jokello profile image
James Oduor

I cannot emphasize further. This approach is as practical as it suggests and will help developers across the board better manage the their environment with confidence. Thank you for this piece @mattlewandowski93

Collapse
 
mksunny1 profile image
mksunny1

Great post, Matt! I completely agree that a strong grasp of JavaScript fundamentals is essential. Too many developers rely on heavy frameworks without understanding what’s happening under the hood. That’s one of the reasons I built Deleight, a lightweight alternative that keeps things fast and minimal while still making development smoother. Instead of reinventing everything, it enhances vanilla JavaScript in a way that feels natural. I’d love to hear your thoughts on projects that strike a balance between fundamentals and convenience!

Collapse
 
jgustavoas profile image
Gustavo Alexandrino

Frameworks and JS developers

Collapse
 
railrunner166 profile image
Liz Gravat

AI generated image followed by an essay. 100% this entire article is ai generated. i aint reading allat, ima just stick with react

Collapse
 
james_real_bc4fdaed27da72 profile image
James Real

Okay, Mrs All knowing. Calm down. We don’t care what you do.

Collapse
 
frdric_venot_e6344957c3 profile image
Frédéric VENOT • Edited

That's what I keep saying for years. Framework are just trendy things and waste of time. You spend more time trying to find workarounds for the framework limitations or trying to understand its weird logics than actually provide a efficient work.

Nobody care about performance anymore.

Collapse
 
dapone profile image
Afisunlu Dapo

Angular stole a whole one year from my life. I have now recovered by fallen back to VanillaJS and my life is now better. As a beginner, I never new in-depth Typescript knowledge is required to learn Angular properly.

Collapse
 
godwinkachi profile image
Godwin 'Kachi

Had a good read...

Thanks for saying it the way it should be said.

Collapse
 
intermundos profile image
intermundos

Another meaningless post on tools.

Learn your case and needs, find and master proper tool for it. Enjoy the ride.

Collapse
 
archuserbtw profile image
Aaron Rohrbacher

Sing it from the rooftops! Thanks for this piece. As a back-leaning fullstacker, I continue to be blown away at how dependency-ridden and just plain complicated some of the simplest tasks in front end development have become. By way of the react, vue, angular, etc. flavor-of-the-week "ecosystems," of course. I love react in the right use cases, but it shouldn't cost GBs to write a date on a webpage... Ultimately in JavaScript anyway hah!

Collapse
 
stephen_paul_hassall profile image
Stephen Paul Hassall

Frameworks are just extra layers of complexity we can do without. Long ago, using JavaScript to make web sites was a nightmare, so frameworks came along to fit the problem. Now that JavaScript has made countless improvements over the years, all those frameworks are now no longer required.

Great article.

Collapse
 
john_cowan_13147d7ccd1280 profile image
John Cowan

On the contrary, they are required in order to segment the labor market for the benefit of employers. If (to make up some numbers) there are 8 frameworks in use but the average dev knows only two, then 80% of applicants can be rejected without further examination.

Collapse
 
ali007depug profile image
Ali AbdElbagi

Thanks for helping..

i need advice ..I'm coming from vanilla js and start learn React js

Collapse
 
webjose profile image
José Pablo Ramírez Vargas

The advice: Learn React for job stability, but learn SolidJS or Svelte to learn the best there is.

Collapse
 
ali007depug profile image
Ali AbdElbagi

Thank you for the advice ..

Collapse
 
uyi_osunbor_a07c7498a269a profile image
Uyi Osunbor

I don't really like plain JavaScript but I do like react because of its component given structure there is no way I'll trade it off for another framework

Collapse
 
nadeem_zia_257af7e986ffc6 profile image
nadeem zia

Good information provided with good points

Collapse
 
deepak_bhardwaj_f4a9edcae profile image
Deepak Bhardwaj

You are clear and sharp in your points.

Collapse
 
hexa_1 profile image
Veilgen Security

This article perfectly captures the reality of the JavaScript ecosystem. Chasing every new framework can be exhausting, and focusing on fundamentals is a much more sustainable approach. Great insights

Collapse
 
theking2 profile image
theking2

Sometimes framework progression forces you to do rewrites (AngularJS to Angular2+, Vue2 to Vue3)

Collapse
 
lexpeee profile image
Elex

Does the Shiny Object Syndrome apply to this type of hype that people are after, not being able to focus on the very thing that will help their foundation in terms of programming?

Collapse
 
kunle1984 profile image
Olaoye kunle

Wow. This is really insightful. One can hardly keep up with the trend when it comes to how framework evolves this day.

Collapse
 
jules_mukadi profile image
Jules MUKADI

I support you
But if I understand correctly, you're saying it's better to code without a framework?

Collapse
 
michael_noel profile image
Michael Noël

Whatever framework or library is popular, is mainly because companies poor millions of dollars into development. It's harder to start from scratch then to continue with the current stack.

Collapse
 
avangardsport profile image
SC Avangard

Thanks for the information

Collapse
 
luciandev profile image
Lucian DEV

Good points 👍

Collapse
 
hunh_trungc profile image
Huỳnh Trung Cảnh

yes

Collapse
 
james_kingston_4305360668 profile image
James Kingston

I love using angular js personally, but your article seems written by AI

Collapse
 
gurukulkarni profile image
Guruprasad Kulkarni

Agreed, that's what Adam Bien also suggests and with CDN your code runs blazing fast and developer experience is amazing because there's no build step Browsers understand JS CSS and of course HTML

Collapse
 
fridaycandours profile image
Friday candour

New frameworks are not bad don't make it look like that.

Collapse
 
alltechneeds profile image
Mauricio • Edited

I got better one than all of them put together, goto alltechneeds.com