Front End Development Landscape

13 Apr 2018

Over the last few years, I’ve helped lots of developers build web applications on various platforms including GE’s Predix. Many of these developers are not actually “web” developers. They’re Java developers building services, data scientists writing algorithms, or mechanical engineers that just want to see their data on a web app. This post covers a wide variety of front end development concepts intended to make these folks comfortable and productive.

Basic Technology

Before diving into specifics, it’s important to understand the basic building blocks of the web.

Web Application Essentials

Front end diagram

Browser Layer

The bulk of a front end application is user interface code, which runs in the web browser. As browsers have become more powerful, this area has expanded and grown in complexity. These concepts and building blocks can be used to build a modern front end application.

Server Layer

No front end application can function without a server to provide source files to the browser. In essence, the web server simply maps requested URLs to files, and returns those files to the browser. Today’s web servers also perform many more functions.

Development Tools & Concepts

The wide array of tools for front end development can seem overwhelming. Understanding the major development tasks and concepts helps simplify the situation.

Mobile

Many people today use mobile devices to interact with internet applications. There are a few major categories of mobile apps, each with their own tools & patterns.

References

Acknowledgements

Thanks to Henry Navarro for creating the diagram.