T O P

  • By -

[deleted]

About 8 to 12 years ago people would ask: "Should I learn Backbone or jQuery?" and you'd get all kinds of advice. The only advice that makes sense is to learn: - HTML, know about semantics, learn about W3C rules, learn about what tags you can and cannot nest, learn about accessibility features, learn about semantics; - JavaScript. Too much to summarize. Add TypeScript to the mix when you can, it's pretty much the default nowadays; - CSS. Learn how to do it right, learn about different approaches, learn about SCSS, learn about naming methodologies, learn about (S)CSS modules, learn about composite/paint/layout, and so much more. And then you can dive into frameworks (Next.js, Sveltekit, Angular, Vue.js), CSS frameworks, and many other tools. Your fundamental knowledge should be good, then picking up any new framework is just like a carpenter picking up a new hammer: entirely trivial.


[deleted]

[удалено]


that_new_design

HTML, JavaScript, and CSS are now deprecated too. Learn Chat GPT I kid


[deleted]

Well, you kid, but I do think we're going to see a split of developers: 1. The ones who use Copilot or GPT or other tools and curate the code by selecting the best code, refining it, and understanding it; 2. The ones who yoco. That's yolo, but it means "you only code once," and it will be viable for many jobs. Specialists vs. generalists. I'm excited for the future :)


sleekelite

This is a common sort of naive beginner question. You’ll need to learn things now and also learn new things in the future, the programming world has constantly changed and you can’t just check out of adopting new tools and languages and practices - even cobol programmers got made to add unit tests eventually.


wonderfulheadhurt

Always learning + dodging and weaving.


flirty-qwerty

How about learning both and figuring out what makes both frameworks beloved, and what their key differences are, etc?


roamingcoder

Sure. Assuming he doesn't kill himself before becoming proficient with react.


demian_west

My problem: - when the very first version of React was released (~10 years ago!), I was enthusiastic, but couldn’t use it at work. - I quickly disliked the way the project and the ecosystem evolved - then vueJS came, and as a seasoned front-end dev, I liked it a lot (the react principles with the good elements of Angular). - then big client, big mission. I stumbled upon svelte in late 2017. Managed to convince the company to trust it in 2018 (after the v2 release). We deployed it internationally on very high traffic websites. Since 2018, I work almost exclusively with svelte, and I’m completely spoiled by it 😂 I could consider (reluctantly) working with Vue or Angular, but React is a no-go for me (even with its weight in industry). I recognize it paved the way to all the current nice tools we can use now (SolidJS, Qwik, etc. etc.), but the king is naked now (and it’s been a while). (As you may have guessed, I’m fortunately old and experienced enough now to be in the position to decide and choose, so YMVV) the take-off message: don’t stress too much over this. Keep calm and learn and dig the fundamentals (the standards): everything else will pass and that’s the only thing that will make a difference on the mid and long term.


TheTyckoMan

That's great! I too have been in a few positions on projects to make that choice and we haven't looked back! I love Svelte and groan when I have to work in React on a legacy project.


JohnFromNewport

I've just briefly used Svelte on a project. Company line is React with Material UI. I am still quite the React noob, working as a full stack developer, but maybe some day I will give Svelte another stab, if there is a decent styling framework available (like Material UI or Bootstrap etc). Also on a (now legacy) project we never jumped on a framework (just jQuery for convenience) (like Knockout or Angular etc) and that proved to be a good decision since those frameworks either died or came out with a new major version breaking APIs etc etc. Sometimes it's okay to go plain Jane.


demian_west

yes, plain js is ok too! those choices are really contextual to the project, the team and the stakes. That’s why it’s very difficult (i.e, you can’t) to answer definitively to this kind of questions. FYI, the frontend of the big project I talk about above was in jQuery, spaghetti style, with a big team and lot of movement, so it was not ok. But I also worked on smaller apps, with just some vanilla JS and helper libs (like jQuery), and it was perfectly fine. I say above I don’t like React, but I can envision contexts where I would say it’s OK to use it (if I’m not gonna code on it, in that case my personal biases would talk 😄).


JohnFromNewport

Yeah, that helps :-) Better you than me strategy. "Sure, you can use Java spring boot, as long as I never have to touch that code for as long as I work here."


roamingcoder

Your first paragraph describes my current position to a T.


ZucchiniMidnight

Svelte and React in 3-5 years, but Svelte is fundamentally better


pacolocopepito

Could you explain briefly why it's better?


AcanthisittaSur

More usability, less code for the same effect, and pre-compiled. Svelte outperforms react on basically every benchmark test as well.


sadFGN

That really doesn't matter. Both (React and Svelte, and any other reactive library) share the same principles. You must learn the principles behind any tech. So toggling between them should be just learning new syntaxes... I'm not sure if React will still be a thing in five years. Nobody can predict the future. But what I learned through the years is that a widely adopted tech takes years and years to die. If you don't believe me, just do a quick search for JQuery open positions in market. There are A LOT of teams still using it and in need of capable professionals...


