A website can nowadays be described a small-piece of application, or some cases quite a large-piece of complex software. Ultimately a website outputs what a browser understands (Chrome, Firefox, Safari, Edge or Internet Explorer – may the latter rest in peace). The browser, in essence, is a renderer of front-end code:
- HTML: layout and structure of the webpage, where goes what.
- CSS: styling of the site, spacing, colours, fonts, and much more
- JavaScript: animations, dynamic elements and any logic required that can be done one the browser
The browser is also able to render or output sound, video, raster and vector images, and much more. But there essentially it is showing what the web server provides. The web-server, where the website is hosted, provides the frontend code and sends it to the user’s browser. But the front-end code doesn’t necessarily mean that is stored like a document file and send as is from a storage. In many modern websites the web server would have a whole application running on it which gathers the information from a database, combines it as a puzzle, and sends it as a whole package to the browser.
So, what we usually see as one page in a website, is ultimately a result of what is known as a Content Management System. A CMS is a web application software which usually has a administrator backend, to enable the owner of the website (or developers), to easily update the website dynamically. Moreover, it also provides an user-friendly interface to avoid use of code to create pages and posts, and therefore making it much simpler to keep a website updated without the need of technical knowledge, most of the time.
Once setup, the CMS takes care of the generic layout between all pages, such as the header with navigation, and the footer. A properly setup CMS takes care of providing a common styling throughout so that there is a well-branded harmony of styling in all the web pages.
While I’m writing this post, I do not need to intervene or build again how the top menu is looking, nor do i need to setup my font or heading colours. Everything is taken care of by the CMS. Once you open the post on the browser, web server recieves the instruction to render this page. So, it grabs the settings, implements the headers, gets the post text, puts the image, and sends all the HTML, CSS, JavaScript back to your browser, and you see the nice result.
Examples of CMSs
Nowadays, most developers are making use of open-source ready made CMS solutions as a basis to start with, such as WordPress, Joomla or Drupal. There are also CMS solutions as a service such as Wix or SquareSpace which can be used by anyone without development knowledge. Many solutions offer more than enough features to build a good quality website even up to e-commerce capabilities. I believe that one would only need to consider the building of a custom content management system if the features on the site require high customization or complex connectivity with other systems.
Which is the best one? Considering the whole picture, I believe WordPress is offering the best basis, ease of customization the regular decent updates. Due to its popularity (45% of market share is built on WordPress, about 28+ million sites) there is a huge market of contributors which develop ready made plugins and code to virtually do anything you want with a WordPress instance. We’ll talk more on WordPress in the future…stay tuned.
“…but i just need a simple landing page”
Well, if it’s really really simple, one can develop the solution using static HTML, CSS and JS code directly, but most of the time it starts of as simple landing page and it grows to a five pager in just a few months. Starting off based on a CMS gives you the edge of building and growing your website from simple to more complex gradually without the need to restarting the entire project all-over again with every iteration