PDA

View Full Version : Creazione sito e linguaggi?


xmetal
17-05-2013, 16:23
Avrei bisogni di chiarimenti riguardo a un progetto che stiamo preparando io e altri miei amici...abbiamo intenzione di creare un sito tipo deviantart, imageshack, tinypic, photobucket....solo che mi sono fatto una domanda riguardo ai vari linguaggi: per crearlo basta sapere html e css o bisogna per forza sapere anche il PHP??
In questo momento mi so orientare molto bene verso i linguaggi di markup css e html e sto approfondendo con html5 e css3 quindi vorrei sapere se mi conviene studiarmi anche il PHP e a cosa serve essenzialmente?
Sono graditi opinioni e suggerimenti per la creazione del sito ;)
Grazie in anticipo!

Mettiu_
17-05-2013, 17:11
PHP è un linguaggio di scripting lato server che serve, in pochissime parole, a generare contenuti dinamici ovvero pagine il cui contenuto dipende dall'input dell'utente o da altro... Se le tue pagine sono immutabili ovvero vengono scritte una volta per tutte e non cambiano in base all'interazione con gli utenti, puoi fare a meno di PHP o altri linguaggi lato server. Altrimenti, se vuoi fornire un sito con servizi più sofisticati, ti serve PHP. Dipende da cosa vuoi fare di preciso... Ovviamente se vuoi che uno abbia la possibilità di loggarsi e uploadare una foto è evidente che ti serve una logica lato server. Magari dicci che funzioni vuoi realizzare...

xmetal
17-05-2013, 18:19
PHP è un linguaggio di scripting lato server che serve, in pochissime parole, a generare contenuti dinamici ovvero pagine il cui contenuto dipende dall'input dell'utente o da altro... Se le tue pagine sono immutabili ovvero vengono scritte una volta per tutte e non cambiano in base all'interazione con gli utenti, puoi fare a meno di PHP o altri linguaggi lato server. Altrimenti, se vuoi fornire un sito con servizi più sofisticati, ti serve PHP. Dipende da cosa vuoi fare di preciso... Ovviamente se vuoi che uno abbia la possibilità di loggarsi e uploadare una foto è evidente che ti serve una logica lato server. Magari dicci che funzioni vuoi realizzare...
Grazie mille per la risposta, comunque il mio obiettivo è questo: creare un sito dove le persone possano pubblicare le loro foto, loggarsi, votare le altre foto e commentarle...punto a un risultato simile a deviantart ma ovviamente personalizzato a modo mio. Come procedo?

GByTe87
17-05-2013, 18:49
Vi servono:
HTML, CSS, JavaScript
Un grafico
PHP, Python o simili per la parte frontend
Capacità per mettere sotto un backend capace di reggere il tutto. (Java? C++? Scala? E lo storage, MySQL, PostgreSQL, Cassandra o che altro?)

C'è di che divertirsi, sicuramente :asd:

xmetal
18-05-2013, 13:08
Vi servono:
HTML, CSS, JavaScript
Un grafico
PHP, Python o simili per la parte frontend
Capacità per mettere sotto un backend capace di reggere il tutto. (Java? C++? Scala? E lo storage, MySQL, PostgreSQL, Cassandra o che altro?)

C'è di che divertirsi, sicuramente :asd:
Allora: io so bene html, css e nella parte grafica ho vari amici abbastanza bravi...il javascript e il python a cosa mi servono?? Per quanto riguarda il PHP comincerò a studiarmelo perchè penso sia fondamentale anche se non ho ancora capito fino in fondo a cosa serve...
Comunque il python penso proprio che si possa fare a meno di usarlo...

OoZic
18-05-2013, 13:28
Vi servono:
HTML, CSS, JavaScript
Un grafico
PHP, Python o simili per la parte frontend
Capacità per mettere sotto un backend capace di reggere il tutto. (Java? C++? Scala? E lo storage, MySQL, PostgreSQL, Cassandra o che altro?)

C'è di che divertirsi, sicuramente :asd:

noto molta confusione in questo post.

mysql/postgresql/cassandra più che storage sono dbms.
in questo caso lo storage sono le immagini nude e crude sul server.

"backend capace di reggere il tutto" non significa molto, nel senso che quel che chiede l'utente sono funzioni semplici, per "reggerle" non è questione di backend ma di hosting: risorse hardware come spazio e cpu oltre alla banda necessaria.

php/python non li associerei direttamente la frontend essendo linguaggi lato server.

