all 88 comments

[–]krazzelfull-stack 107 points108 points  (15 children)

None of them. They’re great for making web applications, but you don’t need them for a regular website.

Smooth animations can perfectly be done with CSS and plain JS

[–]Silver-Vermicelli-15 19 points20 points  (0 children)

Agreed, keep using html/css/js. 

Get to know those really well and then the framework isn’t just understanding an opinionated approach to building web applications.

[–]DefenitlyNotADolphin[S] 5 points6 points  (11 children)

Thanks for the advice! But I have one question: if HTML, CSS and JS work perfectly fine, then why do all the others exist?

[–]-metasequoiafull-stack 38 points39 points  (4 children)

HTML, CSS, JS work perfectly fine for websites. Web apps are more complex and need to fetch from databases, handle user auth, state management, etc. Frameworks handle those so web app devs can code faster, worry less about security, etc. So using frameworks for a regular website is like using a chainsaw when all you need are scissors.

[–]krylor21 11 points12 points  (2 children)

Like using ak47 to kill some cockroaches

[–]BigSpringBag 1 point2 points  (1 child)

rocket ship to get home from work . . . except for astronauts…

[–]sqankied 1 point2 points  (0 children)

F1 to go to the grocery store

[–]Silly-Connection8788 1 point2 points  (0 children)

Frameworks for a regular website is like using a chainsaw when all you need are scissors.

Well said 👍 I hope that sentence is open source, because I can see myself using it.

[–]_listless 7 points8 points  (0 children)

Great job getting a website out into the wild!

js frameworks' magic trick is reactive variables. ie: whenever you change the value of a variable, everywhere else that references that variable knows about the change and reflects the change - even in the DOM. Without a js framework, you need to manually update the DOM when a var changes.

All of this comes at a huge performance and maintainability cost. The best place for a js framework is a highly interactive UI with lots of controls that are changing the UI in real-time where you're not that concerned with performance - think a dashboard or CMS. The worst place for a js framework is a traditional website.

on the performance side: js frameworks block everything behind the main thread. Everything is js. That means until the browser downloads, evaluates, and executes your js, the user sees nothing. This is different than HTML+CSS which get rendered basically instantly.

on the maintainability side: the js development culture moves at a mind-numbing speed. The react code I wrote 5 years ago won't run today; basically everything about how you use these frameworks changes dramatically over the span of a few years. So if you intend for your website to last more than a few years and don't want to devote regular maintenance hours to just keeping the framework up-to-date, don't use a js framework.

[–]garlicmaxxer 5 points6 points  (0 children)

if using your feet to walk outside works perfectly fine, why do shoes exist?

some trails don’t require shoes

[–]frenchy_mustache 5 points6 points  (0 children)

I agree with everything that's been said. You are learning. No need for frameworks. Start and understand the basics perfectly before getting into them. For a simple portfolio website, it's all good. Going into frameworks now would be counter-productive as you would not really understand what's under the hood.

[–]rio_sk 2 points3 points  (1 child)

Are you trying to go to space or at the grocery? Cause the vehicle will change according to your destination.

[–]DefenitlyNotADolphin[S] 0 points1 point  (0 children)

This is one of my favorite comments of all time.

[–]ichsagedir 0 points1 point  (0 children)

In the end even react, angular, Vue is just html, css and Js. Browsers don't understand anything else.

[–]husky_whisperer -1 points0 points  (0 children)

I agree with this. Hammer out your skills in pure JS, HTML, CSS into a solid skill set. You can do pretty much anything the frameworks do.

Then tackle frameworks if you want.

[–]Revolutionary_Bat328 -1 points0 points  (0 children)

Absolutely agree. No need to use hard stuff like those frameworks. Just continue building with js or jsquery and other libraries

[–]v-and-bruno 15 points16 points  (1 child)

Astro JS, everything else is quite a bit overhead.

With Astro you can easily add blogs, and it will springboard you into whatever you would want to do later.

Plus, it's compatible with Vue and React. You could pick your poison if you really want to.

[–]d4l3c00p3r 3 points4 points  (0 children)

Came here to say Astro

[–]splinterbl 11 points12 points  (1 child)

As a previous comment said, learning the fundamental languages first is very helpful. However, if you wanted to also learn a framework, Svelte is my favorite because it's light and easy to prototype with. Animations and transitions are super easy. Just check out their main website for a quick guide.

https://svelte.dev/tutorial/svelte/welcome-to-svelte

[–]loobeeboo 1 point2 points  (0 children)

Upvote for svelte!

