Web Development

kate text editorWeb development is the coolest job on the planet.

Working on a spaceship would be cooler, but then you wouldn't be on the planet. Building website in space would be substantially cooler then building a website on Earth.

Static Websites

Websites in their simplest form are a series of static HTML files delivered to a web browser by means of a web-server such as Apache, IIS or nginx.

HTML files may be developed by hand using a text editor or a WYSIWYG editor. Greater control over the look and feel of a page can be achieved by editing HTML in a text editor. Potentially far lower skill levels are required for using a WYSIWIG editor. All modern word processors such as Open Office, Libra Office and Microsoft Office support saving to HTML, however the quality of the code produced can be very poor.

Major advantages of static websites include:

Text Editor

To build a HTML document in a text editor it is highly advisable to use a programmers text editor. Programmer text editors often include useful features such as syntax highlighting, auto-completion and validation.

Common programmers editors include:

Windows
Notepad++
Mac
TextWrangler and Kod.
Linux
Inbuilt editors are fine (i.e. gedit or kate)

If you are editing files on a remote UNIX system it is advisable to use a command line text editor such a VIM. VIM is difficult to learn as there are many keyboard commands to memorise. However once you are familiar with its many tools and utilities substantial productivity gains are possible.

Content Management System (CMS)

Once your website grows beyond a few pages or editors, updating it can become a rather arduous. At this point it may be time to consider migrating your website to a CMS.

A CMS will typically provide functionality for theming your website as well as managing its users, content and structure.

There are countless CMS options to choose from. The most popular being:

Wordpress
Blog focused but very capable.
Joomla
Relatively simple to get up and running
Drupal
A very modular system.

Drupal

Drupal is a very common CMS written in PHP that it is typically deployed in combination with MySQL and Apache on a Linux host.

Very little is included in a base Drupal install. Functionality is added by way of modules. There is a massive array of modules available to fulfil many requirements.

Common modules include:

Views
For building lists of contents such as indexes and landing pages.
Ubercart
For shopping cart functionality.
WYSIWYG
For administering WYSIWYG editors such as tinymce.

Drush is a very useful utility for managing Drupal websites. Drush can be used to update and administer your Drupal site by providing commands that can be run on the command line such as:

“drush up”
to update your Drupal system
“drush dl module_name”
to download a modules
“drush en module_name”
to install a module
“drush cc all”
to clear your websites cache