top | item 6171402

Ask HN: Are JS frameworks the future of web development?

8 points| gautamnarula | 12 years ago | reply

The development of server side and client side Javascript frameworks has got me thinking about the future of web development. Given that there are now well established JS frameworks for the full web dev stack, will they eventually supersede the non-JS frameworks?

With those frameworks, you run the risk of having "backend" guys who only know Ruby/Python/Java, and "frontend" guys who only know JS/HTML/CSS. I fall into this camp--I have experience in server side development (a bit of Rails, and Django), but have virtually no JS/frontend dev experience. It seems like this problem is mitigated somewhat by having both server side and client side frameworks in the same programming language (JS).

Why would someone new to web dev not want to go with the JS frameworks, since it's easier to become a full stack engineer? As someone who is still relatively new to web programming, would it be advantageous for me to learn node.js and one of the frontend frameworks deeply? Right now I'm developing in Django since Python is my favorite programming language, but I haven't gotten too deep into it yet.

9 comments

order
[+] CmonDev|12 years ago|reply
It's better to know a couple of languages - one mainstream and one non-mainstream. The JS developer's rates will gradually go down over the time due to oversaturation. Additionally I struggle to see the future where complete back-end including message queues, workflow engines, database API etc. are all in JavaScript. You don't want a language that dynamic for those stuff. Additionally JS as language is lacking innovation, it will be taking years for standards committee to release new versions. This is one of the reasons LLVM and asm.js are better ideas.
[+] sahrizv|12 years ago|reply
This post could well have been written by me as I am also in the same boat as you :-)

Anyways, I have chosen to stick to Django for backend( and Ember for frontend). My reasons mainly are the relative unsuitability and incompleteness of Node when compared to Django. If you are onto learning stuff, and not doing some serious (shippable) stuff, I'd say relish the beauty of JavaScript from both ends.

[+] gautamnarula|12 years ago|reply
What made you choose Ember for frontend, versus Backbone or Angular?
[+] ds_|12 years ago|reply
If you're a web developer and can only learn one language, it should definitely be javascript. If I could only learn one frontend framework, it would be angularjs.
[+] hugofirth|12 years ago|reply
I would second the AngularJS recommendation. As to the original question I should think that very much depends on what you mean by "future".

Certainly in the foreseeable future Javascript provides almost the only practical method of delivering complex front-end applications. As a result of this, it's star has risen and plethora of great tools follow in its wake (AngularJS, Ember, Backbone etc...).

However we obviously have no concept of what form the web may commonly take on a larger timescale (unless you're a futurologist - but they seem to get it wrong as a pastime). My best bet is that in the more distant future Javascript (in whatever form it may take at the time) will be in use, but such use will be abstracted beyond the purview of many developers.

[+] ds_|12 years ago|reply
I'll add that javascript isn't the only choice for full stack development in a single language. Personally, I'm a big fan of clojure/clojurescript. But knowing js definitely helps...
[+] gautamnarula|12 years ago|reply
Do you have a recommended path to learning JS and a frontend framework? I never did much beyond a making a trivial JS app, and that was over 10 years ago.
[+] illyism|12 years ago|reply
You should definitely try out JavaScript. At least in the front end. Later on you can experiment with Node and see if you like it.