Front end development
Front end development is the development of those elements of a website that the customer sees and interacts with directly.[1] It is a combination of programming skills (knowing which program to choose) and aesthetics (understanding element arrangements on the screen, the color and font choices). The challenges associated with front end developers is that the tools and techniques used to create the front end of a website change constantly and so the developer needs to constantly be aware of how the field is developing.[2]
The objective of designing a site is to ensure that when the users open up the site they see the information in a format that is easy to read and relevant. This is further complicated by the fact that users now use a large variety of devices with varying screen sizes and resolutions thus forcing the designer to take into consideration these aspects when designing the site. They need to ensure that their site comes up correctly in different browsers (cross-browser), different operating systems (cross-platform) and different devices (cross-device), which needs careful planning on the site of the developer.
Tools used for front end development
There are several tools available that can be used to develop the front end of a website, and understanding which tools need are best fit for which task means the difference between a hacked site and well designed and scalable site.[3]
HyperText Markup language (HTML)
HyperText Markup language is the backbone of any website development process, it is the HTML code that provides an overall framework of how the site will look. The latest version of HTML is called HTML5 which has new and efficient way of handling elements such as video and audio files.
Cascading Style Sheets (CSS)
Cascading Style Sheets (CSS) controls the presentation aspect of the site and allows your site to have its own unique look. It does this by maintaining style sheets which sit on top of other style rules and are triggered based on other inputs, such as device screen size and resolution.
JavaScript
JavaScript is an event-based imperative programming language (as opposed to HTML's declarative language model) that is used to transform a static HTML page into a dynamic interface. JavaScript code can use the Document Object Model (DOM), provided by the HTML standard, to manipulate a web page in response to events, like user input.
Using a technique called AJAX, JavaScript code can also actively retrieve content from the web (independent of the original HTML page retrieval), and also react to server-side events as well, adding a truly dynamic nature to the web page experience.
Content Management Systems
A content management system (CMS) is a tool to add, publish, edit and manage content for a website all from a central location.
Goals for Front end development
The developer of the front end keeps these points in mind, utilizing available tools and techniques to reach this end. [4]
Accessibility
With continuing development for mobile devices, such as smart phones and tablets, designers need to ensure that their site comes up correctly in browsers on all devices. This can be done by creating a responsive web design using stylesheets in CSS.
Usability
Information on an SEO-aligned website is typically arranged in such a way that users can find the most important areas first. Most users automatically read and access content along the contours of an "F" shape.
Performance
Performance goals are chiefly concerned with render time, manipulating the HTML, CSS, and JavaScript to ensure that the site opens up quickly.