Majestic
Digital
Glossary
HyperText Markup Language (HTML) is the standard markup syntax for elements which are designed to be displayed on the web. It allows developers to instruct web browsers on where to display common visual elements such as headings, images and paragraphs, as well as more complex elements for displaying data and interactive forms.
Cascading Style Sheets (CSS), is the standard language used to assign styling and layout to documents written in a markup language, such as HTML.
In its simplest form, this may include specifying a particular set of fonts to use, text and background colours and image sizes. More complex examples include custom patterns and animations, button effects, and features which allow websites to be displayed differently depending on the size of the device being used to browse.
JavaScript (JS) is a programming language which is most commonly implemented for client-side functionality, and allows websites to be more dynamic and interactive by altering page appearance, and even loading new content directly to the page without needing to refresh the browser.
This website is built using React, a JavaScript-based library. Every visible component and dynamic feature is constructed and handled using JavaScript. For example, clicking an element in this glossary uses JavaScript to expand and collapse the detail sections.
C# is a general purpose programming language commonly used for writing mobile and desktop applications, games, and the server-side functionality behind web applications.
ASP.NET is a framework maintained by Microsoft, which includes functionality to help make dynamic server-side websites and web-based applications.
This website uses C#, with the ASP.NET Blazor framework for functionality such as page navigation and the contact form.
A database is the location where data for an application is stored, and can include anything from configuration data to customer orders. Databases are often hosted separately to an application and are accessed remotely. In order to maintain security and data integrity, databases are often hidden behind various layers of security, and the data is backed-up regularly.
Structured Query Language (SQL) is a type of query syntax employed by database administrators to create, read, update and delete records stored in a database.
A library is a collection of resources and behaviours which builds on existing technologies to make certain programming tasks simpler, more efficient, and helps to avoid lots of repeated functionality.
React is a large-scale JavaScript library used for building Single Page Applications (SPAs). This website is built using React, and this glossary page uses an additional library to add an accordion feature to allow sections to be expanded and collapsed.
Bootstrap is a CSS library which implements JavaScript functionality and includes templates for common website components such as buttons, tables, forms, and navigation. These templates allow developers to create great looking websites without the need to start completely from scratch each time.
Single Page Applications serve a single HTML file from the server which it is hosted on, and every other component or piece of functionality you encounter is handled using JavaScript. This may include loading images and other static files from cloud storage, or calling off to an API to fetch data from a database.
SPAs are popular because they are quick to load, demand much fewer resources on the server than traditional websites, and can therefore be much cheaper to run.
This website is built using React, which is one of the most popular SPAs at the moment.
UX
User eXperience (UX) is a reference to the overall usability of a web application, in its simplest form - is it a good or bad experience? The way a website is designed and the ways in which the various features function and interact with each other helps to determine whether a user will have a positive or negative experience with a website, and will often be a key factor in determining whether they will continue to use the website, or look elsewhere for the information, products or services they require.
UI
A User Interface (UI) is what makes up the visual and semantic elements of a web application and includes the overall layout and appearance of elements such as headers, footers, navigation, and content. An attractive, clear and intuitive UI is one of the main factors which determines the quality of the user experience (UX).
Responsiveness is a term used to describe features of a website which can be viewed on any number of devices with varying screen dimensions, without any detriment to the user experience.
This website was built with responsiveness in mind, and can be viewed just as easily on a mobile phone as it can on a larger desktop monitor. There are noticeable differences; on mobile phones for example, the button to book a consultation is fixed to the bottom of the screen, whereas on a desktop computer it's fixed to the top right.
Accessibility is a term used to describe the features of a website which allow users with physical impairments to browse unimpeded using a variety of assistive technologies.
This website was built with accessibility in mind. For example, the high contrast colours for the text and background help users who may suffer from colour blindness to read the content; appropriate HTML markup and attributes are used throughout to allow screen readers to understand the semantics of the website structure, and element outlines indicate when certain selectable elements are in focus for users who may be unable to use a mouse.
Client-side
'Client-side' refers to any visual or functional elements or actions which are rendered by your web browser. You can see two examples on this page:
- If you hover over the consultation booking button, you will notice that it changes colour and provides feedback to the users to indicate that it's a clickable element, similar to a button - this is done with a CSS 'stylesheet'.
- The other example is these Glossary and FAQ sections, which are styled using CSS, and controlled using JavaScript to expand and collapse the sections.
Server-side
'Server-side' refers to any functionality which requires interaction from the server on which a website is hosted.
The simplest example of this is when you navigate to a different web page, you are requesting resources from the server, in most cases this will include the page itself (e.g. a HTML file), along with any static images, styles (CSS files) and scripts (JavaScript files).
Another example is the consultation booking form; data is submitted to a background process which notifies us when a user wishes to get in touch.
Another example of server-side functionality which you are likely to encounter on a regular basis is user authentication, which occurs whenever you log into an account (such as web email). The server has to perform actions to ensure the credentials you've provided are correct, and that you have permission to access the account.
A 'stack' can refer to the technology employed by a particular application, as well as a developer's range of expertise.
- The LAMP stack is a common technology stack used for WordPress web applications and consists of the Linux operating system, an Apache web server, a MySQL database, and the PHP programming language
- A Windows-hosted application may the IIS web server, an SQL Server database, and the C# programming language.
- A 'front-end' developer is someone who would work mainly with the visual and client-side (UI) elements of a website
- A 'back-end' developer is someone who primarily focuses on server-side functionality, including work with APIs and databases
- A 'full-stack' developer is someone who works with all aspects of an application, and is just as comfortable working on UI as they are with a database
An Application Programming Interface is a set of functions and procedures which allows users to access specific features or data from online resources using a well-defined and documented request structure.
Some APIs are free to use and are publicly accessible, others may incur usage charges. An example which you can use for free is Google Translate. If you've ever requested a translation via Google, then you've made a request to the API to process a string of text from one language into another language.
A Content Management System (CMS) is a type of web application which allows users to directly edit sections of their website. A developer would build the initial website, and then hand over the administrator credentials to allow the website's owner to edit content such as text and images, or add new products to an e-commerce website, without the need to hire a developer for every single change. Umbraco is popular ASP.NET-based framework which is popular due to being highly configurable.
Hosting refers to a service provided by a hosting company who own and maintain an array of remote servers (computers) which are responsible for holding all of the files needed for a web application to function and serving them to users whenever a resource is requested.
The files needed for this website are hosted on a service provided by Amazon Web Services. There are also many other popular services which target customers which varying levels of technical know-how, for example, HostGator and GoDaddy.
A domain is the human-readable address where a website lives, for example, this website's domain is www.majesticdigital.net, Google's UK website domain is www.google.co.uk. A domain consists of the 3 main elements:
- a sub-domain, such as 'www' or 'blog'
- a name, such as 'majesticdigital' or 'google', and
- a Top Level Domain (TLD), such as '.com' or '.net'
Domain names are essential for public-facing websites because the remote server address used to connect to and view a website actually resolves to a series of characters known as an IP address. These characters have no meaning or association to the company or service to which they relate, and as such are very difficult to remember or share.
HyperText Transport Protocol (HTTP) is the protocol used for transmitting documents and media across a network. The most common usage is the communication between a web server and a web browser. In its simplest form, a user requests access to a resource (such as a web page) via a web browser (such as Google Chrome), the web server then responds with the requested file and the web browser displays it.
HTTPS refers to a Secure variant of HTTP which ensure that data sent between two locations is encrypted. This encryption is guaranteed with a digitally signed Secure Sockets Layer (SSL) or Transport Layer Security (TLS) certificate. An encrypted connection prevents hackers from intercepting and reading data in transit, and can be identified by the lock symbol shown on the address bar in most popular browsers. Encryption is especially important when submitting personal or financial data.
This website uses HTTPS to ensure that any personal data which may be submitted using the contact form is encrypted prior to transmission.