PlumberSurplus.com Ecommerce and Entrepreneurship Blog | About | Contact | PlumberSurplus.com Store

Web Development for the Non-Programmer Part Two

Posted on October 1, 2010 by Trevor

This article is the second in a series on web development for the non-programmer. For the first, go here.

Web developers use web technologies to communicate with others over the internet. Specifically, web developers create the documents that web servers pass to clients, either directly or through software that automatically generates the documents. Servers can create and provide any kind of documents: the client, however, must have software that can read and display the documents. The primary type of software used to display web documents is called a "browser". There are many browsers; several in common use are Firefox, Chrome, Internet Explorer, Safari, and Opera. Most browsers accept several different types of encoded document, such as HTML, CSS, and Javascript, that work together to display a web page. They also accept resources like images and embedded media, and can often be enhanced with "plug-ins" that recognize additional documents like Flash, Quicktime, and Silverlight. One of the web developer's primary jobs is to ensure that web pages can be properly displayed in all of the major browsers.

The basis for a web page in almost all cases is Hyper Text Markup Language (HTML) or a closely related language like XHTML. HTML is a standardized "language": a method for encoding content in a document. It's accessible to both humans and programs; it does this by wrapping human-readable text in "tags" that indicate the role of the text in the document. For example, a paragraph of text could be wrapped in "p" tags that tell the browser it is meant to be displayed as a paragraph. HTML also provides "links" to other documents in the form of URLs that can be retrieved either immediately (for embedded content intended to be displayed as part of the page) or when the user performs an action such as clicking on an link (when accessing a separate document such as another web page that's intended to replace the current page).

HTML provides the content, but it provides only rudimentary control over the formatting of the document. For that, most web pages rely on Cascading Style Sheets (CSS), a language specifically designed for formatting. CSS code can be integrated into the document or linked as a separate document. It provides the browser with descriptions of the elements of the document; for example, the color of a piece of text, or the size of an image. CSS is a more volatile language than HTML, and different browsers often display the same document differently. One of a developer's major skill requirements is the ability to make documents appear the same across disparate browsers, or at least to make them look good.

Increasingly, web pages are becoming "dynamic", providing animation and interaction without requiring a round trip to the server to retrieve another page. CSS provides a very limited amount of interaction, such as changing the format of a link when the cursor hovers over it, but general dynamic content requires a language such as Javascript. Javascript is actually just the most well-known among a family of languages based on the standardized ECMAScript. Unlike HTML and CSS, Javascript is not simply a method of formatting static content. It is a "procedural" language that describes the steps necessary to perform an action, and more closely resembles the languages like C++ that are used to create computer programs. Because of this, Javascript is able to make the web page act like a program, moving and responding to user input.

Internally, browsers use something called the Document Object Model (DOM) to keep track of the elements of a web document. The DOM is a hierarchical organization of page elements that stores all of their names and properties. Each of the technologies we've discussed in this article works by manipulating the DOM. HTML describes the elements on a page, and HTML tags often have a one-to-one correspondence with DOM elements. CSS sets many of the properties on DOM elements. Javascript can directly access and change the DOM, causing the browser to respond by changing what it displays to the user.

All of these technologies occur on the client's machine after it downloads the document(s) from the server. They don't have access to other documents or programs on the server unless the client retrieves them separately. They depend on the browser to understand them correctly and display their content to the user. Because they are visible directly to the user, they take up much of the focus in web development. Issues regarding these technologies often revolve around the changing standards, such as the new CSS3 and HTML5 versions, and support for various features among the browsers.

 


There are countless possibilities when remodeling your kitchen. Blend style and innovation with a pull out kitchen faucet, upgrade your design with a modern stainless steel Kitchen Sink, help conserve your food waste with an InSinkErator garbage disposer and keep your kitchen free of smoke and odors with Kitchen range hoods.

blog comments powered by Disqus