quote by J.R. carpenter, the image is part of the series Sparrows talking about the future of the web created by Laurel Schwulst
🙏🏼 This tutorial is composed almost entirely of teaching material from Nick Briz 🙏🏼
0 0
| |
____|___|____
0 |~ ~ ~ ~ ~ ~| 0
| | J S | | interaction & behavior
___|__|___________|___|__
|/\/\/\/\/\/\/\/\/\/\/\/|
0 | C S S | 0 design or look & feel
| |/\/\/\/\/\/\/\/\/\/\/\/| |
_|___|_______________________|___|__
|/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/|
| |
| H T M L | structure & content
| ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ |
|___________________________________|
☞ Each technology has its function & responsibility
HTML is not a programming language because it doesn’t understand logic. A markup language is a way of marking up a document to explain something to the computer about the content of that document.
HTML is the bottom layer of our cake. It is all about structure, semantics & meaning.
If HTML is used properly, a search engine (like Bing and Google) can understand the structure of the document. For example, if the search engine sees <h1>
tags, it know that this text is important.
You can easily abuse HTML and use it for design. A classic bad example is using HTML tables to make columns in the page.
CSS is used to apply visual design to HTML elements. Cascading refers to the parent-child structure of CSS. A style set on a parent element will also apply to its child elements, unless a child has style rules that override that of the parent.
CSS is not required to make a webpage. If you don't add a stylesheet yourself, the browser's default stylesheet will be used.
JavaScript is the only frontend programming language for the Web (and currently also the most popular programming language).
JavaScript is used for behavior & user interaction, e.g. animations, popups, form validation, etc.
JavaScript can be used for both client-side, or frontend, and server-side, or backend, scripting. We work entirely frontend. Other server-side programming languages are PHP, Ruby, Python, Java, ...
JavaScript can be a difficult language to learn. Its structure can be likened to a complex house with numerous extensions.
We will work with a limited and user-friendly JavaScript library ➔ p5.js
In web development, there are several different tools working in tandem to make things run. The pieces can seem overwhelming at first, but let's take it step by step.
Used to view & browse webpages
There are standards for HTML, CSS and JS. But each browser implements these in their own way. You can never be completely sure that a page will look exactly the same in all browsers.
➔ Chrome for desktop is not the same as Chrome for mobile. Same with Safari.
➔ You should test your work in different browsers, and on different devices. On desktop, a page should at least work in Chrome, Firefox and Safari. On mobile, you should test in Chrome and Safari.
➔ Testing is especially important with CSS and JavaScript (less with HTML).
See https://gs.statcounter.com for statistics about browser market share and Mobile vs Desktop.
Used to write your code
You are free to choose. Recommendations:
➔ Visual Studio Code
➔ Pulsar ☞ builds on atom
➔ Brackets
➔ Sublimetext ☞ 99$
Pick one editor and learn it well, especially the shortcuts. I loved working with Atom but switched to Visual Studio Code after its Sunsetting.
handy extentions:
➔ Live Server, launch a development local Server with live reload feature
➔ Prettier, a Code formatter
➔ Color picker and previewer
Used to upload, download and manage files on a server
Again free to choose. Recommendations:
It's common that your workflow will consist of testing and running locally (on your computer), and then uploading and deploying remotely.
HOGENT has a partnership with Combell where, as a student, you have 50 gigabytes of web space at your disposal for a period of 3 years. If you want to make use of it, go to academicsoftware.eu, log in with your HOGENT account, select 'Web hosting Combell (Linux)' and follow the steps.
Attention. You have to provide a .be domain name yourself.
Netlify drop is an easy way to publish a site for free. The URL will look like yourchosenname.netlify.app
Github pages is a relative simple service to publish a website directly on GitHub from a Git repository.