Understanding the difficulty of building UIs
Unless you’re building a straightforward, document-like web page — for example, a basic article without advanced UI elements such as search boxes or modals — the built-in languages offered by web browsers are generally insufficient. Figure 1.1 shows an example of a website using HTML (HyperText Markup Language):
Figure 1.1: A simple HTML document website
However nowadays, most applications are more complicated and contain more elements than what this language was originally designed for.
The disparity between the language of the web and the UI experiences that people encounter daily is substantial. Whether it’s a ticket booking platform, a project management tool, or an image gallery, modern web UIs are intricate and native web languages don’t readily support them. You can go the extra mile to “simulate” UI components such as accordions, toggle switches, or...