Consigli per approcciarsi alla programmazione web

di il
4 risposte

Consigli per approcciarsi alla programmazione web

Salve a tutti! Innanzitutto chiedo scusa se non è la sezione giusta (non ne ho vista nessuna generica) e nel caso chiedo gentilmente agli amministratori di spostare il post in quella corretta. Veniamo al dunque:
Sono uno studente di informatica e sono rimasto sorpreso nel vedere che il mio corso di laurea non preveda nessun esame relativo alla programmazione web. Poichè è una cosa che mi interessa vorrei cominciare a studiarlo in maniera autonoma ma, essendo quasi totalmente ignorante in materia, avrei bisogno di qualche consiglio o comunque di essere "indirizzato". Mi spiego meglio. So che esistono i vari php, html, css, javascript ecc... ma (essendo ignorante in materia come detto) non so nel dettaglio quali tra questi siano "antagonisti" e quali invece si integrino tra loro. L'unica cosa che ho fatto (sempre autonomamente per un progetto di un esame) è stato un pò di php ma solo per programmazione server-side e solo per interrogare un database. Quindi vorrei sapere per realizzare dei siti web cosa mi consigliate di studiare e da cosa partire?
Sono ben accetti consigli anche su manuali o guide web (che spesso ho trovato migliori di alcuni libri). Grazie a tutti in anticipo