tornando alla richiesta iniziale, dalle poche informazioni che ci hai dato ti posso dire che ti serve:
- html + css + js per tutta la parte frontend. dato che si tratta di una sorta di web app ti consiglierei di orientarti su un framework tipo twitter bootstrap o zurb foundation per evitare di re-inventarti la ruota e utilizzare già una struttura ben sviluppata e adatta anche ai dispositivi mobile. insieme ad html5boilerplate.
- server side potresti usare php che è probabilmente il più semplice da imparare e altrettanto diffuso e supportato dagli hosting. ti serve per poter generare pagine in modo dinamico sostanzialmente. anche qui ti consiglierei di utilizzare dei framework per eviare di re-inventare la ruota, ad esempio cakephp o codeigniter son i primi che mi vengon in mente.
- ti serve imparare un minimo di linguaggio SQL e utilizzare un database *sql (mysql ad esempio) che trovi sempre facilmente sugli hosting tradizionali e che ti serve per immagazzinare un minimo di informazioni quali login, commenti, post o quant'altro.
- spazio web e banda necessari a poter offrire il tuo servizio: devi farti dei calcoli facendo una media della dimensioni delle immaginic he permetterai di caricare per il numero di utenti che pensi possa utilizzare questo servizio e poi compri un hosting adeguato alle esigenze oppure se il progetto è qualcosa di grande (ma non credo viste le premesse) una vps.

credo sia tutto quel che ti serve per fare quello che vuoi fare nel modo più semplice possibile.

se vuoi poi sbizzarrirti ci sono altri mille modi di farlo, potresti imparare ad esempio nodejs (+express+mongodb) e sviluppare tutto in html+css+ javascript sia per il frontend che per la parte server-side.

clockover
18-05-2013, 13:37
Allora: io so bene html, css e nella parte grafica ho vari amici abbastanza bravi...il javascript e il python a cosa mi servono?? Per quanto riguarda il PHP comincerò a studiarmelo perchè penso sia fondamentale anche se non ho ancora capito fino in fondo a cosa serve...
Comunque il python penso proprio che si possa fare a meno di usarlo...

Scusami se la mia risposta può sembrare un po critica, ma come puoi conoscere bene html e css e non sapere quanto sia importante javascript e php (non menziono neanche python) ma soprattutto a non sapere "a cosa servono". A che punto sono di preciso le tue conoscenze?

GByTe87
18-05-2013, 13:37
Il javascript nel suo uso classico serve per rendere le pagine dinamiche... quasi obbligatorio per assicurare una certa interattività (basti pensare a quello che ti permette di fare jQuery).
Python l'ho messo insieme a PHP in quanto sta prendendo molto piede nello sviluppo web e potrebbe essere un'idea.

Ora, voglio essere schietto, non ti offendere; ma sei hai bisogno di chiedere determinate cose la strada da fare per poter tirare su un progetto del genere è mooooolto lunga.
Il mio consiglio è quello di cominciare a studiare le basi (es, riporto questo tutorial che secondo me è ben fatto: http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world) dello sviluppo orientato al web.

GByTe87
18-05-2013, 13:57
noto molta confusione in questo post.

mysql/postgresql/cassandra più che storage sono dbms.
in questo caso lo storage sono le immagini nude e crude sul server.

"backend capace di reggere il tutto" non significa molto, nel senso che quel che chiede l'utente sono funzioni semplici, per "reggerle" non è questione di backend ma di hosting: risorse hardware come spazio e cpu oltre alla banda necessaria.

Ha fatto l'esempio di DeviantArt. C'è molto di più che un semplice memorizzare qualche immagine su filesystem; come fai a gestire, banalmente, le relazioni tra gli utenti e i commenti ai post senza qualcosa di relazionale?
Idem, se inizi a fare elaborazioni un po' spinte (vorremo fare un resize di queste immagini?) devi avere un backend che possa reggerti il tutto.

php/python non li associerei direttamente la frontend essendo linguaggi lato server.

Io per front-end intendo tutta la parte impiegata per portare le informazioni dal backend all'utente. E si, i linguaggi server-side ci vanno eccome.

pabloski
18-05-2013, 14:09
Allora: io so bene html, css e nella parte grafica ho vari amici abbastanza bravi...il javascript e il python a cosa mi servono?? Per quanto riguarda il PHP comincerò a studiarmelo perchè penso sia fondamentale anche se non ho ancora capito fino in fondo a cosa serve...
Comunque il python penso proprio che si possa fare a meno di usarlo...

Allora, la questione è in effetti molto ingarbugliata e non per colpa tua ( sia chiaro).

Partendo dall'inizio si può dire che:

1. per creare le pagine web vere e proprie si usa un linguaggio a marcatori ( html/xhtml, i due hanno lievi differenze ma sono praticamente la stessa cosa )
2. tutte le pagine web sono in html, con l'aggiunta di css per la componente di presentazione ( cioè che colore dare al <td> tal dei tali, cosa mettere sotto gli elementi <a>, ecc... )
3. javascript è nato e si è sviluppato per permettere ai browser di animare un pochettino le pagine html ( perchè non è che puoi cambiare colore dinamicamente ad un elemento html, ad esempio )
4. esistono ulteriori estensioni implementate dai browser attuali ( tipo webrtc, webgl, ecc... )....tuttavia questi qui non è che ti interessano, a meno che tu non voglio creare un gioco 3d che gira nel browser!!

