I wish to share my encounter! Let’s start.
Later AJAX introduced by Google through GMail app (though Microsoft IE has already have it through XmlHttpRequest ), which is revolutionary and it changes the way we develop apps. Developers considered AJAX as a powerful tool which can do miracles and it worked!
Big thanks to John Resig for introducing jQuery library targeting cross browser issues which helped a lot! I know YUI(not actively maintained now) library already exists, but jQuery is instant hit and developers started using it and it’s open source!
With introduction of iPhone & Android, Mobile browsers started dominating desktop browser and they are powerful. This triggered injecting responsiveness to web apps through CSS3 Media Queries!
Now developers started created packages of their libraries and pushing to npm (node package manager). Simultaneously CSS got better with frameworks like LESS and SASS.
Twitter created Bootstrap, a CSS framework which allowed to develop web app that are responsive targeting Mobile, Tablet and Desktop browsers! Also, they created bower, another package manager which is alternative to npm. Pros and cons of npm and bower is out of scope of this post!
SPA‘s got lot of attention and everyone started considering it instead of regular Multi page applications. It triggered to create MV* frameworks like Backbone JS, Angular JS etc.,
We have task runners – Grunt JS, Gulp JS to automate the tasks which we do repeatedly while building the app!
Frameworks changed the way we develop apps! Few of them :-
DOM Manipulation libraries:
jQuery, Lo-Dash, Underscore JS
Mustache JS, Handlebars JS
Backbone JS, Knockout JS, Angular JS, Ember JS, React JS
Build Tools – TaskRunner:
Unit Test Framework:
QUnit, Jasmine, Karma
At Last, there are few developers, authors who guide & inspire us. Here are the few of them –
Douglas Crockford, Paul Irish, Addy Osmani, Christian Heilmann, Remy Sharp, John Papa, Jake Archibald, Nicolas C Zakas, Yahuda Katz.
I strongly feel Web Apps will override Desktop apps. I will try my best to accomplish it!
Happy Web App programming!