14

For a beginner web developer who is still doing web development the conventional way (PHP/J2EE/Struts on server side, HTML/CSS/Javascript on client side), I was bowled over by the recent blog post on Trello technology stack.

I can't help feeling overwhelmed by the list of new technologies and frameworks mentioned in this post and specifically the ubiquitousness of Javascript frameworks.

My question is, is this the future of web development? Are there any articles, websites or resources that can help me make sense of where each of these new frameworks fit in a modern web application ?

6
  • You need to Fire and Motion, Framework developpers are shooting at you ! Relax and get things done =)
    – Matthieu
    Commented Feb 5, 2012 at 5:09
  • 2
    Hmmm... You should really avoid reading What should every programmer know about web development? :P Anyways, don't worry about it. Concentrate on exploring & learning what's actually necessary for your projects, don't get lost in the hype...
    – yannis
    Commented Feb 5, 2012 at 5:13
  • Concentrate on learning javascript first. Once you do that, learning a framework is much easier. js frameworks are mostly just libraries, so they don't carry with them a different mindset - just an API.
    – Zirak
    Commented Feb 5, 2012 at 9:28
  • Reading Fire and Motion actually is a form of "covering fire"
    – setzamora
    Commented Feb 7, 2012 at 2:14
  • I think we should learn all of them. And by all of them I mean jquery.
    – Anthony
    Commented Sep 20, 2013 at 10:09

6 Answers 6

4

I don't think it's physically feasible to expect one to know all (or a quarter of) different JavaScript frameworks out there. I'm a noob when it comes to web development, but I've dabbled from time to time just to keep things interesting.

My advice would be to just pick a framework that looks interesting and start working with it. jQuery would be my first choice for general purpose utility things. It allows really high-level functionality with few lines of code but if you are a little bit more curious about how it works, it will also teach you just how far you can push JavaScript in terms of language itself (did for me anyway).

Just like learning any other API/library, it will take time but you'll start noticing common themes/patterns and eventually it won't be as overwhelming when starting with a new framework/tool and you'll be able to pick up basic concepts much easier.

So take a step back, then take a deep breath and just look around see where you want to work on and what would you like to build/improve. If you want to do Trello plug ins, then you know which framework to go look at.

0
4

Learn enough about each framework to be able to pick and choose technology that suits your current projects, and what kind of projects you envisage you will be working on in the future.

Things do seem to be heading the way of javascript - the direction of browser technology, the expectation for rich web applications etc. I read somewhere a few months ago that javascript is going to be a core language in windows 8 as well, so a good solid knowledge of core javascript is going to be generally useful whether you're working on websites, mobile, or whatever - client side, server side, and desktop apps.

I think that jQuery is a good solid place to start; it's mature, the docs are good, it's got good use of events and callbacks, you'll find your feet with the scoping rules that seem a little odd, and although you have a lot of power available to you, it's not so abstracted that you feel you are relying on magic.

Also, it'll be a good exercise for you to try and build something with a lot of ajax if you haven't before - controlling portions of your page via the dom rather than a full page refresh every time; to really get a feel that you are building a rich javascript web application broken down into client-side modules, rather than being in the mindset of having a back-end application that has a front-end interface with some effects. (I'm saying this because this is where I was not so long ago)

It's when you build something javascript-heavy like that, that you might start to think "I'd like a js framework where I can do MVC" (backbone), or "I'd like a js framework where I can do MVVM" (knockout), and so on. You and your projects flavour what additional frameworks you choose to work with, not the other way round.

node.js could become a major server-side platform down to scalability, I haven't really tried it yet (sorry!) but my feeling is that the biggest things to come out of learning that might be the low(ish)-level network/web tech (if you have been shielded from sending your own headers, listening to ports and so on up until now), and the different approach to concurrency, rather than the language itself.

3

First of all don't get too worried about not knowing everything. It takes years to learn all the items on that list to a good level.

Pick one technology set, (ie PHP Javascript CSS and MySql) and get comfortable with that. Once your comfortable you can start picking up extra technologies one at a time.

You don't need to be comfortable with a huge list of things to be a competent developer. View that list as something to work towards not something you need before you can start.

2

Especially with Javascript, I think it is most important to learn the language itself. If you really learn Javascript and understand its wackier corners, then picking up a framework will be cake, and you'll really be able to appreciate all the work the framework is doing for you. More importantly, you'll be able to use native Javascript calls in situations where it's either more efficient or where the framework is doing something you don't want it to.

Also, try and pick frameworks to learn that make the most sense for what you are doing. For example if you are doing vector graphics, learn about Raphael.

And, this is something I myself don't do enough of, don't just learn the frameworks, peek inside them. The great thing about Javascript is that the source code is right in front of your face. Most (all?) frameworks make their source code available in non-compressed form. Look at the source. This will teach you about practical and hopefully good Javascript, and you'll be able to apply this knowledge to whatever framework you use.

Finally, you'll often find necessity dictating the frameworks you learn. If you know jQuery, but you're brought into a mature project that uses Mootools, you'd better choose to learn Mootools.

2

In my opinion, I think that core web technology should know is:

GUI: HTML and CSS to style HTML

Control the Client Side: JavaScript is best your choice, with many library like jQuery, Prototype... (you can learn pure JavaScript or learn JavaScript but with jQuery approach, for easier to apply to your project rapidly)

Control the Server Side: there are many server sides technology like: PHP, ASP.NET, JSP, Ruby on Rails, Django Python, CodeFusion... choose one of them to start to learn. (I suggest to use Ruby on Rails or Django Python for easy and powerful framework/technology)

Data: JSON or XML

After you conquer all I lists below, according to your work, you can learn new technology easily because all new technology derive from them.

-2

Depends on your requirement . Then you need to review the frame works . Which ever will suited best for you go for that http://javacourseblog.blogspot.in/2013/08/mvc-in-javascript-angular-vs-backbone_1416.html

2
  • would you mind explaining more on what it does and why do you recommend it as answering the question asked? "Link-only answers" are not quite welcome at Stack Exchange
    – gnat
    Commented Sep 20, 2013 at 10:36
  • 1
    the guy is confuse which framework he need to learn or he need to learn all . There are several frameworks like Backbone angular and so on . so i meant it depends on his requirement . every framework have there own advantage and disadvantage . And i ain't mean he need not to learn pure Javascript. You can't digg inside any framework without any Knowledge of that language. Now tell what is wrong in this . Commented Sep 20, 2013 at 12:12

Not the answer you're looking for? Browse other questions tagged or ask your own question.