mrvautin

Advantages and disadvantages of a static html website vs a complex dynamic website

What is a static website?

A static website is comprised entirely of HTML, CSS and Javascript code. In the past static websites were coded by hand but now there are a few builder tools which can compile and build a static website for you.

Advantages

  1. Speed: Static website generally render much faster than a dynamic website due to not having complex rendering, database queries etc.

  2. Cheap: Static websites can be developed and designed by almost anyone meaning there is reduced costs employing a developer to setup and maintain your website.

  3. Simplicity: Code is easy to read, easy to write and and easier to maintain. Templates/themes are normally provided and can easily be altered to suite your website needs.

  4. Hosting: There are more hosting options available for a static website, many of which are even free - eg: Github pages or Netlify which grab your code, build it and host it right from your Git repository. Server hosting needs less resources too due to only serving static content and not needing a Database and server processing.

Disadvantages

  1. Simplicity: Simplicity comes at a cost. Static websites lose the ability to do complex processing, database queries etc.

  2. Limitations: There are certain things you simply cannot do making static websites suited to certain website types.

When are static websites a good choice?

Whilst static websites are not suited for all situations, there are some really good instances where a static website is a good alternative to a complex dynamic one. Such as:

  • Blogs
  • Business websites
  • Community information
  • Documentation
  • Personal website
  • Resume
  • Portfolio
  • Photographer website

Getting started

The easiest way to get started is to grab yourself a builder like squido. There is some boiler plate / template examples for a blog or a documentation website to get you started.

You can simply clone these repositories, edit the template files, add your colors to the CSS and add your content. You can then follow the steps to deploy to a hosting provider.