I had an urge to learn web development, except the sheer amount of stuff out there available to build a website with was incredibly disorientating. As I went around researching each technology/language/framework, I wrote one sentence definitions of them for myself. I’m putting it here and I will update it as I keep learning.
Frontend – Part of the website the user interacts with
Backend – Stuff on the server
HTML – Holds the content of the webpage
CSS – Makes the webpage have formatting and cool colors
Sass – Makes CSS better and allows you to have variables and logic
JavaScript – Allows your website to have dynamic stuff like animations or interactivity
EJS – Generates HTML from Javascript code, not to be confused with Express, Ext JS, ES6
JQuery – A library that allows you to do things that’d take a couple of lines of code in JS in a single line
Ajax – Not a technology but a technique that allows you to update part of a webpage without reloading the whole thing
Bootstrap – A library that allows you to make nice looking websites really fast by including HTML, CSS, and JS templates for things
Node JS – Allows you to have your server run JavaScript. Useful because now you only need to learn JS to do frontend and backend development
Express – Simplifies some tasks in Node JS
PHP – JavaScript but old and different. Used for backend
JSON – Data storage format
XML – JSON but worse
MongoDB – Fancy JSON database
SQL – A language for querying a database
TypeScript – A superset of Javascript which adds static typing
Flask – Python backend framework
Django – Flask but with more built in
Terraform – Create and manage a server on AWS / Azure using code rather than their website
Docker – Rather than use a virtual machine, let the apps share the OS without interfering with each other
Angular – A framework which allows you to create reusable components using Typescript for the front end
React – Angular but different
Redux – Instead of passing data around, put it somewhere central so it can be accessed from many places.