Syntaxonomy

A Collection Of Web Languages

How do you decide what to learn to become a Web Worker? This app provides (step-by-step) articles, tools, and resources to help you define your career.

Level One

Internet

Step I

History

Those who fail to learn from history are doomed to repeat it. So let's begin by reading about the history of the Internet, World-Wide-Web and the technology stacks you'll encounter. It'll give you a perspective about why the modern Web is where it currently is.

Step II

WWW

The Internet is more than a series of tubes, and it's more than a collection of pages or apps. Next you'll learn about subjects like protocols, URLs, status codes, DNS, compression and headers. Essentially, the glue that holds our websites, apps and page requests together.

Overview

HTTP

DNS

Performance

Headers

Security

Tooling

Step III

Compatible

We can't have a guide to becoming a Web Worker without having a section devoted to compatibility. So next you'll need to understand how a users environment can affect how a website renders for a visitor from the Operating System right down to the Web Browser.

Browsers

OS

Renderers

Step IV

Hosting

Where should you put your content once it's production ready? In this next section you will find information about the various types of website hosting available, purchasing a domain name, and even some information about search engine ranking and optimization.

Domains

Hosting

Search

Step V

Research

This guide covers many subjects, providing curated links to help you on your journey to becoming a Web Worker. But it doesn't cover everything. Below are some other perspectives and guides about getting into (or the state of) the industry which you might find useful.

Overviews

Workers

Design

Tooling

Level Two

Software

Step I

Install

Next we need to get your computer work ready. You'll need basic software such as an IDE (Integrated development environment) for coding, and some other useful apps to build websites. So let's get the required software installed along with some useful extensions.

Overview

IDE's

VSCode

Playgrounds

Step II

DevTools

Now that you have the software you require, you next need to understand how to use your web browsers developer tools to help you debug websites as you produce them. Knowing how to use these tools accurately will help you fix issues and improve performance.

DevTools

Step III

Terminal

In recent years web development has moved out of the visual interface, and more into the command line. Using such an interface allows you to setup and maintain a project rapidly. Therefore you need to learn how to use the command line and tailor your interface.

CLI

Step IV

Versioning

Next we need to talk about version control. It's a great method of allowing multiple people to work on projects, in the open, backing up work as you commit changes. It takes a little time to understand how to implement, but you should learn how to use a Git service.

Versioning

Git

Level Three

Assets

Step I

Text

Next we need to talk about tiny assets. From .htaccess to humans.txt there are a number of plaintext files which you should include within your website. They all provide enhancements to the site and don't require much work but each have their own syntax you'll need to learn.

.htaccess

ads.txt

carbon.txt

change.log

event.ics

humans.txt

license.txt

README

robots.txt

security.txt

site.webmanifest

subtitles.vtt

vCard.vcf

Step II

Syntax

Carrying on from the plaintext files we now have a bunch more, except this time they are all based upon XML or RDF markup. Again these take very little effort but they all provide realistic improvements to a website, though each has their own syntax you'll need to learn.

Syndication

opensearch.xml

powder.xml

sitemaps.xml

Step III

Other

Next we have the remaining tiny files that can improve your website. These however don't fall into a particular category as they are neither plaintext or XML based. You'll find favicons, document assets, and (now archaic) sandboxed app formats included within this category.

Favicons

Archive

Level Four

Markup

Step I

Content

If there is one truth of the Web it's that content is king. So before we begin producing the physical website itself you need to learn how to structure content, write for international users, and both create and optimize graphics and multimedia (audio and video) for the Web.

Content

Images

Icons

Stock

Tooling

Step II

Markdown

Next, with your content in hand, you need to choose a markdown format to learn. While you don't have to write all of your content in markdown it could be helpful as a markdown editor can generate semantic HTML from the content you create, saving you conversion time.

Step III

Markup

Next you need to learn markup languages, which are likely to be both HTML and XML as they are still in common usage. Most of your effort will be on HTML to which you'll need to learn about semantics, the numerous elements, creating forms, validation, ARIA and more.

HTML

Boilerplates

Philosophy

Step IV

Metadata

Next you need to learn about an extension of HTML that will provide your content added contextual meaning (which is useful for search engines). Microdata comes in many formats so you'll need to pick a flavor (or two as required) and implement it within your website.

Step V

Preprocessor

Next we've an optional section which could be useful (after you learn HTML) if you want to make your coding life easier. Learning a preprocessor for HTML like Emmet lets you write shorthand code that will be converted into proper HTML once it's compiled by your IDE.

Step VI

Data

Finally in this section you can learn about some of the more technical aspects of markup languages which you may come across during your career but aren't likely to feature in your day-to-day work. These include doctype schemas and data formats like MathML and PAD.

Level Five

Design

Step I

Agile

Every software or web developer has a methodology as to how they deliver results during a products lifecycle. Many subscribe to the Agile philosophy in the workplace. To understand this method of delivery, it's worth reading up on the subject and using it in your workflow.

Step II

Basics

When designing a website, two of the most critically affected variables in the design process include color and typography. You need to understand both how color impacts your visitors emotional experience, and how typography can make or break your contents readability.

Color

Typography

Step III

Layout

While there are a million different ways in which a product could be designed, certain conventions have appeared in this age of simplicity. Knowing about the benefits or pitfalls of different layouts and responsive design is critical in this new age of device variability.

