Processo in 5 fasi delle proposte JS.
Le proposte JavaScript devono essere approvate.
Tutte le proposte TC39 procedono attraverso un processo in cinque fasi – ovviamente, dato che siamo programmatori, è basato su 0! – Dalla fase 0 alla fase 4. La fase 0 significa che qualcuno su TC39 pensa che sia un’idea degna e ha intenzione di sostenerla e lavorarci sopra. Guarda il processo in fase qui: https://tc39.es/process-document/
Ciò significa che molte idee che i membri non TC39 “propongono”, attraverso mezzi informali come i social media o i post sui blog, sono in realtà “pre-fase 0”. Devi convincere un membro del TC39 a sostenere una proposta affinché venga considerata ufficialmente “Fase 0”.
Una volta che una proposta raggiunge lo stato di “Fase 4”, è idonea per essere inclusa nella successiva revisione annuale della lingua. Possono essere necessari da diversi mesi a pochi anni prima che una proposta si faccia strada attraverso queste fasi. Repository GitHub di TC39: https://github.com/tc39/proposals
Chiunque, su TC39 o meno, è invitato a partecipare a queste discussioni pubbliche e ai processi per lavorare sulle proposte. Tuttavia, solo i membri del TC39 possono partecipare alle riunioni e votare le proposte e le modifiche.
Quindi, in effetti, la voce di un membro di TC39 ha molto peso su dove andrà JS. Contrariamente ad alcuni miti consolidati e perpetuati in modo frustrante, non esistono più versioni di JavaScript in circolazione. C’è solo un JS, lo standard ufficiale mantenuto da TC39 ed ECMA.
All’inizio degli anni 2000, quando Microsoft manteneva una versione biforcuta e decodificata (e non del tutto compatibile) di JS chiamata “JScript”, c’erano legittimamente “più versioni” di JS. Ma quei giorni sono passati da tempo.
È obsoleto e impreciso fare affermazioni del genere su JS oggi. Tutti i principali produttori di browser e dispositivi si sono impegnati a mantenere le loro implementazioni JS conformi a questa specifica centrale. Naturalmente, i motori implementano le funzionalità in momenti diversi.
Ma non dovrebbe mai accadere che il motore v8 (motore JS di Chrome) implementi una funzionalità specifica in modo diverso o incompatibile rispetto al motore Spider Monkey (motore JS di Mozilla). Ciò significa che puoi imparare un JS e fare affidamento sullo stesso JS ovunque.
Definizione del linguaggio JavaScript
Possiamo definire JavaScript in molti modi diversi. Una buona definizione è che si tratta di un linguaggio di programmazione multi-paradigma orientato agli oggetti di alto livello. Decostruiamolo un po’ per dargli almeno un senso. E a partire dal linguaggio di programmazione stesso, un linguaggio di programmazione è fondamentalmente solo uno strumento che ci permette di scrivere codice che istruirà un computer a fare qualcosa.
Quindi diciamo che JavaScript è un linguaggio di alto livello, il che significa che non dobbiamo pensare a molte cose complesse come la gestione della memoria del computer mentre è in esecuzione o programmi. In JavaScript ci sono molte cosiddette astrazioni su tutti questi piccoli dettagli di cui non vogliamo preoccuparci. E questo rende la lingua molto più facile da scrivere e da imparare.
Successivamente, diciamo che JavaScript è orientato agli oggetti. E tutto ciò significa che il linguaggio si basa principalmente sul concetto di oggetti per l’archiviazione della maggior parte dei tipi di dati. E, naturalmente, impareremo tutto sulla programmazione orientata agli oggetti durante questo corso.
Infine, JavaScript è anche un linguaggio multi-paradigma, il che significa che è così flessibile e versatile che possiamo usare tutti i tipi di stili di programmazione diversi, come la programmazione imperativa e dichiarativa. E questi diversi stili sono solo modi diversi di strutturare il nostro codice, fondamentalmente.
Ad ogni modo, ora che sappiamo cos’è effettivamente JavaScript e quale ruolo gioca nello sviluppo web, o in altre parole, per cosa lo usiamo effettivamente? Per rispondere a questa domanda, diamo un’occhiata a tre tecnologie fondamentali del Web, HTML, CSS e, naturalmente, JavaScript. Queste tre tecnologie lavorano tutte insieme per creare siti web o applicazioni web belli, interattivi e dinamici.
L’HTML è responsabile del contenuto della pagina. Il testo, le immagini, i pulsanti e tutti i contenuti che vedi nella pagina web sono sempre scritti in HTML. Il CSS è responsabile della presentazione di tale contenuto. Quindi fondamentalmente per lo styling e per disporre gli elementi su una pagina web. E JavaScript è il vero linguaggio di programmazione di Internet.
JavaScript consente agli sviluppatori di aggiungere effetti dinamici e interattivi a qualsiasi pagina web. Lo usiamo anche per manipolare l’HTML o il CSS, caricare dati da server remoti e creare davvero intere applicazioni nel browser, che poi chiamiamo applicazioni web. Ora, possiamo anche usare l’analogia di nomi, aggettivi e verbi per rendere questa separazione dei ruoli un po’ più facile da capire.
Quindi, in questa analogia, l’HTML rappresenta i sostantivi. Ad esempio, dicendo che l’elemento è un paragrafo. E così il paragrafo è il sostantivo qui. Lo stile CSS ‘color: red’ è l’aggettivo, perché descrive il sostantivo, come dire che il testo del paragrafo è rosso. E infine, JavaScript è il verbo, come dire nascondere il paragrafo, quindi ci permette di agire e di aggiungere effetti dinamici alle pagine.