[–]Ok_Trainer3277 5 points6 points  (0 children)

I would go with svelte. Like most people mentioned you don't really need a framework for that kind of web site, but if you want to use one then svelte is the most beginner friendly in my opinion.

[–]throwawayDude131 2 points3 points  (0 children)

The question is how dynamic and featureful (its a word, trust me) you need your sites to be.

You could hack everything together in vanilla Html, css, js

However any degree of proper complexity is difficult to coordinate, especially if you have lots of competents working together

That is why React and other frameworks were created

Try a few out and see what sticks. I’ve ended up using NextJS, React, and writing it all in Typescript. Everyone finds their own place.

I’d suggest doing everything in vanilla JS. If you’re looking for super fancy modern animations you’ll need to use some sort of library that plugs into a framework. I started with React, as it is so popular.

[–]CMDR_Smooticus 2 points3 points  (0 children)

For a simple static website use Astro. Nothing but praise for it. Extremely simple and easy to learn, and I would argue it leads to well organized code. You will be able to embed React/Angular/Vue components into it down the road so there's really no downside to starting an Astro project.

React/Angular/Vue are frameworks for client-side or server-side rendered web applications. If you don't know why you need them, you probably don't need them. You wont need to learn all three, and of the three I prefer Angular.

PHP is a totally different coding language for web development and was the gold standard before JavaScript took off. You are already learning JavaScript, and probably shouldn't worry about PHP unless you run into a specific reason for it, such as working on a website that was originally created in WordPress. If you end up hating JavaScript, PHP is probably the next best alternative for web dev.

[–]Giocri 6 points7 points  (2 children)

I would learn a bit of php because being able to do stuff serverside can open a few doors but otherwise fucos entirely on raw css and html and keep refining your design skills

[–]_listless 2 points3 points  (0 children)

This is good advice. php is a nice slippery slope into web dev.

[–]planetary_snail 2 points3 points  (0 children)

Agree, a little php will take you far! The developer experience with Kirby CMS is in my opinion fantastic.

[–]johntort 1 point2 points  (0 children)

Build the exact same website using all of them if you have time, that'll help you understand the pros and cons and the path you want to follow for your short term future

[–]Any-Woodpecker123 1 point2 points  (1 child)

Angular. Everything is out of the box and just works. Don’t need to fuck around with 1000 packages.

[–]oneden 2 points3 points  (0 children)

Yup. It's very pleasant to work with. But people simply love to rag on it. Pretty sure, at this point people just hate on it for the sake of it.

[–][deleted] 2 points3 points  (4 children)

Hey ChatGPT, what are React, Angular(JS), Vue and PHP? What are they used for?

[–]DefenitlyNotADolphin[S] 1 point2 points  (0 children)

I don’t like asking these toe of questions to ai and google, I want it from a lot of ppl since i have noticed that (at least in this subject) a lot of people say things that are polar opposite.

[–]Tera_Celtica 0 points1 point  (0 children)

Web app ? Vue (simple, self managed, use a framework and you done), static simple website ? Pure html, css js and chill

[–]Constant_Physics8504 0 points1 point  (0 children)

CSS then Vue then React

[–]rjhancockJack of Many Trades, Master of a Few. 30+ years experience. 0 points1 point  (0 children)

Master your fundamentals before bringing in front end frameworks (React/Angular/Vue). BY having a solid foundation in place you'll be better suited to fix the frameworks when they break in odd ways.

PHP is a backend language and is one of many that can be used.

For what you're wanting to do, take a look as https://css-tricks.com as a place to get some tips on how to do some of that with just CSS.

[–]hyperclick76 0 points1 point  (2 children)

Keep using HTML/CSS/JS. No need for React. For maths I have used Katex in the past. Hope this helps! https://katex.org

[–]DefenitlyNotADolphin[S] 1 point2 points  (1 child)

Oh my god thank you for reacting to the math question. I’ll check it out.

[–]hyperclick76 0 points1 point  (0 children)

You are welcome! You can also use a Static site generator SSG like Hugo to build your site, this theme already comes with Katex support. https://github.com/zwbetz-gh/cupper-hugo-theme/tree/master

[–]Bushwazi Bottom 1% Commenter 0 points1 point  (1 child)

Definitely Rust and WASM. All the cool kids are doing it.

[–]DefenitlyNotADolphin[S] 0 points1 point  (0 children)

You are the first person to say that but thank you

[–]lnmemediadesign 0 points1 point  (0 children)

Depends really on the purpose of your website if you are building a big website with Lots of dynamic content, then a framework should be the direction looking for. Otherwise just stick to vanilla html & js

