Header

Hello! I'm codazen. I'm working on this silly little site for my silly little projects. Catch you along the way :>

Main

I have been confused for the longest time what all of these web development frameworks actually do for the developer.

especially when it comes to the fact that this site (as of writing this) only uses eleventy and nunjucks. beyond that it's just hand-written html and css. i haven't even forayed into javascript yet because i don't know what it would be used for.

a friend talked me through it and it helped me understand what each of these tools do and why they sound so similar in their descriptions without saying anything at all about what they actually provide for the developer.

Static site generator

SSGs are command-line tools that generate web pages files from plain text files.

Static site generators use web template engines.

They handle all the copy-pasting, file translation, and folder reorganization required to put your site's content into the proper HTML and folders for your website structure.

Template engine

Software that processes and combines content and template resources to produce documents transmittable over an internet protocol

Examples:

Template language

A specialized programming language used to create templates that can be populated with content or data to produce documents or web pages.

These aren't exclusive to documents or web pages; really these are just fancy text replacement systems that are extremely suitable for HTML content (which has a lot of repetition).

This confused me for a while, but template languages themselves are just plain text files. In the domain of web development, template languages just tailor their syntax and functionality to be useful for markup language files - HTML, Markdown, and so on.

CSS tools

Web template system

Composed of:

Frontend build tool

vite

Web framework

astro

Preprocessor

a program that processes its input data to produce output that is used as input in another program.

my first thought was "is Prettier a preprocessor?" because to me that sounds like processing something before it's used elsewhere. but it turns out there's a difference; formatters format code, changing the style, while preprocessors transform the code. for example, text substitutions, macro expansions count, and so would a preprocessor that optimizes code by changing it.

in this web development space of research i'm doing, it felt like CSS preprocessors were the only ones, but apparently there are HTML and javascript preprocessors, too.

Svelte renders UI components. you can compose these components and render an entire page with just Svelte, but you need more than just Svelte to write an entire app. SvelteKit offers basic functionalities like a router that updates your UI when a link is clicked. build optimizations, offline support, preloading pages, client-side rendering, and a bunch of other things. will look into more.