featured023

Static and Dynamic Websites: There's a Difference

‌‌
You may have heard the words static and dynamic websites thrown around when people talk about websites, but still not really know what they mean, or even how they're different. By the end of this article you should have a firm grasp on the biggest differences between the two and hopefully, even feel confident explaining it to someone else. It all goes back to the idea that there are websites and web applications. A web application is a website, but a lot of websites can't be a web application. For example, Facebook is a website, but it's also a web application. A hometown cupcake place's simple site, like Cupcakes To Go Go, is website but not a web app. You'll often hear static sites called websites and dynamic sites called web apps.  

Static

A static site is the most basic kind of website, and the easiest to create. It requires no server-side processing, only client-side. Client-side technologies are HTML, CSS and JavaScript. In simpler terms, it requires no use of the back-end. A static website is delivered to a user exactly the way it's stored. That means that nothing on the page will change by the user or even the site administrator, unless there's a redesign of the site or the site administrator goes directly into the code to change it. Nothing is stored but the actual pages of the site. There are no users, no comments, no blog posts or any interactivity. No programming languages are required to make a static site. Technically JavaScript is a programming language, but it's not required to make a static site. However, if a site utilizes JavaScript, but no PHP or any other programming language it's still considered a static site, since JavaScript is a client-side language.  

Image of fanned out brochures

Creative Commons image by Flikr user Antonio Bonanno

 

Static web pages are made of “fixed code” and unless the site developer makes changes, nothing will change on the page. Think of it like a brochure for a business. The brochure can’t just change itself –  to change it someone has to create a new one. That’s why static websites are sometimes referred to as brochure sites, since they give you a lot of the same information that you could get from a brochure.

So, if you need to make a site that needs to just get information out there and not be updated regularly, creating a static site would be much simpler and probably effective for you.

 

Dynamic

There’s a simple way to determine if a site is dynamic. If you can interact with it, it’s a dynamic site. So, most of the sites you probably visit are dynamic sites, be it Reddit, Twitter, Facebook or even Digital-Tutors. The way that you can interact with the site, and just clicking a link within the site doesn’t count, is more like commenting on a post, creating a user profile or making a reservation.

Examples of dynamic sites are blogs, e-commerce sites, calendar or to-do sites, or any site that needs to updated often.

Dynamic sites use languages like PHP to interact with information stored in a databases. For this reason, dynamic sites are much more complicated and expensive to create. Not only is web hosting required, but databases or servers must be created as well. The languages used to create dynamic sites are also much more complicated than the client-side languages.

 

Image of servers at CERN

Creative Commons image by Flikr user Torkild Retvedt

 

Most dynamic sites utilize a Content Management System to, you guessed it, manage their content. Often, developers will create a custom CMS for their clients (using PHP and MySQL), but that’s not necessary. There are tons of free systems available for your use, like WordPress, Drupal and Joomla.

You might hear that PHP and ASP.NET are used to generate HTML dynamically. That really just means that those programming languages can, with direction, change and write HTML without a person having to actually go into the code and change it.

Another term often associated with dynamic sites is CRUD, which stands for Create, Read, Update and Delete. All four of those things happen when you’re working with a dynamic site because they refer to functionality of a database. Think about a blog. In any blogging platform, that’s successful anyway, you have to have the ability to create content, then be able to read or view that content on the page. You should be able to update or edit your posts and then have the option to delete them as well. All that work happens in the database. Content management systems make this process possible.

 

Conclusion

As you begin your web design journey, you may find yourself creating a lot of static sites first, and that’s ok! It’s better to completely understand the client-side before you jump in to the server-side, anyway.