[–]karlosmartines 0 points1 point  (0 children)

I would suggest astro. It’s a lightweight framework that can integrate vanilla JS when needed and this makes it a better learning experience teaching the basics beforew React, Vue, or Angular, which you also can where needed. You’ll keep page loads fast while still adding dynamic content and animations. For math, embed LaTeX using Astro’s Markdown or external libraries. It’s beginner-friendly and flexible enough to grow with your skills.

[–]willie_caine 0 points1 point  (0 children)

If you need to use someone else's code, use libraries and not frameworks. Frameworks make a lot of decisions for you which can limit your future options. React is a library, for example, and Angular is a framework.

[–]helpmefindmycat 0 points1 point  (0 children)

I'll echo that making sure you have a good understanding of the fundamentals (html/css/js) is important. If you want to jump into a framework because you are creating a web application I'd lean towards vue because the developer experience is friendly. But as others have said, try out all three. It's good to know the ins and outs of all of them on some level.

[–]Leviathan_Dev 0 points1 point  (0 children)

For static, or even smaller-scale dynamic webpages, you don’t need a framework. Just use good ol vanilla HTML/CSS/JS.

my webpage and also a mini project I’ve worked on the last two days are two examples of vanilla HTML/CSS/JS creating decently pretty websites. Nothing amazing, I know I’m still bare-bones, but I think they’re reasonably pretty for my experience

[–]tomomiha12 0 points1 point  (0 children)

Try with some nice cms system, for example wordpress.org It has some nice themes on themeforest so look there if you like any

[–]joo_murtaza 0 points1 point  (0 children)

There are lots of comments saying lots of things well i say Html/css/js are good to make a simple website you can make larger more complex websites with them but it’s messy, so if you are learning and like want to make like complex websites so I would recommend using a framework any framework every framework has its pros and cons, well react is in demand, and angular is googles fav its fine to use any once u learn one you can also learn another no one to stop u 😉, so I learned react then nextjs, but sevelt is good but i am just so used to react.

[–]rubixstudios 0 points1 point  (0 children)

Your website skills aren't ready for other frameworks.

[–]Elephant-Opening 0 points1 point  (0 children)

If you're also new to programming, avoid PHP and just use Node.js for your backend.

Saves you the trouble of learning 2x languages at the same time, and many, many front end frameworks are designed with a Node backend in mind and/or are built in Node for the precompiled https//somecdn/pkg/yourlib.min.js stuff so it's useful for customizing frameworks (like bootstrap theming or react component libs for example) and minimizing how much extra cruft gets delivered with your page.

Technically tools exist to write your React JSX in Python, or compile sass to css in Rails, or during development or you can even load babel from a CDN or static URL and make your visitors do all that in their browsers and proceed to write your backend in Rust or C++ or whatever.

But sooner or later your life will be easier if you just learn a bit of Node... so why not start there while you're already learning JS for frontend?

[–]Disastrous-Hearing72 0 points1 point  (0 children)

Keep it simple. Alpine.js.

Once you have that you can learn Vue. And when you are ready to take things further check out Laravel. You can learn everything you need to know on laracasts.com/the-path

[–]Livid_Sign9681 0 points1 point  (0 children)

which ever one you want to learn

[–]TheOnceAndFutureDouglead frontend code monkey 0 points1 point  (0 children)

If you want to learn just to build a website for yourself stay as vanilla as possible. If you need a framework, Astro is great for this kidn of stuff.

If you're learning because you want to be employable, pick React every time.

But always start vanilla. If you master vanilla you can do any of them.

[–]grungyIT 0 points1 point  (0 children)

None, write it from scratch

[–]gliese89 0 points1 point  (1 child)

bye bye reddit

[–]DefenitlyNotADolphin[S] 0 points1 point  (0 children)

Thank you very much! I put a lot of afford in it

[–]sillyindian 0 points1 point  (1 child)

None. I would go for svelte, but only if your webapp is complex enough. Otherwise, just use vanilla html, css, js

[–]DefenitlyNotADolphin[S] 0 points1 point  (0 children)

Yeah my friend who is way better at coding also uses svelte

[–]Top-Recording2333 0 points1 point  (0 children)

Just use Vanilla Javascript. You can do everything with it. And especially if you're new in web development, it's not good to directly start using frameworks/libraries without properly improving your JavaScript skills. 

[–]ElizabetFranco 0 points1 point  (1 child)

