Front-end development


Front-end development, sometimes refered to as client-side programming, manages everything that users visually see when interacting with an application. It defines the look and feel of the app and is about design and implementation of efficient, easy-tuo-use and stylish user interfaces.

HTML, CSS, and JavaScript form the basis of the wolrd wide web and are commonly used to develop the front-end side of web-based applications. HTML stands for Hyper Text Markup Language and is the standard markup language for creating web pages. A HTML page consists of a series of elements that tell the browser how to display the content. In previous section, we rendered simple HTML pages using Apache Velocity engine that were sent as reponses from server back to client.

JavaScript, often abbreviated as JS, is a multi-paradigm, just-in-time compiled programming language that conforms to the ECMAScript specification. Web browsers have built-in JS engines capable of compiling and running JS code within the browser.

from wikipedia

JS supports object-oriented, event-driven and functional paradigms of programming. Just-in-time compilation is a way of executing computer code that involves compilation during execution of a program – at run time – rather than before execution.


For many years, JS was mostly used only within browsers for client-side programming. A stand-alone JS runtime environment named Node.js was developed by Ryan Dahl capable of executing JS code outside a browser. This made implementing the back-end of an app in JS accessible and easy.

CSS stands for Cascading Style Sheets. Using CSS, we can describe how we want HTML elements in a web page get displayed; we give make the presentation of the content stylish!


To sum up, HTML is the main technology used for generating/presenting web content, while CSS facilitates styling the html content, and JS, as a powerful programming language, enables incorporating logic/functionality into the web pages.