CrankBerry Blog Title
2010


(259) Comments

The ultimate newb's guide to learning web development (Pt. 1: The Basic)

If you are just discovering the world of web development but know nothing about HTML code, css and mumble-jumble, here's a good place to start. In this article I will outline in general where to find resources and some good skills to pick up on to becoming a minor expert in the field.

To be honest, web development is all about practice and understanding, of course creativity as well (I'll get to this later). Here's a little scope about how I picked up on web development. I started making websites through FrontPage when I was 13, using only a bit of HTML and mainly the WYSIWYG (what you see is what you get) editor. It wasn't until I was 15 that I started developing with HTML and using CSS. When I was 18 I felt the need for more power in my websites which is when I picked up PHP and MySQL. About a year ago was finally when I started picking up on Javascript.

Basically, I learned everything through every resource except taking classes. I would search through the web, read books from the library or just pure trial and error. It wasn't insanely hard to gather all the information but the only times when I really learn was through projects and experiments. Web development is definitely a hands-on type of thing. Point is, if you want to learn web development you'll have to spend 30% reading and 70% doing.

The Program/Software

Web development can be accomplished through a few languages and most of them don't require any special software to write. The basic notepad that came with your Windows is capable of completing the task. I prefer to use a software that color codes coding to mitigate headaches. Here's a list of software that you could choose from.

I personally use Dreamweaver on my computer as I have been using it since I was young so I have a nostalgic feeling to it. When I'm on the go I have notepad++ on my USB.

Learning HTML

Before you learn anything else, you have to be really good at HTML (hyper text markup language). The basic of websites all boils down to this language. HTML is the markup language containing markup tags that creates the webpage document. Every website requires HTML to make it work, yes even Flash websites.

Your basic website is wrapped in an opening and closing HTML tag. Opening tags are surrounded by arrow brackets while closing tags are the same but there's a front slash immediately after the first arrow bracket like such

<html></html>

Within the HTML tags there will be a HEAD and BODY tag. The head tags will describe items related to the website but will not be produced in the content. Items such as site title, meta tags, CSS, and Javascripts can be defined in the HEAD tag. The BODY tag will describe content that will be outputted to the user. A code like this:

<html>
<head>
        <title>Test Page</title>
</head>

<body>
        Hello world!
</body>
</html>

Will output "Hello world!" on the browser with the title Test Page in the browser title bar. Once you get this down you're ready to start building the website. The goal following this is to output the content you wish to show, it could be paragraphed text, images or tables. Everything you wished to use requires a markup tag to make it work. It'll be redundant for me to give you a tutorial on all the tags but here are two resources that are great.

w3school is great, as they are short writeups but concise so you can digest all of the content quickly. HTML.net is more detailed and a great read too but they incorporate a bit of CSS so its better to read it after w3school to cross-reference some of the ideas and undestanding. Once you've got this down you're ready for some CSS.

Learning CSS

CSS (Cascading Style Sheet) is a language that focuses on the style and layout of your markup language. Its a common standard now generate the accurate aesthetic results of many websites. There are a few ways to include CSS in your website.

//Link to a CSS file – Goes in the <head></head> tag
<link href="css/styles.css" rel="stylesheet" type="text/css" />

//Have the CSS in the <head></head> tag
<style type="text/css">
        .css { font-weight: bold; }
</style>

//Inline with content markup tags – in <body></body> tag
<p style="font-size: 22px;">this is a paragraph</p>
 

Once you have your website linked with some CSS you can start controlling your website. Here are some example of CSS controlling a webpage.

//All paragraph content will be bold and have a line height of 22 pixels
p { font-weight: bold; line-height: 22px; }

//The following code will modify all markup tags with the class "change" to have a background color of black
.change { background: #000; }

//The following code will modify the element with ID "element_1" to have a background color of white
#element_1 { background: #FFF; }

Here are the resources to read to learn all about CSS.

Again its good to go over the basics with w3school first then head to HTML.net.

At this point you should practice making a few websites with HTML and CSS. Try to envision something and then build it. The best practice is to try to design something in Photoshop then try to build a web site from it. As I always tell developers, just design it and I'll make it into a template, because I don't believe there's many design limitations that can't be built with HTML and CSS. By doing this exercise it'll help you learn different methods of building different elements.

Notes and Reminders

There are some things you should keep in mind when building with HTML and CSS though.

Using tables for design

This is a no and not recommended. A lot of people argue over this topic. Some believe that tables are good for design because its easier to control and it holds the shape of the original design better. The problem is tables are clunky, heavy in coding and not very flexible. Tables have specific standards to them so if you have two rows and two columns, the columns have to be equal width while rows have to be equal height. In order to work around that you'll have to nest your tables, imagine dealing with that. Its also less flexible for future expansions. You should use a table for tabular data though. Extreme non-table believers will argue that you don't, they can produce the same effect with other elements. They sure can but when it comes down to the user extracting your data (copying to word or excel), copying for a table is much easier than anything else. It just makes sense.

Avoid absolute positioning of everything

Many developers when they start will notice the amount of control with absolute positioning. It is not until their design gets more complicated that it all falls apart. Absolute position provides more flexibility but will sometimes diminish your control, use wisely.

Test in multiple browsers

There are various browsers on the web. It sometimes depends on who your website caters to but mind as well cover the major users. Test on desktop machines with Internet Explorer 6, 7, 8, 9, Chrome, Firefox, Safari. On mobile devices with Android, Opera Mini, iOS. Just make sure everything's consistent. This is a good chance to test how good your skills are too.

TL
This entry was posted on Friday, September 24th, 2010 at 10:22 pm and is filed under Uncategorized. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.
BL

259 Responses to “The ultimate newb's guide to learning web development (Pt. 1: The Basic)”

  1. Derrick Derrick says:

    civilized@phosphate.cappy" rel="nofollow">.…

    ???????….

  2. lloyd lloyd says:

    defect@lass.colossal" rel="nofollow">.…

    thanks!!…

  3. George George says:

    loads@topmost.factness" rel="nofollow">.…

    tnx for info….

  4. Leroy Leroy says:

    assented@housewives.radetzky" rel="nofollow">.…

    thank you….

  5. Ron Ron says:

    phelps@teen.wilder" rel="nofollow">.…

    thanks!…

  6. tim tim says:

    grandiose@reprobate.transvestitism" rel="nofollow">.…

    thank you!!…

Leave a Reply

Spam protection by WP Captcha-Free