Friday, April 22, 2011

Javascript and the future of web programming

First of all, I must say I was one of those people who always criticized Javascript, not considering it a "real" language like Java and always trying to avoid working with it as much as possible.

The main reasons for this aversion were:
  • I did not really know the language and its real power, I also must say it was quite difficult to find a very good book about the topic
  • Internet Explorer :) Just thinking I would have not only to test but also to program the same piece of code multiple times used to give me headache

But that was the past! Since that time things have changed a lot and a couple of technologies/techniques have completely altered the way we program/experience the web:
  • JQuery, Prototype & co provide similar higher level API for manipulating the DOM and, especially, for writing cross-browser code (as much as possible :) )
  • Web 2.0: which means Ajax, RESTful web services and incredibly increased User-experience and usability
Another big change is coming (actually it is already among us :) ) and it is going to shake things even more. I am talking, naturally, about Html5.
May 2011 represents the "Last call" for Html5, which means the specifications will be defined and within 3 years every browser will, hopefully, fully support all of them.
Here you can actually see how much your browser currently supports Html5.

Features like Canvas, SVG, Local database, Web workers, Audio/Video support and many others will increase the user experience more and more.
And what is the language to interact with all those features? Javascript, of course :)

Until today many people still do not want to learn the language and try to find any possible way to escape. In the Java world these ways are called GWT and Wicket behaviors, just to name a few.
But will those technologies still be able to "simulate" Javascript? Personally I do not think so, and if they will the results will probably be not very elegant and quite difficult to maintain.

What can be even more scary for some, is that Javascript is slowly conquering also the server side!
Node.js is already doing it quite well and surely more frameworks like Express.js will come out numerously to enforce the Javascript power on the other side of the web.

And what about the mobile? What about just writing one mobile client instead of having to develop/test/maintain an Android version, an IPhone version and a Smartphone version? Moreover you could reuse most of the code from the "standard" browser version!

This is why it is time to take a couple of books, study them accurately and adding Javascript to your list of expertise :)
Here is a list of books I found extremely helpful, they actually opened my mind and changed my feelings towards a language that I know almost love:)

1 comment:

  1. Inspiring article. I little bit confused choosing the technology either backend or front end. Your post clarified me and I believe that bright future ahead.