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
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:)
- Javascript: The Good Parts: Douglas Crockford's guide to the "Most misunderstood language in the world"
- Pro Javascript Techniques: from John Reisig, the creator of JQuery.
- High Javascript Performace: when it is time to tune your page you will definitively need this book!
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.
ReplyDelete