Confused about all of the different JavaScript technologies available

Soldato
Joined
1 Nov 2007
Posts
5,600
Location
England
I've always done server-side programming in Python and have never really done much on the client side, so my JavaScript knowledge is abysmal. I want to fix that, but I'm perplexed.

I want to be able to do the client side and the server side all in JavaScript, so I don't need to worry about changing language depending on what side of things I am working on. I know enough to know that I need to use Node.js on the server side, but there is a whole host of technologies available which I find quite confusing.

Bower, Grunt, Gulp, Webpack, React, Express, Angular, Backbone, jQuery, Underscore etc. There are far too many to list, and I have no idea what I should start off with.

Can anyone recommend a technology stack that works for both server and client side programming, please? I'd also like to make sure I am using Docker for CI/CD and of course I'll be using Git and Gitlab for source code control.

I'd like to use something that makes use of the most up-to-date web technologies available. I'm not interested in supporting older browser versions. I'll only be supporting the absolute latest browsers, so I'm not worried about things not working in Internet Explorer for instance.
 
Soldato
Joined
12 Aug 2008
Posts
3,043
Location
London
node.js isn't really like front end JS. The technologies you listed are a mix of frameworks, package managers and preprocessors. The entire JS/front end ecosystem is a minefield of mess and confusion. There isn't really a single solution or tech stack, its very situational and preference based. Read up on react, vue and angular as front end frameworks. Pick on that interests you or sounds the most engaging, while learning about that framework, the relevant tools related to it will usually be mentioned such as webpack and how that plays into things. Personally i liked vue.js as i found it the easiest to mentally wrap my head around (side note, im lame at JS and ended up avoiding web dev like the plague).

Docker is quite simple to pick up, so it might be worth just running through some docker basics first so you can easily sort your development environment. If i was honest, attempting to pick up all these technologies at once you're going to lose the plot (in the JS world, you may well just lose the plot anyway!). Something like open source github + travis CI (free for open source) + docker is one tooling set that remains powerful but free and fairly easy to pick up.

I'd possibly try and learn node.js in isolation from front end work too, keep the front end to normal HTML/CSS for now and learn node. Honestly i'd just sack it all in and take up knitting. good luck! :p
 
Soldato
OP
Joined
1 Nov 2007
Posts
5,600
Location
England
I'm going to try out a front-end framework first I think. This might sound backwards, but I'm used to doing web development in Python using the Django web framework so by using a front-end only JavaScript framework I can get up to speed with JavaScript much quicker. Backbone.js looks like an interesting one to start off with. It might help me make nicer interfaces in my Django apps.
 
Caporegime
Joined
18 Oct 2002
Posts
29,491
Location
Back in East London
Backbone is old. The author recommended picking up something like Vue.js, Google's Angular, or Facebook's React frameworks instead - and I agree. I used Backbone for years, it was pretty amazing when it came out, but now the three I just listed really do supersede it in nearly every way.

I recommend trying Vue.js first. It has the least amount of configuration required to get running and, in my opinion, has the cleanest API, templating of the three.
 
Last edited:
Soldato
OP
Joined
1 Nov 2007
Posts
5,600
Location
England
Backbone is old. The author recommended picking up something like Vue.js, Google's Angular, or Facebook's React frameworks instead - and I agree. I used Backbone for years, it was pretty amazing when it came out, but now the three I just listed really do supersede it in nearly every way.

I recommend trying Vue.js first. It has the least amount of configuration required to get running and, in my opinion, has the cleanest API, templating of the three.

Thanks. I'll look into Vue.js. It sounds like an interesting option.

Personally I am loving Angular(6, soon to be 7) at the moment, currently writing a system in it. However its just for the UI. Back end is .net core web api and sql server. :)

I've wanted to get into ASP.NET Core now that it is cross-platform as I do most of my development on Linux. I'll also look into Angular.
 
Back
Top Bottom