Web Development
Web 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:
- Performance Relatively few resources are required to serve pages.
- Security The attack surface of your website is reduced to the core functionality of your operating system. If you keep your OS up to date you should be safe from attack.
- Cheap The skills required to build and host your website is relatively low leading to cost reductions.
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