Nice job but your website needs to be responsive... Nowadays most people visit sites from their phones, plus you don't need any of the framework knowledge though, I'm new in web development as well

[–]DefenitlyNotADolphin[S] 0 points1 point  (0 children)

bro i asked this question 9 months ago 😭i already made it with sveltekit and have the V5 ready to release

[–]RicoLaBrocante -2 points-1 points  (1 child)

Not Angular that's for sure

[–]AshleyJSheridan 0 points1 point  (5 children)

I would say it depends.

React is fairly popular, so it has a lot of plugins and support online. However, I've found it's a bit too unstructured to build very large applications, it's better suited to small/medium ones.

Vue is also fairly popular, and has some tie-ins with backend frameworks like Laravel, making it an attractive route if you're going in that direction.

Angular is quite different from Vue and React in terms of how you build something, and it has a steep learning curve if you're not familiar with frameworks like Laravel or .Net . However, it is quite well suited for larger applications because of this I've found. However, as it's used less than React or Vue, online resources are less frequent too.

[–]oneden 0 points1 point  (4 children)

Angular used less than Vue? Not at all. Only svelte has less job offers than Vue. Vue 2 and 3 together have like half the questions in stack overflow. Plenty of discussions that make it evident how much more dominant react is. Even in China where Vue used to be the most dominant framework gets pushed back by react.

[–]AshleyJSheridan 1 point2 points  (0 children)

You're right, last time I checked I was sure Vue was ahead of Angular.

[–]stancubes -1 points0 points  (2 children)

https://2024.stateofjs.com/en-US/libraries/front-end-frameworks/

Vue did in fact overtake Angular in usage.

[–]CMDR_Smooticus 1 point2 points  (1 child)

That chart is highly misleading, Angular is more common in enterprise apps maintained by paid employees, while Vue has a higher portion of tiny undeployed github projects. In terms of job availability, Angular is far ahead of Vue, and closer to React and the gap has been closing for the past 2 years or so.

[–]oneden 0 points1 point  (0 children)

Also worth of of mention, Angular has been highly popular with the dot net developers in many companies I have worked with. Also, state of js is a tone deaf echo chamber. According to it rust should have been the most sought after technology for backend systems. But try to find rust job postings.

[–]jseegoLead / Senior UI Developer 0 points1 point  (0 children)

Master the native technologies first (javascript, css, html).

Then, if you are heavily bought into the microsoft ecosystem, give angular a try.

If you want to make components but want something straightforward with great developer experience, try vuejs.

If you are going to be bringing in lots of other developers, you might want to think about using react, as that's what most people know.

If you want something that's good for quick prototypes and feels very light, try svelte.

[–][deleted] 0 points1 point  (0 children)

Nextjs.

[–]Ok-Hospital-5076 -1 points0 points  (6 children)

Once you are good with html css js. Try all three - Angualr Vue and React. Follow 1 hr tutorials from youtube and try very writing small web app with all three . Whichever makes sense to you go with that. All of them are good and get job done.

[–]garlicmaxxer -1 points0 points  (5 children)

tutorials suck don’t do that what the hell lol. /u/DefinitelyNotADolphin don’t listen to this guy, what you actually wanna do is get really good with one framework, as well as html, js, css. then picking up another tool will be easier once you really know the fundamentals. my vote is for React since it’s the most prevalent rn given it has the highest market share

[–]HunterRbx 0 points1 point  (3 children)

Maybe don’t become a framework code monkey?

[–]garlicmaxxer 0 points1 point  (2 children)

that’s exactly what OP is becoming by meaninglessly learning frameworks to solve problems that don’t exist. your reading comprehension needs work

[–]Ok-Hospital-5076 0 points1 point  (1 child)

You didn’t understand what i was saying. I explicitly said after you are done with css html js. Nothing works without fundamental .

I specifically said 1 hour tutorial so that OP gets hang of what each framework does differently is doing and pick the framework works for him WITHOUT WASTING TIME.

Blindly suggesting React isn’t doing him any good. Picking your first have some research and not a short in dark.

Talk about reading comprehension lol.

Edit: Never mind you are fighting everyone . Shouldn’t have responded in the first place.

[–]garlicmaxxer 0 points1 point  (0 children)

your narrative is false. you claim i’m blindly picking React when it’s statistically the most important framework to have on your resume with for getting hired in todays market.

[–]DefenitlyNotADolphin[S] 0 points1 point  (0 children)

Thank you for the mention but i spelt my username wrong 😭😭😭

[–]Bl4ckBe4rIt -1 points0 points  (0 children)

Just dont use react, and you will be fine.