4 Risposte

  • Re: Consigli per approcciarsi alla programmazione web

    Innanzitutto, l'approccio alla programmazione NON E' quello che hai descritto tu.

    Programmare NON VUOL DIRE conoscere un linguaggio di programmazione, ma CONOSCERE come convertire il problema in una forma adatta al computer, INDIPENDENTEMENTE dali linguaggio di programmazione.

    Il linguaggio di programmazione AIUTA, NON E' la soluzione.

    Ma se vuoi partire a smanettare, puoi seguire questo PRIMO approccio, con un sacco di pregi e pochi diffetti

    LATO CLIENT, cioe' quello che gira sul browser:

    Si programma in Javascript + HTML + CSS + un SACCO di librerie gia' pronte. Nota jQuery E' SOLO UNA LIBRERIA, NON E' la soluzione di tutti i problemi. Semplifica un sacco lo sviluppo di applicazioni che lavorano con la pagina WEB, MA SOLO SE SAI CHE COSA STAI COMBINANDO.

    Inoltre devi cercare che cosa sono le librerie per i siti "responsivi": Angular, Ember, Vue, React, Polymer, ...
    C'e' ne sono n-mila. NON ESISTE LA MIGLIORE, sono tutte buone/cattive allo stesso modo. In certi casi e' meglio una, in altri meglio l'altra.

    In quai casi? E bravo furbo

    LATO SERVER:
    Si puo' programmare praticamente in QUALUNQUE linguaggio di programmazione (Python, Java, C#, PHP, Ruby, C++, Scala, Erlang, Lisp, ...)

    Tra l'altro ANCHE in Javascript.

    Quindi, per evitare di incasinarti inutilmente, potresti usare Javascript ANCHE lato server. In questo modo devi studiare UN UNICO linguaggio di programmazione, invece di 2, facendo pasticci.

    COME FAR COMUNICARE LATO CLIENT CON LATO SERVER
    Questa e' la parte semplice/complicata: un approccio che mi piace molto e' quello delle SPA - Single Page Application

    Il lato client e' realizzato TUTTO E SOLO lato client (JS+HTML+CSS+...)

    Il lato server viene realizzato TUTTO E SOLO lato server.
    Cioe' il Server NON GENERA NESSUNA PARTE DEL client, a parte fornire HTML, CSS e JavaScript.

    Il server implementa un RESTFul Service.

    Sembra complicato ma e' MOOLTO PIU" semplice mantenere SEPARATI client e server, che non fare quei mischioni orrendi in cui il server genera parti di HTML usate lato client.

    Il client richiama i servizi del Server mediante delle richieste Ajax.


    ====================================================

    Bene, cosi' hai termini e concetti su cui iniziare a ragionare.

    Per il resto AMAZON, libri DI CARTA.

    Se speri di risolvere con slide schifide, o quello che trovi sul web, inizi male e se finisci, finisci peggio.
  • Re: Consigli per approcciarsi alla programmazione web

    migliorabile ha scritto:


    Innanzitutto, l'approccio alla programmazione NON E' quello che hai descritto tu.

    Programmare NON VUOL DIRE conoscere un linguaggio di programmazione, ma CONOSCERE come convertire il problema in una forma adatta al computer, INDIPENDENTEMENTE dali linguaggio di programmazione.

    Il linguaggio di programmazione AIUTA, NON E' la soluzione.

    Ma se vuoi partire a smanettare, puoi seguire questo PRIMO approccio, con un sacco di pregi e pochi diffetti

    LATO CLIENT, cioe' quello che gira sul browser:

    Si programma in Javascript + HTML + CSS + un SACCO di librerie gia' pronte. Nota jQuery E' SOLO UNA LIBRERIA, NON E' la soluzione di tutti i problemi. Semplifica un sacco lo sviluppo di applicazioni che lavorano con la pagina WEB, MA SOLO SE SAI CHE COSA STAI COMBINANDO.

    Inoltre devi cercare che cosa sono le librerie per i siti "responsivi": Angular, Ember, Vue, React, Polymer, ...
    C'e' ne sono n-mila. NON ESISTE LA MIGLIORE, sono tutte buone/cattive allo stesso modo. In certi casi e' meglio una, in altri meglio l'altra.

    In quai casi? E bravo furbo

    LATO SERVER:
    Si puo' programmare praticamente in QUALUNQUE linguaggio di programmazione (Python, Java, C#, PHP, Ruby, C++, Scala, Erlang, Lisp, ...)

    Tra l'altro ANCHE in Javascript.

    Quindi, per evitare di incasinarti inutilmente, potresti usare Javascript ANCHE lato server. In questo modo devi studiare UN UNICO linguaggio di programmazione, invece di 2, facendo pasticci.

    COME FAR COMUNICARE LATO CLIENT CON LATO SERVER
    Questa e' la parte semplice/complicata: un approccio che mi piace molto e' quello delle SPA - Single Page Application

    Il lato client e' realizzato TUTTO E SOLO lato client (JS+HTML+CSS+...)

    Il lato server viene realizzato TUTTO E SOLO lato server.
    Cioe' il Server NON GENERA NESSUNA PARTE DEL client, a parte fornire HTML, CSS e JavaScript.

    Il server implementa un RESTFul Service.

    Sembra complicato ma e' MOOLTO PIU" semplice mantenere SEPARATI client e server, che non fare quei mischioni orrendi in cui il server genera parti di HTML usate lato client.

    Il client richiama i servizi del Server mediante delle richieste Ajax.


    ====================================================

    Bene, cosi' hai termini e concetti su cui iniziare a ragionare.

    Per il resto AMAZON, libri DI CARTA.

    Se speri di risolvere con slide schifide, o quello che trovi sul web, inizi male e se finisci, finisci peggio.
    Grazie mille per l'ampia risposta. Probabilmente ho espresso male la mia richiesta ma vedo che hai capito lo stesso cosa volessi dire, quindi complimenti. Come prevedibile si tratta di uno scenario abbastanza ampio... ma vorrei capire una cosa che al momento mi sfugge. Faccio un esempio (spero calzante). Supponiamo che io voglia creare un software da installare nel pc per ordinare delle pizze. Tralasciando l'utilità di un tale software, potrei scriverlo interamente in java (magari importando opportune librerie) e farlo interagire con un server che gestisce gli ordini. Tale programma, che sarebbe il mio client, avrebbe dunque java come "base" (passami il termine) ed in java andrei ad integrare le varie librerie da utilizzare. Se anzichè creare tale software, volessi creare un sito web che sfrutti lo stesso server, quale sarebbe la "base" del client e cosa invece sarebbe integrato sulla base? Spero di essere stato comprensibile
  • Re: Consigli per approcciarsi alla programmazione web

    Stai derragliando

    Hai iniziato a parlare di applicazioi Web, ora sei passato ad applicazioni desktop.

    I concetti coinvolti SONO SEMPRE GLI STESSI:

    - il client e' il browser? JS+HTML+CSS+...
    - il tuo client e' un'applicazione desktop? Uno qualunque dei linguaggi previsti per le applicazioni desktop

    - il server e' un'applicazione desktop, quindi QUALUNQUE linguaggio previsto per le applicazioni desktop

    Continui ad avere un client ed un server: le soluzioni implementative sono SEMPRE LE STESSE

    Stai ancora pensando al sito web alla vecchia maniera: tutto un polpettone incomprensibile e inmantenibile.

    Anche se sta' tutto sul server, perche' da qualche parte le cose devono pur stare, la tua applicazione web e' a tutti gli effetti un'APPLICAZIONE A SE STANTE, che GIRA LATO CLIENT, cioe' DENTRO il browser.

    Il browser scarica quello che gli serve dal SERVER, ma poi gira TUTTO IN LOCALE (nel browser).

    Consida le due cose TOTALMENTE SEPARATE, tenute insieme SOLO DA Apache/IIS/qualunque tool usato per realizzare siti Web.

    Questi marchingegni (Apache Web Server, Microsoft Internet Information Server) NON SONO IL SITO WEB, SONO L'infrastruttura che CONTIENE IL SITO WEB.

    Se vuoi: sono il parcheggio, NON LA TUA SPECIFICA AUTOMOBILE parcheggiata.
  • Re: Consigli per approcciarsi alla programmazione web

    Guarda in realtà quello dell'applicazione desktop era solo un esempio per cercare di creare un parallelismo con il corrispettivo web e rendere il mio esempio più chiaro, ma a quanto pare ho ottenuto l'effetto opposto. Comunque mi è abbastanza chiaro, grazie dei consigli
Devi accedere o registrarti per scrivere nel forum
4 risposte