[Guide] - Web Development

Soldato
Joined
10 Dec 2003
Posts
6,348
Introduction

For 3-4 years, I've been designing and developing websites on a personal and, on a few occassions, at a more commercial level. I've decided to write this brief guide to web development to fill in all the gaps that I often see, when I read or come across others peoples' approach to the role.​

It's Not Just Design

A website can look absolutely amazing, shiny, new and even direct web design trends in new directions, but this does not make it a good website. It may be a great design, but if the development is shoddy then you've only covered one area of many others. SEO (Search Engine Optimisation), Code (and layout of), Layout of the Design and many more factors come into play that are, in my opinion, much more important.​

Roles


There are many different roles to be played, by many different websites, depending on what you wish to communicate.

The New York Times
http://www.times.com/

This website, for the most part, shares text. A lot of it. As such it needs to be clean, well layed out and easy to navigate. I think this site could do with being less cluttered, but it is a good example of how one might approach the representation of such media, online.

Mint
http://haveamint.com/

This site is entirely different; it's advertising a product. Notice how there are big graphics and use of large introduction text. The idea is that when somebody visits the site, it takes as little time as possible for that person to learn what the site is about. Also note how the name and the design are connected. Very fresh, like a mint. ;)
As you can probably guess, there are plenty of different things to take into account when designing a website. Think about the audience; age, sex, location, then there are other things to consider like, what kind of computer are they likely to be using and they will be visiting the site from which web browser?

SEO (Search Engine Optimisation)


SEO is, as the name implies, the optimisation of your website, so that search engines can view it, make sense of it and then properly put it in their index. I can not stress enough how important it is to make sure your code is clean, tidy and readable. For one thing, it helps during the development of the website and it actually helps the search engines to properly understand what the website is about.

The order of <h1>, <h2> tags, etc, as well as all the other HTML elements is absolutely vital. If it's a heading, use h1, if it's a sub-heading h2 and a sub-heading of that would be h3, etc. If it's a list, use <ul>... and so on. Indent the code where applicable. View the two examples below, to see what I mean:

Readable, Tidy and Clear
Code:
<div id="container">

	<div id="main">

		<h1>Heading</h1>
			<p>Introduction text.</p>

		<h2>Sub-Heading</h2>
			<p>Text for the sub-heading.</p>
			<p>... and so on.</p>

	</div>

	<div id="sidebar">

		<h3>Sidebar Heading</h3>

			<ul>
				<li>List Item 1</li>
				<li>List Item 2</li>
				<li>List Item 3</li>
				<li>List Item 4</li>
				<li>List Item 5</li>
			</ul>

	</div>

</div>

Messy and Confusing
Code:
<div id="container"><div id="main"><h1>Heading</h1><p>Introduction text.</p><h1>Sub-Heading</h1><p>Text for the sub-heading.</p><p>... and so on.</p></div>
<div id="sidebar"><h1>Sidebar Heading</h1><ul><li>List Item 1</li><li>List Item 2</li><li>List Item 3</li><li>List Item 4</li><li>List Item 5</li></ul></div></div>

Notice the difference? The second example, unlike many sites online, doesn't have bad code, and the Search Engines won't struggle too much, but can you imagine trying to find your way around it, to find a problem and fix it?

Compare it to the tidy example, and you'll realise just how difficult it can get. Especially if the coding was also horrible.

For Now...

... that is all. It would be great if other members could contribute to this thread or raise any further points you feel that need to be made. Web development is not, and never should be, as easy as programs like Dreamweaver make it out to be. At least, not for a website you wish to become successful in all aspects.
 
Not trying to be offensive but you are way off point with the SEO stuff, I get what you are on about with only using one H1 but it doesn't matter about spaces or tabbing as a spider inspects the document structure and a lot of sites delierately take out he whiespaces to save bandwidth
 
Well done on your effort, there is room for improvement I think.

Is this a web dev or SEO guide?

a lot of the key points of SEO have been missed, but SEO is a massive area.

To name a few.....Things like meta tags, w3c validation, structure of other tags optimised for SEO, not just limited to header and lists. Then there is the other nitty gritty stuff, like finding out what keywords to optimise on based on what you demographic inputs into the search engine. Whitespace does not make a difference....just improves the readability of the markup.
 
This is how I would approach a sticky for the HGP forum newbs. There are plenty of "how to html" guides out there but not many primers for the subject.

-------------------------------------------------

So, you want to make a website?

You've spent the last couple of years using the internet extensively, but you've never really taken a look under the hood. Now the time has come where you would like to have your own little corner of the web, but have no idea where to start.

First things first - decide what you want to achieve. I'm not talking about a visual style, or even whether it's an e-commerce site or a blog that needs building. The first choice you have to make is how deeply involved you want to get. If you just want something up and running so you can start sharing your thoughts with the world, or sell widget X, then there are plenty of excellent off-the-shelf applications you can install with the minimum of fuss. Rolling your own is certainly not the quickest, and probably not even the best solution for you. See the other HGP forum guide "I need a blog/e-commerce/app-x and I need it quick".

If you want to get your hands dirty, then read on. This guide wont teach you the HOW, but hopefully it will serve as a seed to help you get started.

The Basics

Most people have heard of HTML and know it has something to do with web pages. So what is it? Well basically, it's plain text that has pre-defined "tags" which tell the browser program what the content means.

