Overview of Modern Web App Development

I started developing websites from the days, where JavaScript is considered as BAD and should be as minimal as possible – preferably for input validations. But things got changed over the time and JavaScript became the key for Web Apps!

I wish to share my encounter! Let’s start.

It was those days where Web App development is ruled by Server Side technologies like Classic ASP, ASP.NET, PHP etc., and JavaScript is used to do input validations. No AJAX. I have witnessed waiting for the site / app to load by looking at the blue progress bar in Internet Explorer (IE was dominant browser at that time).

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!

JavaScript started playing the key role in high performance web apps, where it triggered for Single Page ApplicationsSimultaneously developers started facing cross browser issues and it was really hard to achieve cross browser compatability! Hope you all agree with me.

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!

JavaScript started ruling the client side development and it’s time to take the JavaScript to Server Side. Ryan Dahl did it and called it as Node.jsIt again changed how we write server side code. May be if you wish to check first presentation on Node.js by Ryan himself!

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

HTML Templates:

Mustache JS, Handlebars JS

JavaScript MV* Frameworks:

Backbone JS, Knockout JS, Angular JS, Ember JS, React JS

Package Manager:

npm bower

Build Tools – TaskRunner:

GruntJSGulpJS

Scaffolding Tool:

Yeoman

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!

One thought on “Overview of Modern Web App Development

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s