JavaScript and the paradigm shift in web programming

javascriptweb-development

If my memory serves me right, there was a time when using JavaScript for web development was hugely frowned upon, because among other things, it was a privacy and security concern for users and some people just had it off.

Nowadays, you can hardly see a major website that doesn't use JavaScript, and many websites will cease to function altogether without JS, graceful degradation be damned. Either that, or usability will be severely impacted, like on SE sites.

What has changed between then and now that made JavaScript practically ubiquitous in web development? Or is my assertion that JS was frowned upon a figment of my imagination and it has always been this way?

Best Answer

JavaScript has had both terribly bad and amazing features.

Earlier, when there was no Ajax, masses weren't aware of those amazing features. Web pages were just documents with some design elements (colors, images, textures, fonts, etc.) adorning them. The sense of dynamism and asynchronicity were unknown for the most part. IE 6 was dominant and Microsoft was way too busy selling other things.

...What has changed between then and now that made JavaScript practically ubiquitous...

  • The inception of Ajax has changed everything. Everybody wanted to make their pages ajaxy and THAT forced them to give a second (and serious) look at JavaScript.

  • People like Doug Crockford, John Resig, Steve Souders, and others (forgive me if I forget other important names) started spreading the word on the goodness of JavaScript.

  • About the same time, browser vendors started honing their browsers and making JavaScript performance better. JIT was introduced and that made the competition even more lethal. Microsoft woke up again.

  • ECMA got serious about JavaScript's future and started working hard on next versions -- which resulted in ECMAScript 5.

  • HTML5, DOM3, CSS3 all are contributing to JavaScript's increasing reign.

  • JavaScript has embarked to take on other domains also. Thanks to CommonJS.