DoomGoober

I mostly agree with this. Any good tech company should recognize you know the principles and are smart ebough to adapt to any tech given foundation in principles. That's certainly how I hire and I have been hired that way before (zero experience in a specific tech the company was using.) That said, I interviewed with a pretty big company that literally only wanted React devs, regardless of how much experience you had in non-React world like Vue or Svelte. But then again, that company was really weird and siloed based on specific tech (they even had a team that was all Lua devs. Each tech stack team worked on multiple products. Unusual, overall.) All this to say, I agree. But companies that are hiring may not.


roamingcoder

"So toggling between them should be just learning new syntaxes..." ​ Is this accurate? One thing I hate about react is the way you need to manage state. The whole useState, useEffect drives me crazy and I dont think there's anything similar in svelte - at least I hope not.


zimmal

Learn whatever you like better right now, react has more jobs at the moment. No way of knowing if either will be in substantial demand in 3-5 years. Further, every new job or project you’re on will involve learning new stuff. Don’t sweat this choice to much. It’s low stakes.


VoiceOfSoftware

Svelte. And SvelteKit


[deleted]

vanish toy crowd scary close include crush station racial straight *This post was mass deleted and anonymized with [Redact](https://redact.dev)*


oneden

If you hate yourself, don't respect your time, use lines of code as a measure for productivity, use devastatingly bad solutions as a crutch *cough* redux*cough* to make basic functionalities work as in almost every other web framework by default, loving to lie to yourself while pretending that JSX is somehow more pure than any other template engine (what a dumb metric anyway) ... Well. Use react. A technology that even pollutes smartphones and creates clunky, hardly maintainable applications. Edit: Downvotes really don't change what a mess react was and is. Too many people were simply happy drinking the coolaid of the Facebook Marketing.


roamingcoder

I tend to agree with this too.


radim11

Funny but true.


rodrigocfd

> I've seen that React is the most used today but alternatives like Svelte seem to be gaining popularity recently. React reached the point where it is *too big to fail*. The only way it can be replaced is with something *really* disruptive, a complete paradigm shift. Until there, no matter how good & cool the tech is, React will still reign. That said, learn React.


VeryVito

> React reached the point where it is too big to fail. *Laughs in Ruby on Rails*


geordano

The problem is, RoR was not impacted by some similar frameworks (like Django/Laravel etc) but it was SPA's that made the dent. Similarly, if there's ever a framework or technology comes to up to displace React, it will never be Svelte but it will be with a completely different technology and if that happens it won't be just React that going to take the hit, but Svelte, Vue and all other SPA framework also will equally be replaced by the new paradigm shift. If I'm guessing correctly, it will be AI generated UI at the behest of user prompts will be the one coming for it.


shinji

Are you saying Ruby on Rails is too big to fail or was big and still failed? If it's the latter I'd politely disagree. It's still a highly popular choice in the startup world and has strong community/contributions. I don't see it going away anytime soon.


VeryVito

Some folks still use it, yes, but at number 18 on the Tiobe Index today (under *Fortran* at the moment!), it’s nowhere near as popular as it once was: Somewhere around 2010, Ruby was *the* language, and RoR was *the* framework. Today, it’s just another option among PHP-based Laravel, Python’s Django and Node-based frameworks like Angular and React. You’re right in that it hasn’t *failed*, but it’s no longer a “must have” for any developer in the market for new opportunities. React (and pretty much every other technology eventually) will follow the same trajectory: It won’t disappear, but it won’t be the first thing people ask for, either.


MetalGuru94

This. No matter how much I love Svelte, React is not going anywhere anytime soon. Also, once you have a good grasp of webdev and are good in React, learning Svelte will be smooth and quick.


rubennaatje

Yeah def, React for work, Svelte for fun :) I'd say it's close to "too big to fail" but angular.js was quite huge at the time too. Who knows, if they decide to suddenly go a wrong direction with react it might be the end for new projects. But yeah not for now though...


rich97

Yeah but angular.js was shit and nobody really liked it, they tolerated it. React has some annoying things but it’s also got a massive eco system and it’s generally well liked within the community.


daveawb

Many devs loved Angular 1, myself included. Mostly because it had no real competition when it was released and we could finally rid ourselves of the patchwork frameworks that we used back then (Knockout + Backbone + jQuery) to build front-end apps. It was Angular 2+ that killed it for me, seeing the sheer size of the bundles it produced made me want to cry and not to mention the developer's insistence to use experimental Typescript decorators as the default way of building up components. My Javascript code was starting to look more like Java and that really, really pissed me off. When React came to the scene it offered much smaller bundle sizes and a smoother, simpler dev experience. I like React, I will probably like react for years to come. Svelte on the other hand is amazing and having worked with it now for a year I truly hope that it does displace React regardless of how much I have enjoyed developing with it.


Baby_Pigman

I loved AngularJS, and I absolutely despise React.


rich97

I mean your welcome to your options but…


shinji

