Friday, May 25, 2012

Why Every Developer Needs to Learn Web Programming and What it Takes

Be a web programmer in less than four hours, yes that is my claim and I am assertive on that. learning web programming isn't rocket science, but people often get lost on their way as they start learning web programming since they are deluged with many technologies targeting the web platform.

OK, don't be deceived, this article isn't a tutorial on how to do web programming, because there is already opulent self explanatory resources on web, and adding any single line further will be redundant.

So, What is this article about ?
This article is basically intended to give an heads up to developers starting with web programming by delineating a systematic approach to learn basic web programming and explaining them why is it inevitable to learn web programming.
First part of the article speaks about the growing significance of web technologies which is leaving every programmer no choice but to learn web programming. And the second part unravels a step by step approach towards learning web programming and few links to free web resources available, making learning quick and easy.

Why every developer needs to learn web programming ?
Couple of reason, but to quote a few prominent ones.
  • Windows 8 and an increasing popularity of metro style applications.
  • Introduction of chrome OS and the popularity of chrome app store.
  • Re-engineered and elegant HTML5 UI
  • Bestowing browser with complex capabilities of native Multimedia playback, Canvas drawing, Geo positioning etc.
You like it or not, web technologies would be the most  hot and happening technologies of the future and it is coming in a big way. Developers working on OS components and other crucial system modules always had a misconception that web programming, which is basically mistaken as scripting is not for geeks like us. But in reality these misconceptions have become defunct.

To shed light on the facts mentioned above, significant number of metro apps will be coded in javascript by developers across the world, since it is quick and not a onerous task unlike other technologies like C++ and C#. Though the metro apps can be built using well known VB, C#, C++ no one would really acclaim this until there is something which can't be achieved by javascript. To quote an example metro style gaming apps using DirectX must be coded in C++ and there is no alternative for it.
With the release of Chrome OS which is complemented by chrome web store, and increasing number of web apps are built everyday. and if a developer is not there already, it leaves with very less opportunities to catch up with expedited technological growth.

With HTML5, the UI is revamped making web look more elegant and less cluttered. Browsers supporting HTML5 are fettered under the rules of W3C HTML working group to support native Video playback, Canvas drawing, Geo positioning and many other signification features. Once HTML5 and in turn Web Runtime can support these features it encourages significant number of app development with HTML5 UI and back end being built using other languages like C++, C#, VB.
Considering all the facts mentioned above, it makes it inevitable for every developer to learn and start programming for the web to be in concomitant with technological advancements.

Let's move on to the second part, 

What it take to be a web programmer ?
As mentioned earlier web programming is lucid, and not a painstaking task like other technologies. All which is needed is a proper guidance for a developer about what to start with and how to take it forward. This is very crucial since, when we speak about web technologies developers are deluged with hundreds of languages, frameworks, third party components  etc. Just to name a few we have HTML, XSLT, XML, XHTML, DHTML,CSS, JavaScript, PHP, DOM, Jason, JQuery, AJAX, ASP .. The list just goes on leaving developer confused about where to start with.

Below is my own experience when I started learning programming for web. Even I followed the well accepted approach of starting  with HTML, JavaScript, CSS before moving on to advanced topics, believe me it had its returns. Building a web page is basically an amalgamation of three technologies which results in an elegant web page. and they are,

HTML - Defines the basic structure of a web page.
HTML is an acronym for HyperText Markup Language. and it is basically a "Markup" language rather a programming language. A markup language, is collection of stylistic instructions, issuing the target rendering engine three basic instructions on,
  • What needs to be painted, 
  • Where it needs to be painted and 
  • How. it needs to be printed.
HTML is built on DOM architecture, where each HTML element is nothing but a DOM node. instructing web browser about the content to be rendered and its attributes.
CSS - Makes web pages look elegant with less work
By now you have a basic structure of web page which can convey the intended information, but let's present it in an eye catching way, use CSS, an acronym for Cascading Style Sheets.
CSS constitutes styling information to be used for different elements, and the reason it reduces significant amount of work is, once a CSS style is defined for an element it is applicable to all the occurrences of that elements hence avoiding specifying the styling information redundantly.
JavaScript - Makes web pages come alive by adding interactivity
Few people have a misconception that JavaScript is a variant of JAVA programming language, but the truth is far from reality. JavaScript and Java programming language share no resemblances and neither of them is derived from the other.
JavaScript adds intelligence to webpages so that, pages can talk back to the user. Rich web applications can be easily built using JavaScripts. Introspecting JavaScript it can be found that JS is in turn made up of two technologies, and they are,
  • ECMAScript - which defines the core language constructs, and
  • DOM elements - on which script acts on
And there needs an interface between these two technologies to work in synchronization and this is provided by WebIDL specifications. WebIDL is an interface definition language which prominently defines  javascript constructs for web runtime.

I hope this article, could elicit the intensity of need to start with web programming, and how to take it up further. for more resources kindly refer,
Happy Coding...

No comments:

Post a Comment