"Plain text?" I hear you ask? When you edit a Word document you're used to seeing fonts, font-sizes, font-colours, and all the other formatting options. Plain text is just that; plain. Just the text itself, saved without any additional styling information.

Notice that I said "what the content means" and not "how to display the content" above. This is a very important distinction and it will mean the difference between creating a modern, useful site or getting a call from 1998 saying it want's it's www back.

Content, (or copy, or whatever you want to call it) usually consists of headings, paragraphs, lists, data tables, images, etc, no-matter whether you're writing for the web or for print. When you create it in HTML for the web, you need to let the browser know which part is which, because it isn't intelligent enough to guess from the words alone.

To do this, you use HTML "tags" (which come in pairs - an opening tag and a closing tag). The tags tell the browser "the content inside me IS a paragraph/heading/list/etc" and not "display this bit of text like a paragraph/heading/list/etc". Again, if you take anything from this guide, make sure you understand this point.

The styling information can come later, and is exclusively the domain of CSS. You wouldn't paint your new house while the walls were still being constructed, so worry about how the page looks afterwards, and concentrate on getting the structure right for now.

There are many excellent online resources for writing HTML already, so I won't attempt to cover it here. The best place to start is probably http://www.htmldog.com/guides/htmlbeginner/, but before you go...

Tools

You know that trip you made to the stationary shop before each school year as a kid? The one where you bought a new pen / protractor / compass / bag full of rubbers? That day is today.

The good news is everything you need to start making websites is free. Now some people would say at this point that you already have everything required; just load up notepad.exe. Whilst it's strictly true that you can indeed write a website in notepad, it's similar to slicing a loaf with a butter knife - you can do it but you're much more likely to make a mess.

So what do you use? Start with a good text-editor. Not all text-editors are created equal, but most of the time it comes down to personal taste and what you are comfortable with. If you're on Windows, then take a look at Notepad++ / SciTE / Textpad / Editpad / UltraEdit / Crimson Editor / E editor to name but a few (and here's a few more). If you're on OSX, then I've heard Textmate is the dogs' proverbial undercarriage, although you will have to stump up some readies.

IMPORTANT - repeat after me - "I will not start with Dreamweaver, I will not start with Dreamweaver, I will not start with Dreamw..."
...you get the idea.

You'll notice once you've installed one of these magical new toys, that it doesn't look any different from notepad except for a few extra icons. So why exactly have we bothered? The difference comes when you start to write any form of code. Most of these editors will recognise HTML as soon as you save the file, and once they do, they will start to colour your HTML code to make it easier to read. Some might even help suggest closing tags, automatically indent your code, or highlight errors. See? Much nicer than boring old notepad.

So how do you view your efforts? It's easy - just open the html file you have just created with a web browser. Firefox is probably the best option here, for reasons you'll discover soon enough, but for now IE will get you by.

Congratulations on making it this far - you have some interesting, enjoyable, and sometimes hair-pulling times ahead. Web development isn't complicated, but it does require patience. Persevere and you'll be rewarded.
 
I only covered a small part of SEO and mixed it in with the importance of code layout. That, in itself, is nothing much in terms of SEO, but it's still an important thing to take note of and practice.

Besides, it was 2am and maybe my mind wasn't totally in gear :)
 
It's looks like a good start so far. I would like to suggest something like gPHPEdit for Linux. Despite its name it supports syntax highlighting for SQL, CSS, XHTML, PHP, C, C++, Perl and Python. Not a bad list to choose from. You can even edit or create your own highlighting themes too so there is room for expansion should you be editing something different.

It is a tabbed program too, so you wont have a million windows open all over the desktop. It also has debugging for PHP [you will need PHP installed of course...].

It is a very good application and I love it. I do need to stress it is Linux-only. In Ubuntu you should be able to get it from the repositories like so:

Code:
sudo apt-get install gphpedit

I imagine the other major distros will also carry it :)

I think a good addition to any beginners guide to web development is creating dynamic/interactive web pages. Or rather the options, like so:

PHP - A free, open-source scripting language for creating dynamic webpages. It is a Server-Side language meaning the server hosting the web page does the work. Your browser has no idea what is going on, it just displays the results.

ASP/ASP.NET - Non-free Microsoft scripting languages. Same as PHP in that it is Server-Side.

Javascript - A simple C/Java-like scripting language for Client-Side trickery. Javascript is run by your browser and is used for anything from fancy roll-over menus and pretty effects to interactive items such as questionnaires, shopping carts etc.

The above are written from memory so one or two details may be wrong :)
 
why would anyone not just use vim
Inability to manage projects, inability to interact directly with SVN, inability to maintain synchronous connections with ftp, inability to auto-build, inability to run a debugger, inability to view project outline(s), function reference, tooltip information.

Just a few reasons. :p

There is no need to bring up SEO. All you need to worry about as a web developer is that your site is accessible, user friendly (no burrowing or awkward navigation) and for the most part, satisfies web standards.
 
Inability to manage projects, inability to interact directly with SVN, inability to maintain synchronous connections with ftp, inability to auto-build, inability to run a debugger, inability to view project outline(s), function reference, tooltip information.


http://www.vim.org/scripts/index.php

Eriedor said:
Any guide to web development must mention firebug and IE developer tool bar. Absolute musts imo!!

...and Live HTTP Headers and Web Developer and ColorZilla and MeasureIt and JSView.
 
Back
Top Bottom