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