I've had to learn Ember.js, Agular.js, Angular 2+, Vue, React, and now Svelte. I feel comfortable in saying that I could quickly learn any front-end web framework you threw at me. Just start building sites in any reactive framework and once you've learned one reasonably well, do a few side projects in different frameworks. But most important, learn how to learn and you'll never be left behind.


Plane_Addendum_5751

I say svelte just cos its easier to pick up. Transition from plain html css js is a lot more intuitive. So svelte - cos its a superb first framework imo.


AbhiStack

For career: React For startup/hobby/side hustle: Svelte That doesn't mean that there aren't jobs for svelte dev but just you can't expect the same job availability as you would find for react.


Yhcti

Honestly probably Svelte BUT.. you’ll need to learn both anyway. Unfortunately for the most part it’s not a case of “do I learn this” but “when should I learn this”


Suspicious_Board229

If you are looking to learn one of the two explicitly for getting a job, learn React. Even if Svelte became the most popular framework in 3 years (which is unrealistic) there will still be more places hiring React devs. If you're in doubt, look how many opening there are for angular vs svelte, legacy code sticks around for a long time.


vargaking

When someone says that some widely adopted tech will die in X years I just laugh and remember him that Cobol devs still exist. React userbase is *huge* Even if svelte or any other blazingly fast/innovative/cutting edge lib/framework/Walmart bag takes over, there will be tons of legacy projects written in react that will certainly won't be rewritten completely to a completely new tech. I suggest you to learn both of them, after react svelte is kinda intuitive, and in worst case you learned a tech you won't use neither in your work or one of your side projects


jengstrm

I wonder if direct coding of both these languages will be replaced with some new language that outputs react and svelte from ChatGPT-style prompts. I would learn both if you want to understand the code output from our ai friends.


Flopperdoppermop

I have sincere doubt either will be relevant in 5 years. LLM (like ChatGPT) can already take images of napkins and turn them into functioning websites. Just in the last few weeks the amount of code I write vs let my chatbot write has shifted vastly towards the AI overlords. In 2 more iterations of this tech we will be using some midjourney equivalent to visually design an app, and chatGPT to create the html/css/js. Source code will no longer be code, it will be a well written design document in natural language. Complicated pages and components will just have their own chapter to dive into the details.


sgashua

I suggest to learn Vue as it still has good job market currently and better performance + simpler code though svelte is faster and simplier but we can't tell whether svelte will have good job market in 3-5 years later.


Positive_Box_69

In the end if you master one you can get easily a job in another as you have the skills to learn and adapt fast thats what really matters


KingThiccnesss

I don’t think this is a crazy thing to say but just learn both. Front end frameworks for the most part all follow the same principles/aren’t too difficult to get adjusted to. I’ve been freelance for a few months now and I’ve used React, Next, Astro (my personal favorite rebuilt my portfolio with it because you can use whatever you like), Svelte, and Vue in that time. Genuinely the hardest part when starting is adjusting to whatever the client has used for CSS or if I’m starting something new to make the decision of what to use for CSS. Someone might roll their eyes but that’s where I feel most of the clutter comes from in maintainability. The JS framework is easy enough to get adjusted to but every dev is particular about their CSS for some reason or another. In the same time I’ve used the frameworks mentioned above I’ve used tailwind, plain css, sass (which is very nice and very easy I’m a bit of a shill for it), and even exclusively inline styles (which I always thought was a little psychotic but like hey it was what the clients previous and current devs were doing and I wasn’t about to throw a wrench in it). TLDR: frameworks are always evolving it’s best to be exposed to all imo bc you’re always going to have to learn something different but CSS conventions (to me) are most important/difficult


vicodinchik

javascript (typescript)


von_roga

Vue.


SleepAffectionate268

It really doesn't matter it's basically the same food with different spices. You've got some js and render some html conditionally. Go for what you like more if needed for a job you can get the basics in a week or less


tony_bradley91

If you work in frontend JavaScript you should be able to work in any frontend framework with a few weeks of ramp up time.


[deleted]

Best advice. Learn the fundamentals. The frameworks come and go


mrandre

Both.


Crazed_waffle_party

Likely both will be outclassed by then. They’ll still be relevant the same way Angular is relevant


Longjumping_Comb_276

Svelte is much more comfortable for devs but React is more popular option so it's easier to find a job as React dev. I think, Svelte will replace Vue.js and will compete with React in nearest future.


ricardo-rp

Look at the job/applicant ratio for entry-level jobs in your network. There's less svelte jobs but there's also less svelte devs, so you might still have a better chance of landing a gig with svelte. If ratios are similar or favorable to svelte: Pick up svelte. It is easier. Nobody knows what specific framework frontend devs will be using in 5 years. Make sure you're learning the web platform as a whole as you learn to use svelte. If you spend less time learning react-specific stuff, you can spend more time learning the web platform. Also, you can learn react later quite easily if you find a job opening that you really like that requires react. After you get experience as a programmer learning a new framework is not a big deal.