01-Intro Corso e Installazione strumenti

01-Intro Corso e Installazione strumenti

Breve storia di JavaScript

  • Nel 1993 viene sviluppato il primo browser con interfaccia grafica, Mosaic
  • Lo sviluppatore di Mosaic poi fonda Netscape e sviluppa Netscape Navigator
  • A quel punto le pagine web erano puramente statiche, HTML e CSS. Statiche significa che il contenuto della pagina viene scaricato dal browser e non viene modificato dall'utente a meno che non si carichi una nuova pagina o si compili e invii un formPasted image 20230609165913.png
  • Per superare questa limitazione Netscape sviluppa nel 1995 un nuovo linguaggio di scripting, che verrà poi chiamato JavaScript
  • Non ha nulla a che fare con Java, riprendeva semplicemente alcuni concetti e Java all'epoca era il linguaggio più famoso. La scelta del nome JavaScript fu solo una mossa di marketing, mossa che crea confusione ancora oggi tra i non addetti ai lavori.
  • Con la nascita di nuovi browser si comincia a sentire la necessità di standardizzare il linguaggio, viene assegnato il compito alla European Computer Manufacturer Association, per questo motivo il nome ufficiale del linguaggio ad oggi è ECMAScript, anche se è più comunemente usato JavaScript. Si usa generalmente ECMAScript quando si vuole far riferimento a una specifica versione.
  • L'evoluzione è stata un po' lenta, la version 3 è uscita nel 1999 e la 4 non è stata mai portata a termine.
  • Nel 2007 viene lanciato il primo iPhone senza supporto a Flash, nel 2008 Google lancia la prima versione di Chrome. Nascono molte librerie e linguaggi alternativi (transpiled) per cercare di modernizzare JavaScript. I vari browser cominciano ad adottare nuove funzionalità del linguaggio ancora prima che siano codificate nel nuovo standard.
  • La nuova versione arriva finalmente nel 2009 con la versione 5. Introduce JSON (JavaScript Object Notation) e corregge molti punti ambigui della versione 3 che avevano portato i browser a fare un po' quello che volevano nel corso degli anni.
  • Nel 2009 nasce Node.js, con lo scopo di usare JavaScript al di fuori del contesto di una pagina web. Utilizza la runtime su cui è fondato Chrome per eseguire codice JavaScript al di fuori di un browser. Aggiunge una serie di API per interagire con il sistema operativo (file system, processi, networking, ecc).
  • Nel 2010 nasce AngularJS (sviluppato da Google), e nel 2013 React (Facebook). E a cascata molti altri framework. Si diffonde sempre di più il concetto di Single Page Application.
  • Nel 2015 viene introdotto il concetto di classi e un sistema di importazione di moduli.
  • Ad oggi JavaScript è il linguaggio usato nella maggior parte delle repo su github, uno dei più richiesti per numero di posti di lavoro e uno dei più versatili (web frontend/backend, standalone applications, cloud functions, tools, ecc).

Configurazione PC

Installare Node.js

Si può installare direttamente ma ci sono diverse versioni, alcuni framework/librerie richiedono versioni diverse dall'ultima.
Può accadere anche che si debba riprendere in mano un progetto fatto in precedenza che non è ancora compatibile con l'ultima versione.
Per risolvere questo problema conviene installare Node usando un tool chiamato nvm (node version manager), che permette di installare più versioni nello stesso pc e passare da una all'altra con un semplice comando.

nvm install lts

nvm use 20

nvm alias default 22

# controllare con
node --version

LTS significa Long Term Support, nel mondo del software rappresenta una versione che verrà mantenuta dall'autore del codice per più tempo. Nel frattempo possono uscire nuove versioni, anche con caratteristiche diverse o non compatibili, ma finché non finisce il ciclo di vita di una versione LTS questa continuerà a ricevere aggiornamenti si sicurezza e bug fix.

Installare Git

Git è un sistema di versionamento del codice, permette di collaborare in più persone di un progetto, ognuno con una copia locale, senza che il proprio lavoro venga sovrascritto. Salva ogni modifica e mantiene le precedenti versioni, permette di gestire conflitti, aprire rami di sviluppo e tanto altro ancora.
Quando si installa git for Windows viene installato anche GitBash, che permette di avere una shell in stile linux.
Oggi si può ottenere lo stesso risultato anche utilizzando WSL (Windows Subsystem for Linux), che funziona in modo simile a una macchina virtuale ma molto più integrata.

Problema con Windows, i caratteri speciali ` e ~

Purtroppo nella configurazione stardard della tastiera italiana in Windows non esistono combinazioni rapide per digitare questi caratteri (~ = ALT+126, ` = ALT+96). Essendo molto utili in programmazione la soluzione è quella di andare a rimappare il layout della tastiera.

VS Code

E' l'editor di testo che andremo ad utilizzare (tra l'altro è sviluppato in Node.js usando Electron).

VS Code è un editor base le cui funzionalità vengono estese da plugin per renderlo l'ambiente di sviluppo ideale a seconda della situazione. Per il momento a noi basta installare il plugin LiveServer