What type of stack is recomended

A couple questions:

  • As the title says, what programming stack is recommended to be learned.
  • What back-end language should I learn and use.
  • What type of JS should I learn with the back-end language, excluding React.
  • What back-end language is good for use with Svelte?



1 Like

Free Code Camp teaches MERN stack, MongoDB, Express, React and Node, as back-end language there is still JavaScript (in the form of NodeJS)

The Odin Project instead prefer to teach Ruby as back-end language, there are many choices.

Svelte is a front-end framework, like React, it doesn’t have requirements of what server-side language needs to be used.

1 Like

So, for Svelte, I can use any back-end server language. Or I don’t need to?

svelte is front-end, if you want a full-stack app you need to use a back-end language for the server-side logic

1 Like

Do you have a particular goal in mind?

If not, or if it’s just for learning and fun, then any stack is fine. Like ieahleen mentioned, MERN is taught here and you’re already here, so just go for it :slight_smile:

If you have a particular type of project in mind let us know and we can perhaps recommend a specific tool that might be better for that purpose.


The “what language(s) should I learn first” thing really up to what YOU want. If your goal is to get a software development job, find what’s common in your country/city when it comes to hiring devs; for example, web dev companies in my city really really love .NET (C#) and Java with some Angular/React as the frontend, although I’d say Angular is more popular here.

Also, what branch of software do you want to work on? I’m assuming it’s web dev so I’d start by just learning the language until I feel so comfortable that learning frameworks and libraries is a 1 month walk in the park.

Backend and React are different things; React is Frontend so for Backend, if you want to use JS you may want to learn Express since it’s the most popular one but there’s also Hapi, Nest, Sails, Meteor and more. For the frontend I’d choose React without a doubt but don’t sleep on Vue and Angular just yet; I bought a book about Angular 6 and it paid off (for React I just read the docs and got an Udemy course).

The client or frontend doesn’t care what you use as a backend as long as you have a backend to consume; just learn what feels comfortable.


My recommendation is stay away from the frameworks and learn the core languages. Find the one you like the most and learn that language thoroughly.

Frameworks make your job easier, but it’s important you understand how the code works without one.

Javascript monopolizes browsers. So if you like webpages, you MUST learn JS. But learn vanilla JS first before going into frameworks such as React, Vue and Angular. Why? Because frameworks come and go but the JS remains.

At the end of the day, they all pay $. It’s just about finding the one you like most, because if you hate it, then you’re likely going to do poor work.


I’m already familiar with the core language of HTML, CSS, and JS. That’s why I started to learn frameworks. I started to learn React here, but eventually I started to get overwhelmed with how it’s laid out, and so I saw there is another framework that is close to React, but have some differences. I chose to learn Svelte, because of the reactivity of the app. It updates everything in my element when there is an event that changes the data by assignments. That’s what I really like most about Svelte. It is also smaller than React is that I really liked too. Another thing I also liked about it is that there is no Big Mother Company behind the framework like React is with Facebook.

Just curious, why Svelte instead of Vue as the alternative to React?

From what I’ve read, it seems that most people vacillate between React and Vue; I’ve always wondered what makes Svelte a good alternative to React.

The best reason why Svelte is better *in my opinion *, is of how Svelte is reactive. So if there is a change in variable, the HTML DOM will change accordingly. So you don’t need to put an event listener if an input gets a different input. Just give it a : (bind syntax on Svelte) and assign it to a specific element you want to be changed, and then Voila, the element will change if the input get a new input.

Another feature that I like is that there is no Virtual DOM, and Svelte has smaller file size, compared to React. Another reason that I really like is how the CSS is always locally scoped, so when you are putting in a component from a different file, the CSS will not overflow to that component. It will only use the local CSS. Here’s an image explaining it.

In the image above, I have applied a font-size of 50 to the h1. You can see that both components have h1, but it will only style the h1 inside it’s own component which is App.svelte and it won’t style the h1 inside Tasks.svelte.

And the last thing I really like about it is that it’s an HTML and JavaScript in the same file, and it’s not JSX.

Edit: Just got and read this, and the creator of Svelte, Rich Harris, have explained that Svelte is not really a framework. Since Svelte 3 has came, he explained that it’s more like a language that uses a base like Elm. Check it out here:

Well at its core, Svelte is a compiler. Sapper is a framework using Svelte.

I do like Svelte, but just like with Vue the DSL can get a little annoying sometimes (it’s both good and bad). There is just something more familiar about writing React code, even if it takes more code and can get a little messy. Switching from React to a more DSL driven approach can be a bit hard I feel, but switching back to React never really bothers me because it’s fundamentally so close to just writing JS.

The use of components and the communication between components in React also feel less weird. But that is likely just because I’m not that familiar with Svelte (or Vue). But I definitely remember writing a single component app in Svelte and thinking it was really nice but then trying to refactor it into components and getting very lost. It does have some cool stuff with components as well, you just need to learn them.

1 Like