Introduction I - Overview

Table of Contents
1. Tools, Installation, etc

1. Tools, Installation, etc

A developer, just like any other craftsman, must possess the proper tools to be able to do a good job in his profession. The tools are for a web developer all the following, for a multi media designer those categorized as frontend:

Frontend
HTML
HyperText Markup Language. The coding language in which web pages are written. You must know this language. As a tool it is built into any web browser. HTML apart from the markup contains the content of the web pages.
CSS
Cascading Style Sheets. The coding language in which the presentation, the looks of web pages are written. You must know this language. As a tool it is built into any web browser. Just like HTML. CSS is also built into any web browser.
JavaScript
JavaScript is the frontend programming language. This means a programming language that resides in any web browser. JavaScript provide the decentralised dynamic aspects of the web pages. This concludes the parts of the web developer tools that are also present in any web user's computer anywhere on the internet.

The HTML5, CSS, and JavaScript are all in your browser. We say that the browser is the platform for those tools. No extra tools must be included for the frontend.

Backend
JavaScript
JavaScript again? Yes, JavaScript has the ability to work on the server as well as in the browser, ie as backend programming language.
Node.js
Node.js is an open-source, cross-platform JavaScript run-time environment that executes JavaScript code outside of a browser.[1] . This essentially means serverside JavaScript.
DBMS
Database Management System. This is a software package that, when installed and running, represents the database server.
SQL
Structured Query Language. The programming language for manipulating databases if the DBMS is relational.
NoSQL
Not Only SQL. An alternative to relational databases. We use MongoDB. Manipulating MongoDB databases is done with JavaScript functions.
General Developer's Tools
Web server
A web server is a software package that receives requests for web pages from clients, most often web browsers. The web server sends a response to the requests with text, normally in the form of HTML5 to the client. The text may reside as a file on the server, or it may be generated in real time on the server by a backend programming language.

A running web server is considered a must for any web developer. Thoughh much HTML5, CSS, and JavaScript works without a server when dropped into a browser, some doesn't, and for that we need to serve pages by a web server.

Terminal
Any developer must have a minimal command of the terminal program of her operating system. The terminal provides what is called the CLI, Command Line Interface, to your development activities.
Editor
You need a development environment. This may be in the shape of a full IDE, Integrated Development Environment, or it may be "just an editor." We use Sublime 3, Geany, vim.
DBMS client
The database may be manipulated via a CLI. If you prefer you may find a GUI that will help you do the same.
Browser
You have it - I think.
Version Control Software
We use git, and we use it primarily from the CLI. This software supports maintenance of several versions of your software, and importantly, supports devlopment teams from a single person to thousands, seamlessly. With remote repositories it also doubles as a backup system for your source code.

In addition we use git for handing in assignments.

All computers today come with browser software as part of the package. This means you have the frontend tools provided already. The remaining tools are all in the realm of FOSS, Free and Open Source Software.

In Appendix B of this material, you will find installation instructions for the necessary software.