Front-end web development
Front end development is the development of those elements of a website that the customers sees and interacts with directly. It is a combination 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 they developer needs to constantly be aware of how the field is developing.
The objective of designing a site is to ensure that when the users opens up the site they see the information in a format that 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 needs to be used for what means the difference between a hacked site and well designed and scalable site[1].
HyperText Markup language (HTML)
HyperText Markup language (HTML) is the backbone of any website development process 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 Sheet (CSS)
Cascading Style Sheet (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 are one on top of the other using style rules and get triggered based on other inputs such device and screen size and resolution.
Content Management System (CMS)
Content Management System (CMS is a tool to add, publishing, edit and manage content for a website all from central location. Example of a CMS tools is Drupal (a PHP based CMS) and Magento (Based on PHP and MySQL).
JavaScript
Javascript programming language that is used to make asynchronous applications executed on the fly on the browser as unobtrusive rich functionality.
Goals for Front end development
The developer of the front end needs to keep these points in mind [2]
Accessibility
In today's world of smart phones and tablets the designer need to ensure that his site comes up correctly in all the devices. This can be done by creating a Responsive Web Design using style sheets in CSS. The designer can also use Framework tools such as Bootstrap to be able to implement this[3].
Usability
This is a more vague concept as this deals with the arrangement of information on the same such that important information is displayed in the top left to middle left of the same. Be aware users read a website from in a F-shaped pattern
Performance
This is a very important aspect of a site that is to ensure that the site opens up quickly; this can be done by ensuring that the HTML, CSS styles and Javascipt are all fast