Hi, I'm John, Multi Startup Builder.
I enjoy both coding and marketing.
See all my 20 products here
→ johnrush.me
→ my BIO
→ Say Hi to me On Twit...
For further actions, you may consider blocking this person and/or reporting abuse
Hello Angular, my old friend <3 currently I am checking out react, but honestly it doesn't feel like "home", so I think I will stick in angular for later projects until a shiny knight.. eeh framework comes around and saves me from my angular tower. ;-)
I have the opposite experience 😅. Attempted some projects in Angular, but it didn't quite feel like home. I'm leaning towards React 🤣.
Each has its pros and cons. As you delve deeper into learning, you'll likely discover which suits different projects best. 😬
for simple projects, alpine is great. so easy to get started
I loved angularjs, but lost the love once it moved past Angular 2
Could be the name but I love angular too ❤️
The Elm version shows off very nicely was is possible if you let a smart person design things rather than a company - we wouldn't have Python or Ruby without these sorts of people.
Vue is simply the best in my point of view. Composition API is nice. It’s fast and have a great DX. But everyone is different which is nice. If there are multiple JS-Frameworks we have competition which benefits all and brings new innovations.
my fav is VUE too
Point of Vue 😉
But then you are not using TypeScript in your Vue JS project.
I‘m using typescript in all of my projects and actually vue is a great fit and it’s a pleasure to work with.
Markup for Angular and Vue are understandable even if one doesn't know about them and who is familiar with HTML. Other looks like assembly language code. The difference seems like simple & affordable things vs flashy & costly things, both working well for a same purpose.
I have same feeling tbh
ngIf looks like html? This is news to me.
Really so a student fresh out of school who learned html, css and nothing else, is going to understand how something like ngFor works? Tbh that's just a factual lie...
You missed a factual reality. What happens when a web browser encounters an unknown tag or attribute within HTML code? The HTML developer can consider the same (obviously, if he knows how HTML and web browser work).
Nothing in HTML spec or documentation will prepare you for the nightmare that is ngFor syntax. What the developer has to do is go to the angular documentation site and learn how it works, which is knowledge that is only applicable to angular and nothing else. Same goes for vue and htmx. All these frameworks face the same issue of wanting to make something dynamic that was never intended to be dynamic (html). Its a markup language, let's keep it that way.
It seems you misinterpreted my previous comment. What I mean by
is - a web browser will ignore the unknown tag and attributes; so similarly, the HTML-CSS designer can ignore unknown code too.
The problem with React is a traditional web designer would wonder about where the HTML and CSS code is!
I agree with your other concerns, though.
I´m curious to see, which bundle size each package delivers...
with the modern internet speed and device perf, the size doesn't matter as much as it did in old days
If you are talking about application performance and responsiveness, you're probably right. I don´t think there is a direct relation between bundle size and performance. I am just curious to see, how much overhead a framework will pack ontop of a relatively small application.
Anyway, comparing start up performance and responsiveness would be an interestion comparison too!
Angular != AngularJS
true
The point I was making is that it seems like framework #1 you list is Angular, but then you say "AngularJS won my heart." It seems like you don't understand there is a difference.
Angular !== AngularJS. Code reviewed! 😆😜
Also what is wrong with using pure JavaScript and HTML
The best solution for a todolist if you ask me :) The only counterpoint is that in the previous code snippets, the todolist state can also be modified by other processes and then the DOM would automatically be updated.
You think in 2024 is maybe minimize the use of front-end frameworks? There was a good article I read. Today Astro and tomorrow another solution. We need to write code so that we can switch out frameworks easy not lock yourself into one.
I often miss the part where a new framework actually explains why we need it at all. Is it only so we don't have to type
document.querySelector()
anymore? Is a framework actually faster than native js+html without any framework? Can't you have a design system that just works with native js+html? (MVC, MVVM, etc).Awesome. Saved me the trouble.
"Well, my friend, that's like asking a parent to pick their favorite child - it just doesn't work that way."
Love it 😂
I don't care what anyone says I love React <3
your first kid is often your favorite kid ;)
Well said
just to make sure I don't start a framework war
I missing the qwik from the list
I can add, if you help me with the code snippet
Aren't there any frameworks besides React which just allow Javascript in "HTML"? I know, it's not really HTML but JSX, and I still think it's the best feature of React.
In all other frameworks presented here you have to learn a templating language and write things like
#each
,x-for
or*ngFor="let todo of todos"
SolidJS has JSX.
It's like Svelte and React had a baby
That's because React doesn't even have a
ngFor
:( You have to write a whole loop yourself... I still can't believe it...You don't have to invent the for loop yourself, JavaScript has many different ways to loop over things built in.
Solidjs uses jsx natively and a lot of frameworks like Astro support mdx files, which support jsx.
Small examples doesn't give you the story on building something real, but are still interesting for a quick view.
The ones I've used in real projects with more than one team involved, are React and Elm.
Elm's approach is superior. The architecture in combination with the type system makes it so much easier to maintain a larger code base.
Some say Typescript saves you and it helps but it is not in the same league as Elm.
I can't see Elm as superior at anything at the moment.
Why can't you see that? What are your experiences?
I provided three simple reasons why I would never choose something like Elm aside from purely educational fun and tinkering. My experience is better off with something much more familiar and simpler yet effective for solving day-to-day problems (like Vue).
The main problem is that they take a giant leap of faith away from html instead of being on the page to go along and then introduce all sorts of smoke and mirrors with different types of bindings and all of them scream prevent default!! That is like an overkill if you cannot even prevent default without making it the default thing to prevent.
It's interesting that only React and Elm don't involve some bespoke looping constructs to display the list, which I always find strange in all these frameworks - it shouldn't be that hard IMHO to allow loops.
Nice to show off the Elm version - it's the only one with just code and no specialized markup, which seems to be a trend everywhere except JavaScript.
Funniest thing, you do NOT
Sveltekit is the goat...If you are building a static site use the vite bundler with svelte only...if you are building dynamic fullstack app which is not an industry level project then use sveltekit, else use nextjs....
Gotta add Solid JS to this list, Solid what I wish react would have been.
Something to add about alpine would be that's it's a popular choice to add client side JS to HTMX Apps
I'd also like to know more about marsx, is there a repo link?
Angular is opinionated, which means you have to learn how to do some things "the Angular way" which is new. Which was a drag, but now that I learned it, there are many benefits. Two huge ones are: opinionated means you know THE official way to do something. With JS there are so many ways to get the same outcome that different devs have different ways to get there and they don't often always make sense to all devs on the team. If there is one way, everyone knows what to expect and can read the code quicker. The other advantage is that since it's Google-backed, it's often accepted at big corporations (like the one I work for) so you have a good chance of getting a good paying job with it.
Another benefit is that it taught me RxJS and Typescript, which are huge benefits to my coding and my career. There were growing pains, but with ChatGPT and Copilot nowadays, those is 1000% times easier.
Rxjs and typescript are not an invention of angular though. You can (and probably should) use both with React too.
But you are right there are some advantages to an opinionated framework like angular.
I'm new to JS frameworks, have begun with React. The more I m diving deep into it, the better is my experience. I think one must first master one, then only try his/her hand into another.
Great post, you did it! (especially when you've said you created a framework?? broo I'd love hearing more about it)
Glad to see AlpineJS on the list. Currently I'm evaluating a solution with HTMX + AlpineJS.
How to Access Digilocker on Whatsapp
Svelte is svelte
Really strange opinion to have. Majority feels like it became better. Also misspelled Vue.js big time. Hmm.
LOL. Composition API is what making Vue good and usefull.
Well done 👍
Vue 3 also has the full Options API, you can safely continue to use it in the old style.
Didn't say "Blazingly Fast 🔥" anywhere in this article, how is Pirmeagen gonna find this with his search term alerts?!?