Creare web app su Hosting Node JS con Heroku
Se stai leggendo questa guida sicuramente ĆØ perchĆ© sei attratto dall’informatica e dalla programmazione. Di conseguenza, se segui ciĆ² che scrivo, avrai giĆ letto in qualche altro mio post, che non mi piace molto trascurare i principi cardine di un argomento allāintuizione o a pareri personali. Quindi, anche se rischio di essere un tantino noioso e scontato, cercherĆ² di riprendere lāargomento su Node JS definendo, da subito, un aspetto molto importante, che riguarda lo sviluppo di web application, e cioĆØ, il significato del termine ādeployā che analizzerĆ² nel dettaglio spiegandoti come sia possibile sviluppare e creare web app su Hosting Node JS con un servizio formidabile come Heroku.
Indice del Post...
1. CosāĆØ Node JS
Negli ultimi anni, Node JS ĆØ risultato essere il linguaggio piĆ¹ adatto per sviluppare applicazioni web, e questo per una buona ragione. Node JS ti permetterĆ di eseguire Javascript lato server cosa, questa, non da poco.
Dopo averlo usato per un pĆ², capirai anche il perchĆ©. Non solo ĆØ costantemente aggiornato e in linea con gli ultimi aggiornamenti e progressi di JavaScript, ma il suo sistema di esecuzione asincrona del codice gli consente di elaborare rapidamente grandi quantitĆ di informazioni senza l’uso di thread che, solitamente, rendono il codice piĆ¹ complesso da gestire. Alcuni hanno giĆ creato applicazioni con Node JS e se lo hai fatto anche tu, ti sarai sicuramente posto questa domanda: āCosa devo fare per distribuire la mia applicazione Node JSā? Tranquillo, non ĆØ una domanda banale.
Se cerchi su Google, ti renderai subito conto che esistono molte opinioni e approcci diversi a riguardo, ma ognuno sembra essere piĆ¹ complicato dell’altro. A questa domanda cāĆØ una sola risposta: āHerokuā. Ma adesso cerchiamo di capire cosāĆØ Heroku e come puĆ² aiutarti a distribuire e a sviluppare web app con Node JS.
Leggi anche: Javascript Local Storage: Il browser come datastore
2. CosāĆØ e a cosa serve Heroku
Se ami Node JS e cerchi una piattaforma di hosting semplice da usare, flessibile e senza limiti per sviluppare un’applicazione, devi assolutamente conoscere Heroku. Heroku ĆØ un PaaS (Platform as a Service) che ti consente di sviluppare e di concentrarti solo sugli aspetti importanti dello sviluppo. Insomma, ti permetterĆ di concentrarti solo sulla creazione dell’applicazione stessa invece di passare il tempo a preoccuparti della configurazione del server o di problemi legati alla scalabilitĆ e quantāaltro. Ma vediamo come puĆ² esserti di aiuto Heroku nello sviluppo di unāapplicazione con Node JS.
3. Sviluppare con Node JS e Heroku
Node JS e Heroku ĆØ lāaccoppiata vincente per il tuo sito web se vuoi liberarti da ulteriori preoccupazioni lasciando, che questo fantastico servizio, si occupi dei server e della loro configurazione. Operazione complicata e dispendiosa, in termini di tempo, per chi non ĆØ troppo ferrato in materia o e alle prime armi con questa tipologia di sviluppo. Ma vediamo, ora, come sviluppare la tua prima applicazione web con Node JS e Heroku.
3.1 Installa Node JS
Beh, il requisito fondamentale necessario, prima di procedere con la creazione di unāapplicazione, ĆØ installare Node JS. La cosa ĆØ piĆ¹ semplice del previsto. Basta raggiungere la sua homepage, scaricare ed eseguire il pacchetto di installazione relativo al tuo sistema operativo.
Ć buona norma, dopo lāinstallazione di ogni software, verificarne la corretta esecuzione. Pertanto, apri il prompt dei comandi e digita questa istruzione: ānode -vā. Se il sistema visualizzerĆ la versione di Node JS installata significa che tutto ĆØ andato per il verso giusto.
3.2 Installa Visual Studio Code
Un altro requisito fondamentale necessario ĆØ lāinstallazione di un editor di testi evoluto per lo sviluppo. Lāunico degno di nota ĆØ Visual Studio Code. Te ne ho giĆ parlato in unāaltra mia guida a riguardo.
Leggi anche: 5 alternative open source to Visual Studio Code di Microsoft
Tuttavia, lāinstallazione di Visual Studio Code ĆØ semplice tanto quanto quella di Node JS. Anche qui, non ti resta che raggiungere la sua homepage, cliccando su questo link, e scaricare ed eseguire il pacchetto di installazione relativo al tuo sistema operativo.
Anche in questo caso, ĆØ buona norma, verificare la corretta installazione di Visual Studio Code. Pertanto, apri il prompt dei comandi e digita questa istruzione: ācode -vā. Se il sistema visualizzerĆ la versione di Visual Studio Code installata significa che tutto ĆØ andato per il verso giusto.
3.3 Crea la tua applicazione Node JS
Ok, siamo pronti. Ora, crea una cartella sul desktop e, per semplicitĆ , la chiameremo āHelloWorld. Adesso apri Visual Studio Code, cliccando sullāicona presente sul desktop, clicca sul pulsante āApri cartellaā e seleziona āHelloWorldā.
Beh, a questo punto non ti resta che creare il file index.js nel quale digiteremo le istruzioni necessarie per visualizzare il classico āHello Worldā¦!ā. Quindi, espandi la cartella āHelloWorldā, presente in Visual Studio Code, cliccando sulla freccia in basso disponibile accanto al nome della cartella stessa. Successivamente, clicca sullāicona riportante il simbolo del ā+ā, digita āindex.jsā e premi il tasto INVIO.
Adesso, copia e incolla il seguente codice allāinterno del file index.js:
var http = require('http'); http.createServer(function (req, res) { res.write('Hello World!'); res.end(); }).listen(3000, function(){ console.log("server start at port 3000"); });
3.4 Esegui la tua applicazione Node JS
Beh, dopo tanto duro lavoro penso tu voglia vedere allāopera il tuo codice Node JS? Penso proprio di sƬ. Quindi, riapri il prompt dei comandi, spostati nella cartella HelloWorld, presente sul desktop, e digita il comando ānode index.jsā seguito dal tasto INVIO.
A questo punto il tuo server web, creato con Node JS, ĆØ pronto e risponde sulla porta 3000. Non ti rimane che aprire il tuo browser web preferito e puntare allāindirizzo: http://localhost:3000, e il saluto āHello Worldā¦!ā verrĆ visualizzato allāinterno della finestra attiva del browser.
4. Il deploy di una web app Node JS con Heroku
Il termine “deployment” ĆØ giĆ stato definito piĆ¹ volte in contesti di sviluppo di applicazioni web, ma sempre, con un’accezione limitata. In senso abbreviato, e meno tecnico, si intende generalmente il trasferimento di uno o piĆ¹ file dal server dello sviluppatore (la macchina dove solitamente avviene lo sviluppo) a un server di produzione (la macchina che ospiterĆ il sito web una volta terminato).
Una delle difficoltĆ , affrontate dai principianti nella programmazione web, ĆØ la scelta dell’ambiente server, che puĆ² essere piuttosto complessa, perchĆ© dipende da una serie di aspetti tecnici e funzionali che caratterizzeranno il software. Questo problema non ĆØ nuovo, ma ĆØ importante sapere che esistono soluzioni gratuite, molto efficienti, che ti aiuteranno a distribuire la tua applicazione online.
Heroku, infatti, ĆØ un’ottima piattaforma per il deployment, se vuoi registrarti per la prima volta e non sai come fare, in questa guida ti spiegherĆ² tutti i passaggi per creare e distribuire la tua applicazione Node JS con questo straordinario servizio.
4.1 Registrati e accedi a Heroku
Il primo ĆØ necessario step ĆØ registrarti su Heroku. La procedura ĆØ simile a tanti altri siti web che prevedono lāautentica dellāutente prima di concedere lāaccesso ai servizi offerti. Quindi, Clicca su questo link. La pagina che vedrai corrisponde alla homepage del portale di Heroku. Da questa posizione avrai accesso a tutti i servizi che il portale ti mette a disposizione. Prima perĆ² ĆØ necessario autenticarsi, per fare ciĆ², ĆØ necessaria la registrazione come nuovo utente.
Se sei giĆ registrato clicca sul link āLog inā altrimenti clicca sul pulsante āSign inā e procedi con la registrazione come nuovo utente. La maschera che vedrai la devi compilare in tutte le sue parti, terminata la compilazione del form di registrazione, puoi cliccare sul pulsante āCreate Free Accountā. Subito dopo riceverai una email di conferma con la quale attiverai il tuo account gratuito a Heroku.
Terminata la fase di registrazione, puoi cliccare sul pulsante āLog inā per accedere alla piattaforma. Inserisci āemailā e āpasswordā indicati in fase di registrazione e clicca sul pulsante āLog inā.
Ć facile che Heroku ti chieda di confermare lāaccesso inserendo il codice OTP, configurato, ad esempio tramite lāapp āFree OTPā o āGoogle Authenticatorā (a te la scelta), in fase di registrazione al portale. Dopo aver inserito il codice di verifica clicca sul pulsante āVerificaā.
A questo punto sei autenticato in Heroku e potrai accedere liberamente a tutti i servizi offerti dal portale.
4.2 Crea lāapp su Heroku
Riapri Visual Studio Code con il file index.js aperto e pronto a modifiche nellāeditor. Dalla finestra del terminale di Visual Studio Code digita il comando: ānpm initā e premi INVIO ad ogni sua richiesta. Terminata la fase di esecuzione del comando troverai il file āpackage.jsonā nella stessa cartella del file index.js.
Adesso, apri il file package.json e modificalo inserendo le seguenti righe di codice:
{ "name": "heroku", "version": "1.0.0", "description": "", "main": "index.js", "start": "node index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "start": "node index.js" }, "author": "", "license": "ISC" }
Ora, recati nuovamente sulla homepage di Heroku e clicca sul pulsante āCreate new appā. Specifica il nome dellāapp, scritto tutto in minuscolo, scegli il tuo stato di appartenenza e clicca sul pulsante āCreate appā.
Considera che potrai anche cambiare il nome dellāapp che creerai con Heroku, ma ĆØ necessario che sia un nome univoco allāinterno del suo container per una determinata regione o stato. Pertanto dopo aver digitato il nome dellāapp, Heroku, ti darĆ lāesito positivo o meno circa la possibilitĆ di creare un app con quel nome e restituirĆ il messaggio: āhelloworld-node is availableā .
4.3 Scarica e installa Heroku CLI
A questo punto ĆØ necessario scaricare Heroku CLI, la console dei comandi di Heroku da terminale. Dopo aver cliccato sul link āDownload and install Heroku CLIā, potrai scaricare quella piĆ¹ adatta al tuo sistema operativo, terminato il download potrai installarla.
4.4 Distribuisci la tua app su Heroku
Terminata lāinstallazione, di Heroku CLI, torna nuovamente a Visual Studio Code e nella finestra del temrinale digita questo comando: āheroku loginā seguito dalla pressione del tasto INVIO. Il comando heroku login ti chiederĆ se vuoi loggarti tramite il browser, se sarĆ questa la tua scelta, cliccherai nuovamente il tasto INVIO e il browser si aprirĆ alla pagina di login di Heroku. Ora non ti resta che cliccare sul pulsante āLoginā, presente nella pagina di login di Heroku nel browser, senza la necessitĆ di reinserire username e password.
Heroku sfrutta GIT come sistema di versioning del codice. Ed ĆØ proprio tramite GIT che lāapplicativo web viene trasferito su Heroku. Logicamente, prima di proseguire, ĆØ necessario installare GIT. Per farlo basta cliccare su questo link ĆØ scaricare la versione adatta al tuo sistema operativo. Dopo aver installato GIT, e sempre dal terminale di Visual Studio Code, digita questi comandi:
git init heroku git:remote -a helloworld-node git add . git commit -am "qui un tuo messaggio ad ogni commitā¦ā git push heroku master
Terminata lāesecuzione di questi comandi e soprattutto del comando āgit push heroku masterā la tua app sarĆ disponibile su Heroku e avviabile liberamente cliccando sul link fornito dal comando stesso nella finestra del terminale di Visual Studio Code. Il link avrĆ , per questa app, questo aspetto: āhttps://helloworld-node.herokuapp.comā. Ora, copia e incolla questo URL nella casella degli indirizzi del browser e vedrai magicamente la tua app āhelloworld-nodeā prendere vita.
Ć importante puntualizzare che, ad ogni modifica del codice sorgente e dopo ogni comando git commit āam ātuo messaggioā¦ā, va sempre ripetuto anche il comando āgit push heroku masterā. Questo ĆØ necessario per riflettere immediatamente le modifiche apportate al codice sorgente locale con quello presente su Heroku.
5. Conclusioni
Spero di esserti stato utile ed esaustivo. Ho cercato di spiegarti, nel modo piĆ¹ semplice possibile, il sistema utilizzato dai professionisti del software. Lo sviluppo professionale del software ĆØ unāarte che va applicata secondo regole ben precise utilizzando strumenti avanzati come Heroku. Ti consiglio di rivedere piĆ¹ volte i passaggi trattati in questa guida per focalizzarli al meglio ed apprendere al massimo la tecnica che quotidianamente praticano gli sviluppatori professionisti.
Leggi anche: Come diventare Full Stack Developer con Node Js ed Express Js