Visualizzazione dei risultati da 1 a 9 su 9

Discussione: Lato server: js o PHP?

  1. #1

    Lato server: js o PHP?

    Salve a tutti, � ormai da qualche mese che mi cimento nella programmazione e progettazione di siti web, son partito da zero e sono arrivato a...0,2. Scherzi a parte, ho acquisito basi di HTML e CSS, inoltre ho iniziato con programmare in PHP (dire di essere in grado di programmare sarebbe una bestemmia), interrogare in SQL e da qualche settimana, dopo aver imparato i costrutti di Js, provo a rendere responsive le mie proto-pagine web.
    Tuttavia ora inizio a sentire l'inconsistenza delle mie conoscenze, talvolta un codice non funziona e vorrei che qualcuno che ne capisse mi stesse accanto e dirmi dove spaglio e soprattutto PERCH�. Purtroppo ho sperimentato, a spese di 18app, che i libri in materia di programmazione lasciano molto desiderare, l'unica fonte sono video tutorial (molto spesso, ovviamente, incompleti e lacunosi) e le fonti ufficiali dei vari linguaggi (che pi� che insegnare fungono da dizionario). Programmare per me � un diletto che mi diverte molto ma ultimamente sta quasi diventando una sofferenza poich� non capisco come possa migliorare ed imparare VERAMENTE quel che faccio. Se avete consigli sul modus operandi sarei lieto di farne tesoro.
    Veniamo al dunque: la domanda nel titolo (che c'entra poco con lo sfogo precedente), approccio a Js veramente soddisfacente, mi sono subito reso conto di quanto sia potente JS ma non capisco come questa potenza possa essere utilizzata anche nel lato server.
    I miei codici sono pieni di rimandi a PHP e JS ed ho come l impressione che io possa iniziare a, pian piano, eliminare sempre pi� PHP favorendo JS anche nel lato server (presumo utilizzando Nodejs). Tuttavia sono qui per porvi il quesito: eliminare PHP (oggettivamente molto lento) a favore di JS pi� veloce porta con s� svantaggi/impossibilit� nel compiere alcune azioni? Inoltre nonostante abbia cercato di documentarmi non capisco come JS possa fare query ad un database.

    Grazie mille delle risposte.
    Riccardo.

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,288
    Quote Originariamente inviata da asciaibo Visualizza il messaggio
    eliminare PHP (oggettivamente molto lento) a favore di JS pi� veloce porta con s� svantaggi/impossibilit� nel compiere alcune azioni?
    No, con entrambi i linguaggi puoi fare tutto ciò che vuoi.

    Quote Originariamente inviata da asciaibo Visualizza il messaggio
    non capisco come JS possa fare query ad un database.
    Non devi pensare a JavaScript eseguito nel browser: lato server, grazie al supporto di Node, hai accesso al file system, ai socket di rete, ecc. quindi è naturale fruire di librerie che - grazie a queste potenzialità - possono implementare client per l'accesso a database scritti in JavaScript. Questo senza tenere conto che alcuni database, come MongoDB, potrebbero essere interrogati direttamente tramite chiamate HTTP.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Utente di HTML.it L'avatar di ninja72
    Registrato dal
    May 2020
    residenza
    -
    Messaggi
    319
    Penso che le tue perplessità siano più che lecite, queste domande se le sono poste un pò tutti dalla nascità di node + express + mongo (anche il sottoscritto).
    Ho praticamente abbandonato PHP da 2 anni (come molti sviluppatori web) per dedicarmi ad un full immersion su Javascript lato client/server, il passaggio da PHP è stato abbastanza traumatico forse anchè per il fatto delle mie scarse conoscenze su JS, c'è voluto un pò di tempo e risorse (libri, videocorsi, tempo) per capire la versatilità e potenza di questo linguaggio che con ES6 ha fatto passi da gigante.
    Avere un buona conoscenza su Javascript è sicuramente vincente, perchè questo linguaggio ti permette di studiare e capire più velocemente i vari framework (express, react, ecc) per web-app o app ibride su android/ios (vedi react-native) è dunque non solo limitato allo sviluppo web.
    Ti consiglio, sempre che tu voglia intraprendere seriamente questo percorso è di iniziare con Javascript ES6, dunque studiare il linguaggio lato client (capire bene il DOM), avere un buona conoscenza di HTML5 e CSS è dato per scontato.
    Il passaggio successivo è lo studio di Javascript lato server, dunquè node + express + mongo; Express non è altro che un framework di node che ne semplifica molto lo sviluppo, mongo o mongoDB è un database non relazionale che ha più pro che contro rispetto ai database relazionali come mysql. C'è anchè tutto il discorso NPM (gestore pacchetti js/node) e GitHub (versionamento codice) da prendere in considerazione.
    L'ultimo step potrebbe essere quello di dedicare del tempo a "react-native" per lo sviluppo di applicazioni ibride android/ios, anchè se questo è più plus e dunquè non proprio obbligatorio per un percorso dedicato allo sviluppo web, ma che sicuramente fa testo sul curriculum.
    Scusa se ho messo troppa carne sul fuoco, gli argomenti con Javascript sono vermante molti.

  4. #4
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,505
    Quote Originariamente inviata da asciaibo Visualizza il messaggio
    Tuttavia sono qui per porvi il quesito: eliminare PHP (oggettivamente molto lento) a favore di JS pi� veloce porta con s� svantaggi/impossibilit� nel compiere alcune azioni? Inoltre nonostante abbia cercato di documentarmi non capisco come JS possa fare query ad un database.

    Grazie mille delle risposte.
    Riccardo.
    PHP lento??
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  5. #5
    Innanzitutto grazie delle risposte, ho deciso di utilizzare sia PHP che js (solo lato client però), in futuro approfondirò sicuramente con nodejs.

    PHP lento??
    sono sempre stato a conoscenza del fatto che pHP avesse performance più basse rispetto ad un JS... fonti sbagliate o incomprensione mia?

  6. #6
    Utente di HTML.it L'avatar di andreacanton
    Registrato dal
    Dec 2020
    residenza
    Verona, Italy
    Messaggi
    9
    Personalmente per imparare a programmare non importa quale linguaggio di programmazione si usa. Io non penso di essere un genio di nessun tipo e sono passato da PHP (Codeigniter, Wordpress, Magento), a Ruby on Rails, a Nodejs (expressjs) e ora, per lavoro, sono passato pure al lato oscuro della forza con C# e .NET. Parlo di linguaggi backend.

    Certo la prima volta è sempre difficile, quindi prima di iniziare a masticare una nuova tecnologia possono passare mesi, ma con gli anni di esperienza si riesce a passare da un linguaggio ad un altro anche in qualche settimana (per sentirsi autonomi, non dico di essere dei massimi esperti).

    Una cosa che cerco di fare quando imparo qualcosa di nuovo è di imparare meno cose possibili alla volta, idealmente una per volta. Certo all'inizio è difficile quando si hanno poche "carte" a disposizione e quindi magari ci si trova a dover imparare database, backend, frontend. Ma si possono trovare dei compromessi senza cercare di 'strafare'. Faccio un esempio, sto imparando a usare nodejs con express. Non ho introdotto mongodb nel progetto che sto facendo ora poiché conosco SQL e appunto cerco di mettere meno "carne al fuoco". (Non che non conosca come funziona mongodb e so che molti mi diranno "ma è facilissimo", certo è facile nei tutorial, non credo valga lo stesso nei progetti reali. Comunque non voglio sforare brutalmente iniziando a parlare di DB nella sezione "Lato Client" )

    Tornando a parlare di PHP, penso che per quanto sia diffuso esageratamente (vedi Wordpress e Magento) sia da considerarsi un linguaggio poco sicuro, non per forza lento. Lascio qui un articolo piuttosto esaustivo sull'argomento https://learnwebtutorials.com/php-is...ure-by-default

    Per quanto riguarda javascript segnalo un corso via email (temporaneamente fermato, ma comunque esaustivo) di Dan Abramov, creatore di React, può essere utile a qualsiasi livello secondo me, perché aiuta a creare dei modelli mentali utili a capire profondamente il linguaggio e a comprendere alcuni suoi comprtamenti bizzarri https://justjavascript.com/

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2016
    Messaggi
    783
    A livello di sicurezza i due linguaggi si equivalgono, usando i linguaggi "puri" ci sono problemi con entrambi se lo sviluppatore non sa bene cosa deve fare. Usando un framework molti di questi problemi vengono gestiti "in automatico" e quindi in entrambi i casi la sicurezza di base aumenta drasticamente. Io per esperienza personale ho trovato molte librerie npm (anche quelle molto usate) fatte veramente male a livello di qualità del codice (si veda lo stesso express nella gestione di async await), quindi forse per questo motivo tenderei a ritenere php leggermente più solido.

    Per quanto riguarda la velocità dipende molto da cosa ci devi fare, Node è asincrono mentre Php non lo è. Come conseguenza Node è più veloce per operazioni asincrone mentre php è più veloce per operazioni sincrone. Anche qui ritorna il problema delle librerie npm, molte sono piene di memory leak che ti fanno impazzire e che ovviamente sono un problema anche a livello di performance.

    Un punto a favore do Node può essere il typechecking, utilizzando Typescript. Qui Php sta cercando di recuperare ma è decisamente più indietro.

    Sicuramente ci sono anche altre differenze, come la gestione dei thread e la scalabilità ma direi che ho già scritto anche troppo.

    La mia opinione personale è che sicuramente JS crescerà molto più di Php in futuro, ma al momento c'è ancora molto da lavorare per avere un linguaggio solido e snello (due cose che personalmente necessito nel backend). In questo momento direi che le due soluzioni si equivalgono, ma hanno scenari di utilizzo decisamente diversi, dovuti alla differente architettura su cui si basano.

  8. #8
    grazie delle risposte;
    Certo la prima volta � sempre difficile, quindi prima di iniziare a masticare una nuova tecnologia possono passare mesi, ma con gli anni di esperienza si riesce a passare da un linguaggio ad un altro anche in qualche settimana (per sentirsi autonomi, non dico di essere dei massimi esperti).
    si, il problema � proprio questo, il tempo passa e impari sempre di pi�, ma non sai mai a quanto corrisponda il tuo livello di conoscenza poich� non si ha un riferimento (tipo amico/conoscente/professore che ti dica se le cose che hai imparato le hai assimilate nella maniera corretta), penso che il semplice fatto che un codice/script vada e giri correttamente non sia una garanzia della qualit� dello stesso codice.

    Per intenderci, scrivo un codice e questo funziona, ma chi mi dice che la metodologia utilizzata sia corretta? chi mi dice che le mie 100 righe non possano essere riscritte da un professionista nella met� delle righe? (i miei esempi sono molto banali, ma spero che il concetto sia chiaro)

    Ho appena effettuato l'iscrizione a quel corso di javascript, mi sembra che sia un format veramente valido...vedremo e spero che sia cos�.

    A livello di sicurezza i due linguaggi si equivalgono, usando i linguaggi "puri" ci sono problemi con entrambi se lo sviluppatore non sa bene cosa deve fare. Usando un framework molti di questi problemi vengono gestiti "in automatico" e quindi in entrambi i casi la sicurezza di base aumenta drasticamente. Io per esperienza personale ho trovato molte librerie npm (anche quelle molto usate) fatte veramente male a livello di qualit� del codice (si veda lo stesso express nella gestione di async await), quindi forse per questo motivo tenderei a ritenere php leggermente pi� solido
    per ora io mi sto approcciando a questi linguaggi nella loro forma pi� "pura", senza usare frameworks, che credo siano strumenti utili solo al programmatore o allo sviluppatore che ha un progetto per le mani e ovviamente deve fare tutto pi� velocemente possibile. Considerando che la mia intenzione � quella di imparare il linguaggio in s� voglio approcciarmi ad esso senza costrutti o preformati.
    Come hai detto, con un solo linguaggio non ci fai niente, infatti sto cercando di metter le mani su pi� linguaggi ma js mi sta appassionando sempre di pi� ma non sto escludendo ancora del tutto PHP che continuer� ad utilizzare affiancato, talvolta, a Ajax.

    Ora sto cercando di applicare tutte le mie conoscenze all'interno della progettazione di un sito simil-social network che mi sta impegnando soprattutto per quanto riguarda la parte della gestione del database (le mie intenzioni sono quelle di creare un db per ogni foto che viene caricata all'interno della quale sono presenti i commenti e gli autori degli stessi e stessa cosa per i "mi piace"). � un prgetto, come gi� detto, che verte pi� all'apprendimento che alla realizzazione di un sito vero e proprio, tuttavia avete consigli?

  9. #9
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,505
    Te lo dice l'esperienza.

    Sicuro un professionista la fa meglio di te. Ma fidati, meglio se capisci da solo perché lo puoi fare meglio.
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.