Era una domenica pomeriggio e stavo cercando l’ispirazione per un nuovo articolo da scrivere, leggevo alcuni articoli sulla programmazione per poter sviluppare una piattaforma web per un cliente. Googlando un po’ mi sono ritrovato a leggere questo articolo su un forum di programmazione, con un titolo che mi ha suscitato parecchio interesse: “Qual è il miglior linguaggio per creare un back-end di un sito? Node JS o PHP?”.
Incuriosito dall’argomento ho aperto il link, ho trovato degli spunti davvero interessanti e ho trovato l’ispirazione giusta per scriverci su.
Se pensate che il NodeJs sia migliore del PHP, la risposta è “dipende dal suo utilizzo”, ma andiamo ad analizzare i motivi principali tra poco.
NodeJs vs PHP – Che il combattimento abbia inizio!
Ho deciso di elencarti le caratteristiche di entrambe le tecnologie così da costruire basi più solide alle piattaforme che noi impavidi sviluppatori andremo a realizzare 🙂
NodeJs:
Questo è un semplice esempio scritto in Node, tramite il modulo loader require js, tramite la funzione require e possibile importare nei progetti i moduli di NodeJs con molta semplicità. L'esempio descritto fa in modo che node funge da webserver (Si serve di Apache) e dai ordine al server di scrivere su un file html chiamato demof.html e gli stampa il contenuto di un parametro get.
[js]
var http = require('http');
var file = require('fs');
var url = require('url');
http.createServer(function (req, res) {
file.readFile('demof.html', function (err, data) {
var part = url.parse(req.url, true).query;
res.writeHead(200, { 'Content-Type': 'text/html' });
res.write(data);
res.end('Url attivato : '+part.x);
});
}).listen(8080);
[/js]
Passiamo invece al suo acerrimo e “vetusto” nemico PHP, che da un bel po’ di tempo si è aggiornato alla versione 7:
Questo sono alcune delle caratteristiche principali dei due titani 🙂 Ma vediamo quando usare queste due tecnologie.
1) Rispetto al suo “avversario” è meno diffuso, NodeJs ha bisogno di essere installato nel server inoltre, ci vuole almeno un accesso tramite SSH. L’accesso a questa funzionalità è esclusivamente accessibile con un acquisto di un server. Se non sei molto esperto di Javascript e di NodeJs, può capitare che la macchina ospitante vada in crash perché il framework per poter funzionare ha bisogno di molta memoria e, se nel codice sorgente non si tiene a mente questa cosa, si perde tempo a cercare di fare il debugging sul progetto.
2) Non ti consiglio di usarlo se devi creare estensioni di qualche CMS come WordPress o Joomla!, meglio ricorrere al loro linguaggio nativo come il PHP.
3) Anche nel caso in cui tu debba sviluppare applicazioni web che non generano molto traffico, ti consiglio di non usarlo per il semplice motivo che spreca molta memoria e prestazioni.
1) NodeJs è perfetto per creare una web application mobile con piattaforme come Cordova e Firebase. IDE, Integrated Development Environment, come Visual Studio, hanno integrato in Cordova anche NodeJS, che può perfettamente sostituire il PHP. Stessa cosa anche con web application desktop con il framework Electron.
2) NodeJs è ottimo se devi creare applicazioni Single page, magari accostandolo con React o Angular.
3) In NodeJs ci sono moduli già preinstallati che possono accedere e gestire un database con i linguaggi più popolari come MySQL, NoSQL ODBC e altro ancora, in modo da ricavare in modo sincrono i dati caricati all’interno delle tabelle. Questa potenzialità viene sprigionata se la macchina ospitante ha una buona configurazione, sia dal punto di vista software che hardware.
1) PHP non è molto adatto per lo sviluppo di web app e non è consigliabile per le nuove tecnologie di sviluppo che ti ho citato prima, infatti per poter riportare dei dati all’interno di un’app ha bisogno della tecnologia AJAX come supporto di base che restituisce i dati in modo asincrono.
2) Il linguaggio PHP ha bisogno di un interprete per poter funzionare correttamente, mentre a volte è necessario anche smanettare nei file di configurazione per dare il meglio di sé.
3) PHP non è adatto alla creazione di portali single page, perché ha sempre la necessità di fare un refresh alla pagina; per questo motivo, è molto meglio non creare app con schermo ad intermittenza ahahaha!
1) Puoi creare grandi e piccoli gestori di contenuti in modo molto semplice, esiste una grande comunità di sviluppatori PHP che creano librerie pronte all’uso, come TPC/PDF che serve a tradurre l’output HTML in PDF.
2) PHP è ottimo per creare contenuti estremamente dinamici, dato che l’interprete una volta tradotto il codice, riporta l’output del sorgente in HTML puro.
3) Nel PHP le librerie, come il PDO, si integrano perfettamente a tutti i linguaggi per costruire i database, questo dà un’ottima marcia per interagire anche con altri linguaggi come il Java, perché supporta ODBC.
Questo pezzo di codice che vi mostro in basso fa la stessa cosa dell' esempio mostrato con node js, ma in questo caso non troveremo nessuna funzione che crea web server, visto che il php sul server ci gira.
[php]
[/php]
Da come hai potuto vedere NodeJs è davvero insostituibile, qui la tecnologia più all’avanguardia viene utilizzata per creare web app sia desktop che mobile.
Il buon vecchio PHP invece, rimane il paladino di webserver come Apache e Nginx (che per la loro diffusione occupano l’80% della rete).
In conclusione sia per NodeJs che per PHP il risultato è uno: 0 a 0 palla al centro.
Da H4ck3rM4n è tutto, ci vediamo alla prossima!
I dieci migliori siti di risorse vettoriali gratuite per i tuoi progetti È da tanto…
La SEO è un argomento trito e ritrito (se sei stanco delle definizioni alla wikipedia…
Non sai quale font usare per il tuo progetto? Niente paura! In un mare infinito…
I social media sono sempre esistiti: ovvero l'articolo a cui ho lavorato quest’estate perché mi…
7 consigli per un investitore scaramantico nasce dall’incontro di menti un po’ fuori dall’ordinario che si…
Per tanto tempo, dal 2006 in poi, il JavaScript (anche detto JS) divenne un linguaggio…
Questo sito usa i cookie.
Leave a Comment