Quindi abbiamo solitamente accoppiati lato client ( cioè sul pc e nel browser dell'utente ) html+css+javascript.

Adesso si passa al lato server, cioè la roba che l'utente non vede ma avviene dietro le quinte. Lì è veramente questione di gusti, conoscenze e necessità individuali. Puoi benissimo usare un backend implementato in python, java, c#, al limite pure c++ o addirittura lo stesso javascript ( tramite node.js, che è una cosa abbastanza recente ) e ovviamente il diffusissimo php.

La questione da capire bene è che al browser dell'utente non verrà mai e poi mai inviato uno script php o python da far girare, bensì tali script gireranno sul server e produrranno come output in primo luogo pagine html, accoppiate eventualmente a css, javascript e quant'altro serve al client per fare il suo lavoro.

xmetal
18-05-2013, 15:43
Scusami se la mia risposta può sembrare un po critica, ma come puoi conoscere bene html e css e non sapere quanto sia importante javascript e php (non menziono neanche python) ma soprattutto a non sapere "a cosa servono". A che punto sono di preciso le tue conoscenze?
Mi sono appassionato da poco alla programmazione web e mi sono dato molto da fare...come prime cose ho studiato html e css e ti assicuro che non so quasi niente di javascript e php...non per forza se si conosce bene una cosa si conosce per forza anche l'altra.
Grazie a tutti gli altri per le risposte ;)

pabloski
18-05-2013, 16:26
Mi sono appassionato da poco alla programmazione web e mi sono dato molto da fare...come prime cose ho studiato html e css e ti assicuro che non so quasi niente di javascript e php...non per forza se si conosce bene una cosa si conosce per forza anche l'altra.
Grazie a tutti gli altri per le risposte ;)

Ottimo. A questo punto segui il mio consiglio e studia un pò di cose dal web, in modo da farti un'idea chiara di come funziona la baracca.

Ti assicuro che, per un newbie, non avere ben chiaro l'iter che segua una richiesta http dal pc al server e ritorno, può poi portare a non capire molte cose.

Dopo di che puoi studiarti a piacere java, php, python, tanto sono tutti supportatissimi lato server.

xmetal
18-05-2013, 16:38
Ottimo. A questo punto segui il mio consiglio e studia un pò di cose dal web, in modo da farti un'idea chiara di come funziona la baracca.

Ti assicuro che, per un newbie, non avere ben chiaro l'iter che segua una richiesta http dal pc al server e ritorno, può poi portare a non capire molte cose.

Dopo di che puoi studiarti a piacere java, php, python, tanto sono tutti supportatissimi lato server.
Ho visto che sul forum ci sono i tutorial di molti linguaggi...vorrei sapere se partendo da quelli potrei arrivare a delle buone conoscenze sul web e sulla programmazione?
Ogni volta che chiedo aiuto per un sito escono sempre cose nuove xD

clockover
18-05-2013, 16:42
Mi sono appassionato da poco alla programmazione web e mi sono dato molto da fare...come prime cose ho studiato html e css e ti assicuro che non so quasi niente di javascript e php...non per forza se si conosce bene una cosa si conosce per forza anche l'altra.
Grazie a tutti gli altri per le risposte ;)

Ma infatti non ho mai parlato di conoscenza. Io è da poco che sto studiando html5 e css e saprei fare ben poco sia in php che in javascript (se non cose basilari). Io mi riferivo semplicemente al fatto che tu hai detto "non so a cosa mi servono", e da uno che mi dice "so bene html e css" la cosa non regge. E non volevo fare assolutamente polemica, era solo per far capire a chi ha possibilitá di darti una mano di capire il tuo livello di preparazione di base.

xmetal
18-05-2013, 16:47
Ma infatti non ho mai parlato di conoscenza. Io è da poco che sto studiando html5 e css e saprei fare ben poco sia in php che in javascript (se non cose basilari). Io mi riferivo semplicemente al fatto che tu hai detto "non so a cosa mi servono", e da uno che mi dice "so bene html e css" la cosa non regge. E non volevo fare assolutamente polemica, era solo per far capire a chi ha possibilitá di darti una mano di capire il tuo livello di preparazione di base.
Ma figurati, quale polemica xD, anzi mi stai aiutando a capire che non ho capito niente hahaha, vorrà dire darò un'occhiata di nuovo a tutto :D
Grazie mille risolto :)

pabloski
18-05-2013, 17:16
Ho visto che sul forum ci sono i tutorial di molti linguaggi...vorrei sapere se partendo da quelli potrei arrivare a delle buone conoscenze sul web e sulla programmazione?
Ogni volta che chiedo aiuto per un sito escono sempre cose nuove xD