Patterns

Philosophy

Step IV

Inclusive

It can be said with almost certainty that during the course of a lifetime, every individual on earth will have incurred disability. Whether temporory or permanent, visible or invisible, small or life-changing, each affects our online experiences and we must account for them.

Accessibility

Sustainability

Usability

Step V

Systems

Design systems are a relatively new concept involving a set of design rules, style guide, pattern library, and documentation. Creating and maintaining them takes effort but once it's oven-ready, co-workers can avoid repetition with styles and maintain house rules in design.

Level Six

Stylesheets

Step I

Overview

Some consider CSS to be a complicated language, but in truth it's just misunderstood. Before we begin learning about styling a website, you need to know a few things about how the language functions in order to avoid running into oddball issues when you're coding.

Step II

Stylesheet

Next we need to pick and learn a stylesheet or transformation language, though in truth it's likely to be CSS. Within this section you'll learn about setting styles, web fonts and colors, layouts with flexbox and grid, media queries, print styles and even handling old browsers.

CSS

Font & Color

Media Queries

Flexbox & Grid

Compatibility

Print

XSLT

Philosophy

Step III

Architecture

Now you have a handle on CSS, you might want to consider picking a naming convention for you stylesheets. There are a bunch you can choose between but they all offer the benefit of helping you code with consistency and use techniques to help you avoid repetition.

Structure

Conventions

Optimization

Step IV

Preprocessor

Next we have another optional preprocessor, this time for the CSS language. Rather than providing shortcuts to the language (like HTML), CSS variants offer additional features the language may currently be missing. Usage is optional, and will compile to regular CSS.

Step V

Libraries

Next we're going to examine the various code libraries offered by third parties to either get your project started quicker, plug-in useful functionality with minimal effort (component based), or provide useful class (utility) based functionality. Again, these are optional to use.

Component

Utility

Level Seven

Client-Side

Step I

Scripting

First you're going to need to pick and learn a client-side scripting language, most likely JavaScript. You'll need to learn about concepts such as the DOM, Shadow DOM, AJAX, JSX, API's, Security, Tree Shaking and more. It's a pretty complex subject for you to learn.

JavaScript

Encoding

JSON

Books

Regex

Optimization

APIs

ServiceWorkers

Philosophy

Step II

Static Generators

With HTML, CSS and JavaScript under your belt, you should have enough to put together a basic website. If you want a quick and easy way to publish using markdown and those three languages, consider an optional static site generator.

SSG's

Step III

Frameworks

As you know pure JavaScript, it's time to expand your knowledgebase by getting to know one of the many frameworks that exist to help you build apps at scale. They aren't strictly necessary but are worth knowing if you want a job as many businesses will use at least one.

Framework

Library

Components

Step IV

Preprocessor

As with HTML and CSS we arrive at the section on preprocessors because it seems that web developers will do anything to avoid using the raw languages that exist. You can pick one to learn (like TypeScript) if you wish but it's optional, though it may help you with your coding.

Step V

Tooling

Now that you understand JavaScript and a framework, and you've already learnt how to use the command line in a previous section, you next need to understand how to connect these technologies and improve your workflow with task runners, bundlers and testing toolkits.

TaskRunner

Bundler

Testing

Step VI

CSS-In-JS

Of all the sections in this journey, this is the most controversial (and one of the newest). Some love it, others hate it, it's the idea of generating CSS within JavaScript. If you've been toying with the idea via a framework, try it out. Otherwise, consider it an optional feature.

Level Eight

Server-Side

Step I

Scripting

Next you can pick and learn a server-side language. There are many good options you can choose between like Python, PHP and Ruby, or you could use JavaScript on the server-side instead. Learning a server-side language is optional as websites can run client-side only.

Step II

Database

If you decide to learn a server-side language, you'll need a database language to go along with it. This is because storing user data will require either a SQL or NoSQL database. If you stay on the client-side with static rendering, there are a few Web Storage options to learn too.

SQL

NoSQL

Web Storage

Level Nine

Applications

Step I

Desktop

Creating desktop applications used to require a dedicated and expensive IDE, a specialised language such as C++ and redesign, recoding, and compliation on every platform you wish the app to work upon. Now you can convert a web app to each desktop platform with ease.

Step II

Mobile

If you want to produce a native app, you'll need to build separate apps for each platform you want to support (iOS and Android), however if you want to create a web app, there's a bunch of things you need to learn to make your HTML, CSS and JS mobile device ready.

Level Ten

Portfolio

Step I

Community

Being a Web Worker requires more than keeping your knowledge up-to-date and staying employed. It's expected that you be an active participant in the community, contributing to open source, documentation, and writing articles to improve your prospects for the future.

Step II

Employment

Getting your foot in the door, no matter what job or business you want to work with is a daunting prospect. You require knowledge, soft skills, and patience as it'll often require multiple attempts to be successful. You can use the following to help you launch your career.

Advice

Prepare

Boards

External History WWW Compatible Hosting Research Install DevTools Terminal Versioning Text Syntax Other Content Markdown Markup Metadata HTML Preprocessors Data Agile Basics Layout Inclusive Systems Overview Stylesheet Architecture CSS Preprocessor Libraries Scripting (Client) Static Frameworks JS Preprocessor Tooling CSS-In-JS Scripting (Server) Database Desktop Mobile Community Employment