Front-end is everything that a user sees when entering a website. It is responsible for the visual issue and functionality of the website or web application, and for building such a structure that allows the most effective interaction of the Internet user with the product. The back-end, on the other hand, is responsible for what you can't see, which is the recording and processing of data on the server side. The front-end is the area of programming that deals with, for example, the main and side navigation, the layout of graphic and text elements or any functionality that affects the level of usability and enjoyment when using the site. All these elements are built on the basis of coding languages such as HTML, CSS and JavaScript programming language.


Front end programming

Front-end is the field occupied by developers responsible for building, or coding, websites and web applications, which, above all, are designed to be fast and convenient for their user and to display correctly on devices with different resolutions, and therefore be responsive. Developers working on the site view use various JavaScript libraries, the most popular of which are Angular, React and Vue. Each is designed to create front-end products of different size and application. At Boring Owl, we use the powerful React technology to create extremely fast and modern web applications. In addition, the front-end requires knowledge of other programming tools, such as: Gulp for the automation of tasks, Git for working as a team in a remote repository, SASS responsible for CSS compilation, and Webpack, Npm and Node.js offering a number of useful streamlining tools. These libraries are extremely useful because they contain ready-made code responsible for automations and functionalities, so developers don't waste time writing them from scratch. In addition, in developers of this type it is also important to have knowledge of UI and UX so that they can create user-friendly interfaces.


What does a front-end developer do?

A front-end developer builds websites and web applications, focusing on their visual elements and functionalities. They should deliver a site that is aesthetically pleasing and clear, and above all, usable. Nowadays, dynamic sites are most often designed, which allow users to interact with the site. However, for smaller business sites, you can build a static site that appears to the search engine exactly the way it is stored on the server. This type of site does not contain any elements for user interaction.

Front-end developers often have knowledge of User Experience and User Interface. This allows them to build not only an eye-pleasing layout for the site, but also to make the process of user navigation through the site as simple as possible. Therefore, their job is to build layouts for subpages and individual blocks, create intuitive and user-friendly navigation, and attract the user's attention with interesting graphics or animations.


Front end languages and technologies

A front-end developer uses several programming languages. They allow them to write instructions for the computer on how the various elements of the site should look and where they should be located. The basic front-end languages are:

  • HTML (Text Markup Language), which is a character coding language that enables the structure of a website;
  • CSS (Cascading Style Sheets), which is responsible for the appearance of the website, and therefore determines the colors and positions of the various elements on the page, the type and size of fonts, and even allows you to create interesting effects and animations;
  • Java Script is the primary front-end language, which allows you to introduce interesting functionalities on the site and make the user interact with it.


Additionally, the front-end developer uses a number of frameworks and libraries that significantly improve work and optimize code length, examples of which include:

  • Angular;
  • React;
  • Vue;
  • Bootstrap.


Skills of a front-end developer

A good front-end developer is also familiar with code automation and optimization tools, and the most important skills he should have are:

  • basic knowledge of the back-end;
  • a minimum of intermediate knowledge of English;
  • ability to combine visually interesting forms and optimal technical solutions;
  • knowledge of automation tools such as GULP, Git, Node.js, Webpack or Babel;
  • knowledge of SASS or LESS preprocessors;
  • basic knowledge of UX and UI;
  • familiarity with CMSs such as WordPress, Drupal or Joomla.