Ever wondered what goes into making your favourite website tick?
We visit websites on a daily basis for a number of reasons, the main one being that we want to get something out of it. Whether it’s information we’re looking for or interactive content, when we visit a website we want it to meet our needs.
Artificial intelligence hasn’t reached the stage that servers and the websites we visit know what a user might actually want before we do. Technology hasn’t advanced far enough yet for human beings to become obsolete when it comes to the internet and the sites we browse.
Behind every great website is usually a team of web developers – depending on the size of the website or business, some may only have one. These are the people behind the scenes who scan through data, tracking trends and associated numbers and figures to ascertain what it is their site’s end user wants.
Web development in a nutshell
Web development is often confused with web design. The easiest way to understand the difference between the two is that web design is mainly concerned with the end product i.e. the aesthetics of the website the visitor sees and interacts with. While web development concentrates on the nuts and bolts of the site – that is the coding/programming that makes the site work.
While web design is usually all the fancy interactive stuff that you see as the end product of a website, a lot of time and effort has gone on behind the scenes to make your browsing experience as unique and engaging as possible.
The technical aspects of web development
So we know the purpose of web development and why it’s important, we now need to look at the technical aspects of what web development entails.
The web pages we see when visiting a site are delivered to the client’s browser from a web server. There are many well-known browsers available depending on your operating system. The most common ones are:
- Mozilla Firefox
- Google Chrome
- Internet Explorer
The two biggest web servers are Apache (UNIX/Linux) and IIS (Microsoft). There are a number of other servers available but who they are, what they do, and how they function is another article in itself. For the purposes of this article, all we need to know is that a website is a set of HTML files which are served to the client’s browser when a request is made to the server on which those files are stored.
A web server is a program that runs on a computer and listens for client’s requests which are sent from their browsers on what is known as a ‘port’. There are various ports in use for websites, the default ports are 80 (HTTP) and 443 (HTTPS – for secure websites).
We don’t need any more than a basic overview of what servers, clients, and browsers do to create a simple website, but a greater understanding is required if you want your site to incorporate the latest advances in internet-based technology. This is where web development and a knowledge of the languages used is important. If you want to make your site unique and appeal to a broad range of visitors then you need to know how to make your pages do the things you want them to.
Code that makes up the user’s experience of a website, can run, that is use resources, either locally on the user’s device which is called ‘client side’. Or remotely on the website’s computing hardware, this is called ‘server-side’.
Server-side languages are executed on the remote server rather than through the client’s browser.
Apache is the most commonly used UNIX/Linux web server, which often has the PHP programming language and a MySQL database installed alongside. The package for this is often called “AMP” for short – Apache, MySQL and PHP.
Most modern websites store a lot of their information in a database, hence the MySQL database. The database allows tremendous flexibility in what can be done with a website, and was a massive advancement when people first started using them.
PHP is one of the most commonly used languages when it comes to server-side programming. In addition to this, there are many PHP development frameworks that allow for the rapid development of web applications by having modules already available for elements such as User Authentication and the like. For instance :
- CakePHP – A popular choice for web developers due to its clear format and the core theory that it is built from – to keep your programming clear, concise, and co-ordinated. The idea behind CakePHP is to keep a certain structure to the design of web applications while also allowing the developer freedom and choice to create applications as free of programming restrictions.
- ZEND – Another open source framework for web applications and services. It is built on the ‘Model-View-Controller’ structure, which when used separates the software application into three sections. A good example of this is when a visitor to a shopping website adds an item to their ‘Shopping Basket’.
- CodeIgniter – This is a PHP-based framework for developers that also works on the ‘Model-View-Controller’ structure but differentiates from other programming languages in the fact that only the ‘View’ and ‘Controller’ classes are mandatory, the use of the ‘Model’ class is entirely at the web developer’s discretion.
The ‘Model-View-Controller’ architecture works something like this – By clicking on the ‘Buy Now’ button, a message is then sent to the ‘Controller’ who then notifies the ‘Model’ of the user’s action. At this stage it is typical that the model will then modify its own state accordingly – in this case by automatically updating the user’s shopping cart to show the item now in their ‘Checkout’ queue. A ‘View’ then uses the model to display the web page according to the actions governed by the two proceeding actions.
Microsoft Windows servers also have a number of similar programming languages available to web developers, including ASP, ColdFusion and Perl. There are many other programming languages that are server-side.
At DonCharisma.com our preference is development in WordPress. The main server side language in use in WordPress is PHP, and WordPress uses MySQL to store posts and pages etc. WordPress is our preference, because it dramatically reduces development time, thus reducing costs for our customers.
This is the opposite of server-side programming in terms of where the language is executed. Client-side languages are run on the client’s browser rather than the web server. Common client-side languages include:
Further programming languages allow for interactions between the client and the server without having to reload the entire web page (which is something your visitors would find tiresome if required repeatedly). AJAX is a language that incorporates Asynchronous Java and XML and is ideal for allowing interaction between the client and the server without the web page itself having to be reloaded.
A good example of this is the Google search engine page which displays suggested search terms as you begin to type your search parameters into the text field. This is AJAX at work – it’s sending a request to the server as you type and updating the page without the user having to do anything.
Why web development is just as important as web design
Having a shiny and attractive-looking web site is all well and good, but your visitors aren’t going to hang around for long if none of your features actually work. Effective web development requires those responsible for running a web site to have a solid idea of what their site looks like and how it functions.
Web development requires careful planning and analysis of the current trends of internet users and the features and functions that can enhance their browsing experience. Technology moves at a quick pace and web developers are required to keep up with these changes, implementing the latest features on their web pages to ensure they are consistently meeting the user’s needs.
The importance of knowing your numbers
Statistics can seem dull and uninteresting, but if you’re in the web development game you at least need to know how many people are visiting your site, what they’re looking for, and how long they are staying on any one particular page. But how is that done?
By looking at the numbers.
Knowing the content that visitors are attracted to or the elements which visitors respond to is an important element of developing your web site as a whole. By looking at the statistics of a web site we can find out which pages are the most popular, how those pages differentiate from the less popular ones, and what we can do to make the whole site meet the visitor’s needs.
Web developers track the trends of their web site, honing visitor data to ascertain times of visitor popularity, nailing what exactly it is that draws visitors to particular pages at certain times of the day. Once this data has been gathered, a web developer can then work on enhancing the other areas of the site that might not be as effective, encouraging their visitors to not just visit one area of their site, but all of it.
Web development with WordPress
A lot of the web development comes as standard for websites that use WordPress, meaning that many of the traditional web development functions have been abstracted into plugins. However for bespoke and custom solutions, and for “tweaking” coding may be required usually in PHP
For more detail on this, please take a look at our article “Web development using WordPress”
Any site can gain an audience. Web development is a key element in giving your website’s visitors exactly what they want when it comes to a unique browsing experience. This might include the latest applications and interactive features, or the hottest news straight off the press, pages that are quick to load and respond to the end user’s needs. A unique browsing experience needs to be all of this and more and might seem like a tough ask in today’s supercharged technological world.
Getting ahead of the curve in developing your website and allowing it to constantly evolve with your visitors specific needs will help give your website the presence in the market place required to remain both prominent and popular.
There are many elements to consider when developing your website, our team at DonCharisma.com are experienced in all elements of web design and development. We would be happy to assist you with your project. Please contact us for further information.