The challenge associated with front end development 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.
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 (crossplatform) and different devices (cross-device), which requires careful planning on the side of the developer.
A Front-end Developer
Web Browsers (most common)
A web browser is software used to retrieve, present, and traverse information on the WWW. Typically, browsers run on a desktop or laptop computer, tablet, or phone, but as of late a browser can be found on just about anything (i.e, on a fridge, in cars,etc.).
The most common web browsers are (shown in order of most used first):
- Internet Explorer (Note: not Edge, referring to IE 9 to IE 11)
Headless browsers are a web browser without a graphical user interface that can be controlled from a command line interface programmatically for the purpose of web page automation (e.g., functional testing, scraping, unit testing, etc.). Think of headless browsers as a browser that you can run programmatically from the command line that can retrieve and traverse web page code.
The most common headless browsers are:
- Headless Chromium
Webviews are used by a native OS, in a native application, to run web pages. Think of a webview like an iframe or a single tab from a web browser that is embedded in a native application running on a device (e.g., iOS, android, windows).
The most common solutions for webview development are:
- Cordova (typically for native phone/tablet apps)
- NW.js (typically used for desktop apps)
- Electron (typically used for desktop apps)
Native from Web Tech
Some examples of these environments are:
- React Native
Front-End Job Titles
Front-End Web Designer: When the word “Designer” is included in the job title, this will denote that the designer will possess front-end skills (i.e., HTML & CSS) but also professional design (Visual Design and Interaction Design) skills.
UI (User Interface) Developer/Engineer: When the word “Interface” or “UI” is included in the job title, this will denote that the developer should posses interaction design skills in addition to front-end developer skills or front-end engineering skills.
Mobile/Tablet Front-End Developer: When the word “Mobile” or “Tablet” is included in the job title, this will denote that the developer has experience developing frontends that run on mobile or tablet devices (either natively or on the web platform, i.e.,in a browser).
Front-End SEO Expert: When the word “SEO” is included in the job title, this will denote that the developer has extensive experience crafting front-end technologies towards an SEO strategy.
Front-End Accessibility Expert: When the word “Accessibility” is included in the job title, this will denote that the developer has extensive experience crafting front-end technologies that support accessibility requirements and standards.
Front-End Dev. Ops: When the word “DevOps” is included in the job title, this will denote that the developer has extensive experience with software development practices pertaining to, collaboration integration, deployment, automation, and quality.
Front-End Testing/QA: When the word “Testing” or “QA” is included in the job title, this will denote that the developer has extensive experience testing and managing software that involves unit testing, functional testing, user testing, and A/B testing.
Learn Front-End development here