/* your web
development
manual */

Copyright 2024

The Valley of Code

Fundamentals
Welcome to The Valley of Code. Your journey in Web Development starts here. In the fundamentals section you'll learn the basic building blocks of the Internet, the Web and how its fundamental protocol (HTTP) works.
HTML and CSS
This section introduces the basics of HTML and CSS: how we define content, and how we style it. There's much more about HTML and CSS and we'll learn more about both later. But here's an intro to both.
Tools
We could do nothing without good tools. In this section I introduce a few very powerful tools you will use every day: VS Code, Git, and GitHub
Deployment
Deployment is the process of putting your code "out there", on the Internet, for everyone else to use. We commonly work on local machines, but when it is time to release, we deploy the code on a service or cloud server.
JavaScript
JavaScript is "the Web programming language" because it has one key feature: it is the only language that browsers understand. As a Web developer, it is essential that you learn this language very well.
More CSS
We saw the fundamentals of CSS previously. Let's now learn more CSS features.
More JavaScript
We previously learned the most essential JavaScript basics, including functions, objects, arrays. Now we will learn some more.
DOM and Events
Using JavaScript we can "hook" into a Web page and change everything about it, and listen for events when something happens, so we can do whatever we want.
Networking
The fundamentals of HTTP networking, and how to use fetch(), and Request / Response
Browser API
Server Runtimes
Server Runtimes are tools that let us run JavaScript on the server. In this section we'll learn about Node.js and Bun. Deno is another popular server runtime, but other more niche ones exist, mostly to power specific deployment platforms. Your takeaway is that there are several ways to run JavaScript on the server. Node.js is the most popular, Bun the most up-and-coming.
HTTP Servers
There are quite a few lightweight libraries/frameworks that build upon Server Runtimes to provide an easy to use set of features to build HTTP servers. We can call them microframeworks too. I picked Hono as the modern, feature-rich one
Express is historically the most popular Node.js framework, and while more modern alternatives exist, it is still a foundational framework you will find all the time, so it is worth learning it
Databases
We use databases to store and retrieve data dynamically. In this section we'll talk about relational databases.
Libraries and frameworks
UI libraries are tools that we use to abstract the browser DOM API and event handling, to help us create User Interfaces more easily.