|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Jul 2003
Città: Alessandria
Messaggi: 10167
|
[Python] Sviluppo web e framework
Sarei interessato a studiare un po' di python nell'ambito web ( conosco già un po' di python ) e mi stavo chiedendo come iniziare.
Ho sentito che ci sono parecchi framework, forse il più famoso è Django. Tuttavia non avendo esperienza in merito, vorrei un'opinione da chi se ne intende. Ho trovato in giro parecchie persone che dicono che se non si conosce PHP e si vuole iniziare a fare un po' di programmazione web, meglio lasciarlo perdere perchè ora come ora ci sono linguaggi molto più coerenti e ordinati per lo sviluppo web. Che mi dite?
__________________
Dell XPS 13 (9350) :: i5-2500K - HD6870 - AsRock Z68 Pro3 - Corsair Vengeance 8GB (4x2) DDR3 :: Samsung Galaxy S4 GT-i9505
|
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Aug 2003
Città: Barletta (BA)
Messaggi: 939
|
Python è forse il migliore linguaggio di scripting, con una collezione di librerie (anche a fini web) che non ha niente da invidiare a php
Django è il più famoso ma è un "all inclusive", io preferisco soluzioni minimali come Flask
__________________
In a world without fences, who needs Gates? Power by: Fedora 8 - Mac OS X 10.4.11 Ultima modifica di nico159 : 21-04-2013 alle 20:43. |
![]() |
![]() |
![]() |
#3 |
Member
Iscritto dal: Jul 2005
Città: Potenza
Messaggi: 126
|
Probabilmente Django per iniziare non è il massimo, semplicemente perché ha troppa roba, anche se in effetti è molto completo.
Se devi realizzare applicazioni non troppo complesse o vuoi iniziare a fare delle prove, meglio un framework tipo Flask o CherryPy. A questi puoi associare un template engine tipo Wheezy.template o Tenjin.
__________________
Un'interfaccia per domarli, un package per trovarli tutti, un riferimento per ghermirli e nel framework incatenarli." Il Signore degli Oggetti ![]() |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Mar 2007
Città: Milano Beach
Messaggi: 1696
|
Confermo; Django è sicuramente il più famoso, ma ce ne sono davvero un'infinità.
Io ho avuto modo di giocare con Bottle (poco) e Flask (parecchio, ultimamente), e pur essendo una capra ignorante in quanto a sviluppo web son riuscito a tirarci fuori cose carine. ![]() Per Flask, prova a dare un occhio a questa serie di articoli.
__________________
~ Cthulhu: MacBookPro 13.3" ~ Azathoth: D510MO Ultima modifica di GByTe87 : 21-04-2013 alle 20:58. |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Jul 2003
Città: Alessandria
Messaggi: 10167
|
Grazie a tutti.
Avevo sentito anche di Flask ( e recentemente letto di Bottle ). In realtà mi ero documentato solo su Django perchè ho sentito che viene moltissimo utilizzato. Effettivamente, per ciò che intendo fare ( giocarci essenzialmente ), non ho bisogno di framework imponenti e completissimi. Non mi è molto chiaro il concetto di web template engine di cui avete parlato: mi sono rapidamente documentato per vedere di cosa si tratta ed se ho ben capito stiamo parlando di frameworks per la costruzione della struttura delle pagine web. Ok ma... Allora a cosa servono Flask, Bottle e Django ( che se non erro quest'ultimo assolve anche alla funzione di web template engine )? Non mi basterebbe python puro per sbrogliare la parte computazionale e usare, ad esempio, Jinja per "disporre" i risultati sulla pagina? Oppure Flask ecc... lavorano come web engines per assolvere alla funzione di CGI?
__________________
Dell XPS 13 (9350) :: i5-2500K - HD6870 - AsRock Z68 Pro3 - Corsair Vengeance 8GB (4x2) DDR3 :: Samsung Galaxy S4 GT-i9505
|
![]() |
![]() |
![]() |
#6 | |
Member
Iscritto dal: Jul 2005
Città: Potenza
Messaggi: 126
|
Quote:
Il tutto è realizzabile anche senza framework, ma è più complesso e artigianale (il solito concetto di reinventare la ruota). Django & c. ti consentono di avere un supporto facilitato per funzionalità quali: routing, autenticazione e autorizzazione, internazionalizzazione, etc.. Django comprende anche "mini-framework" (passami l'espressione) per template engine e orm, mentre gli altri sono più light. A volte è conveniente realizzarsi un proprio framework per questioni di leggerezza e specificità. In alcuni ambiti aziendali, alla lunga si creano dei framework, per così dire "proprietari", spesso basati su framework blasonati, di cui vengono utilizzate solo le funzionalità "core".
__________________
Un'interfaccia per domarli, un package per trovarli tutti, un riferimento per ghermirli e nel framework incatenarli." Il Signore degli Oggetti ![]() |
|
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Apr 2010
Città: Leuven
Messaggi: 667
|
Se e' solo per imparare io ti consiglio di provare web.py.
E' semplicissimo ma completo (anche di template engine) e ti fa davvero capire come funziona un'applicazione web perche' il livello di astrazione e' minimo. Una volta che hai capito come funzionano le applicazioni web, passare ad un altro framework o linguaggio e' facilissimo.
__________________
L'elettronica digitale non esiste, è solo elettrotecnica con interruttori piccoli! ![]() |
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Concordo. Uso web.py perché è abbastanza semplice, ma ha tutto ciò che può servire per lo sviluppo web. In realtà di tirare fuori pagine web non mi è mai interessato (ho realizzato back-end, quindi espongo delle API che fanno uso del protocollo HTTP per essere invocate), per cui non ho mai provato il template engine.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Mar 2007
Città: Milano Beach
Messaggi: 1696
|
Gli sviluppi su web.py verranno portati avanti? Perchè vedo che il repo è abbastanza fermo (web.py era un progetto di Aaron Swartz)
__________________
~ Cthulhu: MacBookPro 13.3" ~ Azathoth: D510MO |
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
L'ultima modifica è di 2 mesi fa, quindi dovrebbe essere ancora attivo come progetto. E non potrebbe essere altrimenti, perché è abbastanza gettonato.
![]()
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
![]() |
![]() |
![]() |
#11 | ||
Senior Member
Iscritto dal: Jul 2003
Città: Alessandria
Messaggi: 10167
|
Quote:
Quote:
![]() Io pensavo che linguaggi come PHP ( il più famoso in questo ambito ) fossero semplicemente per il calcolo computazionale e la generazione dinamica di contenuti ![]()
__________________
Dell XPS 13 (9350) :: i5-2500K - HD6870 - AsRock Z68 Pro3 - Corsair Vengeance 8GB (4x2) DDR3 :: Samsung Galaxy S4 GT-i9505
|
||
![]() |
![]() |
![]() |
#12 | ||
Senior Member
Iscritto dal: Mar 2007
Città: Milano Beach
Messaggi: 1696
|
Quote:
Quote:
![]() Routing -> URL Routing; quindi il collegamento url -> oggetto python
__________________
~ Cthulhu: MacBookPro 13.3" ~ Azathoth: D510MO |
||
![]() |
![]() |
![]() |
#13 | |
Senior Member
Iscritto dal: Jul 2003
Città: Alessandria
Messaggi: 10167
|
Quote:
![]()
__________________
Dell XPS 13 (9350) :: i5-2500K - HD6870 - AsRock Z68 Pro3 - Corsair Vengeance 8GB (4x2) DDR3 :: Samsung Galaxy S4 GT-i9505
|
|
![]() |
![]() |
![]() |
#14 | |
Senior Member
Iscritto dal: Apr 2010
Città: Leuven
Messaggi: 667
|
Quote:
Qualcuno si sta gia' adoperando per fare il porting su python 3, credo che non ci vorra' molto per avere web.py aggiornato per il "nuovo" python. Il bello di questo framework e' che e' veramente semplice, io stesso sono riuscito a fare cose egregie senza sapere praticamente nulla di sviluppo web prima di usarlo. Gli aggiornamenti non sono molto frequenti anche perche' e' praticamente bug free... E' cosi' piccolo che anche smazzarsi il codice sorgente da soli e' davvero lavoro di un giorno, quindi anche se qualcosa torna poco e' abbastanza facile scovare l'eventuale errore. Forse l'unica cosa che davvero gli manca e' un ORM ma ho visto che non e' difficile integrarlo con altre cose come sqlalchemy.
__________________
L'elettronica digitale non esiste, è solo elettrotecnica con interruttori piccoli! ![]() |
|
![]() |
![]() |
![]() |
#15 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Non ho mai usato ORM, perché in questi anni ho realizzato un mio "wrapper" di alto livello che mi consente di interfacciarmi a un engine SQL con un sufficiente livello di astrazione, e con sintassi simile.
Comunque web.py è in giro da un po' di anni, ed essendo piccolo è abbastanza rodato e testato, per cui si capisce anche da questo la poca attività sul repository. Non mi spiego, invece, come mai non sia ancora stato portato su Python3, visto che parliamo, appunto, di un progetto "minuscolo" (rispetto a giganti come Django), ma in ogni caso molto usato (per cui l'interesse a vederlo girare sulle ultime incarnazioni di Python c'è di sicuro).
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
![]() |
![]() |
![]() |
#16 |
Senior Member
Iscritto dal: Jul 2003
Città: Alessandria
Messaggi: 10167
|
ORM?
https://it.wikipedia.org/wiki/Object-relational_mapping Ammesso si tratti di questo, se ho capito bene è ciò che unisce la programmazione con i database relazionali ( data mining e creazione ). ![]()
__________________
Dell XPS 13 (9350) :: i5-2500K - HD6870 - AsRock Z68 Pro3 - Corsair Vengeance 8GB (4x2) DDR3 :: Samsung Galaxy S4 GT-i9505
|
![]() |
![]() |
![]() |
#17 | |
Senior Member
Iscritto dal: Mar 2007
Città: Milano Beach
Messaggi: 1696
|
Quote:
![]()
__________________
~ Cthulhu: MacBookPro 13.3" ~ Azathoth: D510MO |
|
![]() |
![]() |
![]() |
#18 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Preferisco questo:
Codice:
DB.Users += 'Saro', 'Falsaperla', 'Catania', 39 # INSERT DB.Users[City == 'Catania'] = Age == 40 # UPDATE DB.Users -= City == 'Catania # DELETE DB.Users[Name, Surname].Where[City == 'Catania'].OrderBy[Name, Surname][ : 10].List() # SELECT; prende i primi 10 valori, e restituisce una lista di tuple. DB.Cities[ID, Name, Surname].Dict() # SELECT, restituisce un dizionario con chiave = ID, e come valore la tupla che contiene la coppia nome e cognome. DB.UpdateCityZipCode(123, '95100') # Richiama la stored procedure UpdateCityZipCode DB.GetCitiesByZipCode('95100').List() # Richiama la stored procedure e restituisce il contenuto come lista di tuple.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
![]() |
![]() |
![]() |
#19 | |
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Quote:
![]() Adesso però facci vedere il sorgente ![]()
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
|
![]() |
![]() |
![]() |
#20 | |
Senior Member
Iscritto dal: Jul 2003
Città: Alessandria
Messaggi: 10167
|
Quote:
Cioè si può anche arrivare a gestire DB in SQL senza sapere minimamente una mazza di data mining e teoria dei db ![]()
__________________
Dell XPS 13 (9350) :: i5-2500K - HD6870 - AsRock Z68 Pro3 - Corsair Vengeance 8GB (4x2) DDR3 :: Samsung Galaxy S4 GT-i9505
|
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 08:26.