Front End Development

A website's "front end" is comprised of all the things the user sees and interacts with directly on the screen. Front end development is a hinge role that requires both aesthetic sensitivity and programmatic rigor.

Client-side front end development might be perceived as simply 'making things pretty' but this discipline actually involves a suite of technologies and considerations to provide rich user experiences in a web browser:

  1. Markup (HTML5). The structure of the page is the foundation of websites, essential for search engine optimization, using the right tags, attributes, classes and ids used by CSS and Javascript to provide the style and the interaction required for your application.
  2. Style (CSS3). The separation of content and presentation, CSS is a programmatic set of rules which tells the browser how to render and display the content in the HTML document.
  3. Cross-browser testing. How does the page look and behave in other browsers and devices? It doesn't necessarily need to perform exactly the same in every browser, but it should be functional and the content should be easily accessible.
  4. Accessibility. Is the HTML document structured so that screen readers and assistive technologies can easily access and interpret the content? Accessibility also improves your search engine visibility. Google's web crawler can be said to be the world's most active blind user on the Internet.
  5. Templates, CMS integration, and frameworks. All these things usually need to be integrated into a CMS or other server-side framework or web application. Part of front end development includes familiarity with the control structures and conditionals of tempting languages used by content management systems and server-side frameworks.
  6. Javascript programming. This is the heavy lifting and mechanics behind browser events and user actions, triggering updates in the background or changing something on the page to provide feedback to the user after taking an action.
  7. Usability and User Experience. How will people actually use and interact with the system? Much of this comes from past experience building other similar applications.
  8. Performance. Now that you've put all this together, how does it perform? Can it scale? Can it be faster and more efficient?

Thankfully, many developers and teams have overcome these challenges in their own projects and have generously shared their tools by releasing open-source front end frameworks. I like to use these open-source frameworks whenever possible because they are well-vetted and cross-browser tested, and they usually save a lot of valuable time when creating a custom web application.

Contact me to inquire about your next front end web project or CMS integration.