Chapter 1. Introduction

Table of Contents
Tools Installation, etc

Tools Installation, etc

A web developer, just like any other craftsman, must have his toolbox handy in order to be able to do a good job in his craft. Let us take a somewhat schematic look at the tools.

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.
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 is a so called 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.
Apache/Web server
Web server are software packages that, when installed and running, receive requests for web pages from clients, most often web browsers. The web server returns text, mostly in the form of HTML5 to the client. The returned text may be stored as plain HTML5 or manufactured by invoking PHP on the web server platform. We use Apache, the most ubiquitous web server software of all.
PHP, an acronym for PHP Home Pages, is a so called backend programming language. This means a programming language installed on a web server as a separate software product. PHP makes web pages potentially dynamic. They may not be displaying the same content on separate visits as opposed to static pages written in HTML5 and CSS only. PHP is a choice. There are other languages that may fill the role of backend programming language. PHP provides access to the database server.
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.

Node.js is an alternative to Apache and PHP as a backend development platform. Depending on your development work, you may need both on your development platform.

Database Management System. This is a software package that, when installed and running, represents the database server.
Structured Query Language. The programming language for manipulating databases. It is a declarative programming language as opposed to JavaScript and PHP who are both imperative languages. It is built into the DBMS software.
Developer's tools
Last but not least 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." Or should I say some editors. There are thousands to choose from. Take your pick ;-) I love vi, well actually vim, and SciTE, Geany, and …

In the teaching accompanying this material, we have chosen to use the IDE Netbeans. Netbeans is originally a Java IDE from Sun MicroSystems, but it now supports all sorts of software development. Since Sun was merged into Oracle, it is now an open source project under that corporation.

DBMS client
Before we let PHP access the database server the SQL must be developed and tested through a client program. The DBMS software usually include a CLI version of such a client. You may install some GUI version if you prefer.
You have it - I think.

In this day and age all computers come with browser software as part of the package. This means you have the frontend components HTML5, CSS, and JavaScript installed already. The remaining tools are normally in the world of FOSS, Free and Open Source Software, installed as a so called AMP stack. The A is for Apache, the web server. The M is for MySQL, a DBMS product. The P if for PHP.

In Appendix A of this material, we install the necessary software.