I linguaggi hanno purtroppo ben poco a che vedere coi meccanismi del web. L'importante è capire bene come funziona la baracca e poi si può studiare questo o quel linguaggio.

Io cominciai a capirci davvero quando comprai il libro "Internet" di Ed Krol ( l'editore era Jackson ). Grazie a quel libro capii i meccanismi alla base della rete.

Il punto è che senza studiarti la teoria, finirai col creare lo script pincopallino e poi dirai: "si ok, come lo installo? dove lo metto? come interagisce col resto del sistema?".

E questo è l'inizio sia chiaro. L'attuale apice è composto dalle tecnologie Restful e Soap.

Chiaramente non è che devi fare un corso di reti di calcolatori, però è importante capire bene cos'è un server, come funziona, cosa fa, com'è raggiungibile. Idem per i client. E alla fine quali protocolli vengono usati, quali informazioni veicola e che uso se ne fanno i programmi di tali informazioni.

xmetal
18-05-2013, 17:24
I linguaggi hanno purtroppo ben poco a che vedere coi meccanismi del web. L'importante è capire bene come funziona la baracca e poi si può studiare questo o quel linguaggio.

Io cominciai a capirci davvero quando comprai il libro "Internet" di Ed Krol ( l'editore era Jackson ). Grazie a quel libro capii i meccanismi alla base della rete.

Il punto è che senza studiarti la teoria, finirai col creare lo script pincopallino e poi dirai: "si ok, come lo installo? dove lo metto? come interagisce col resto del sistema?".

E questo è l'inizio sia chiaro. L'attuale apice è composto dalle tecnologie Restful e Soap.

Chiaramente non è che devi fare un corso di reti di calcolatori, però è importante capire bene cos'è un server, come funziona, cosa fa, com'è raggiungibile. Idem per i client. E alla fine quali protocolli vengono usati, quali informazioni veicola e che uso se ne fanno i programmi di tali informazioni.
Riusciresti a mandarmi per PM (Messaggio privato) una guida sulle basi da sapere sul web? Comunque grazie per le dritte :)

pabloski
18-05-2013, 17:39
Puoi partire da qui http://www.tcpipguide.com/free/index.htm

Maniac!
18-05-2013, 17:42
Puoi partire da qui http://www.tcpipguide.com/free/index.htm

Credo ne possa fare a meno :)

xmetal
18-05-2013, 18:02
Ci do un'occhiata ;)

pabloski
18-05-2013, 18:52
Credo ne possa fare a meno :)

Dipende da quello che sa. Ovviamente non sto dicendo di impelagarsi nei dettagli del ftp o dell'arp. Però capire come funziona il dns è una cosa utilissima, idem comprendere chi è http, cosa fa e come lo fa.

Non immagini quanta gente ho incontrato in passato all'università, che si bloccava nella realizzazione di progetti basati, ad esempio, su REST e solo perchè non sapeva che quando scrivi http://www.google.it in realtà viene inviato ai server di google questo malloppo


GET https://www.google.it/ HTTP/1.1
accept-charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
accept-encoding: gzip,deflate,sdch
accept-language: it-IT,it;q=0.8,en-US;q=0.6,en;q=0.4
user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.63 Safari/537.31
accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

cdimauro
18-05-2013, 20:48
Ha fatto l'esempio di DeviantArt. C'è molto di più che un semplice memorizzare qualche immagine su filesystem; come fai a gestire, banalmente, le relazioni tra gli utenti e i commenti ai post senza qualcosa di relazionale?
Idem, se inizi a fare elaborazioni un po' spinte (vorremo fare un resize di queste immagini?) devi avere un backend che possa reggerti il tutto.

Io per front-end intendo tutta la parte impiegata per portare le informazioni dal backend all'utente. E si, i linguaggi server-side ci vanno eccome.
Potrebbe anche usare Google App Engine (https://developers.google.com/appengine/docs/python/overview), che ha già tutto incluso (http-server e vari moduli/pacchetti già pronti per gestire sia il backend che il frontend; integra già Django, e NDB per lo storage), è gratuito, e c'è un SDK che ti emula perfettamente l'ambiente di produzione, e che puoi usare per aggiornare facilmente il codice del server.

clockover
18-05-2013, 21:28
Puoi partire da qui http://www.tcpipguide.com/free/index.htm

Credo anche io se ne possa fare a meno... poi più in la magari una visione più ampia della rete non può fare che bene.
Ora comunque è meglio darci dentro con il livello applicativo e non pensare ad altro...
Penso comunque che la strada suggerita da cdimauro non sia malvagia, anzi ti permette di studiare un ottimo linguaggio (python) che può tornare utile anche per scopi futuri.