chapter two

2 Understanding the Web Platform

 

This chapter covers

  • The core building blocks of the web platform: rendering engines, browsers, protocols, and APIs
  • Choosing an application architecture for navigation, rendering, and UI models
  • Mixing HTML, CSS, JavaScript, and other standard specs together in Vanilla projects
  • Implementing key design patterns and compatibility guidance
  • Performance, accessibility, distribution, and modern web apps with Vanilla Web

The web platform is powerful by default, but with more than a decade of focusing on libraries, frameworks, and large stacks, we often overlook the most valuable features. Let’s cover the most essential advantages of using Vanilla Web in our projects.

2.1 Building blocks

We will create software using web standards as building blocks. We can see a diagram of all the pieces in Figure 2.1 that we will explain in this chapter. Web standards evolve slowly and with consensus from different providers, which leads to a more robust platform that makes our code less likely to need re-testing or re-coding when the platform grows, as sometimes happens with frameworks.

2.1.1 Rendering engines

2.1.2 Network protocols

2.1.3 Web security

2.1.4 Application architecture

2.1.5 HTML, CSS, and JavaScript

2.2 Design Patterns

2.2.1 Web APIs

2.3 The power of Vanilla Web

2.3.1 Web performance

2.3.2 Accessibility

2.3.3 Distribution

2.3.4 Discardability

2.4 Modern web apps

2.4.1 Installability

2.4.2 Offline support

2.4.3 Data Storage

2.4.4 Internationalization

2.4.5 Capabilities API

2.4.6 Client-side AI

2.5 Developer experience

2.5.1 Simple and more secure organization

2.5.2 Interoperability with libraries and frameworks