edit

The Tech Stack

If you want to learn about developing web applications in 2016 the main problem is that you have an wide array of languages, technologies, frameworks, tools and hosters to choose from, which is simply overwhelming.

TODO add good introductory resource for all used technologies

HyperText Markup Language (HTML)

  • Describes a document with markup and links
  • The only thing really necessary to make a web site

Cascading Style Sheets (CSS)

  • Makes web sites look better by styling the elements
  • Nowadays often used with an extra layer of abstraction to overcome shortcomings (e.g. Less and Sass)

Javascript

  • The only programming language running natively on all mainstream browsers
  • Therefore very likely the most used programming language on the planet at the moment
  • Also used on server side nowadays (e.g. NodeJS)

Semantic UI

  • Provides you the means to create a modern website without having to start from scratch
  • Solves a lot of problems for you (e.g. dealing with browser incompatibilities)
  • Is basically a collection of CSS and Javascript to be used on your site

Mainstream alternative: Bootstrap

Python

  • Very high level general purpose programming language
  • Good language for beginners
  • Second best language for everything
  • Very mature (around since the early 1990s)
  • huge library support

Jinja2

  • Templating language for dynamic text generation
  • Helps you to glue together your HTML/CSS/Javascript and application code

Yet Another Markup Language (YAML)

  • Widely used format to save structured data
  • e.g. used in the configuration for MkDocs and Travis

INI Format

  • Another widely used format to save structured data
  • e.g. used for configuring tox

JSON

  • Widely used data storage and transfer format