Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Polestar 3 Performance, test drive: comodità e potenza possono convivere
Polestar 3 Performance, test drive: comodità e potenza possono convivere
Abbiamo passato diversi giorni alla guida di Polestar 3, usata in tutti i contesti. Come auto di tutti i giorni è comodissima, ma se si libera tutta la potenza è stupefacente
Qualcomm Snapdragon X2 Elite: l'architettura del SoC per i notebook del 2026
Qualcomm Snapdragon X2 Elite: l'architettura del SoC per i notebook del 2026
In occasione del proprio Architecture Deep Dive 2025 Qualcomm ha mostrato in dettaglio l'architettura della propria prossima generazione di SoC destinati ai notebook Windows for ARM di prossima generazione. Snapdragon X2 Elite si candida, con sistemi in commercio nella prima metà del 2026, a portare nuove soluzioni nel mondo dei notebook sottili con grande autonomia
Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice
Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice
DJI Mini 5 Pro porta nella serie Mini il primo sensore CMOS da 1 pollice, unendo qualità d'immagine professionale alla portabilità estrema tipica di tutti i prodotti della famiglia. È un drone C0, quindi in un peso estremamente contenuto e che non richiede patentino, propone un gimbal rotabile a 225 gradi, rilevamento ostacoli anche notturno e autonomia fino a 36 minuti. Caratteristiche che rendono il nuovo drone un riferimento per creator e appassionati
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 21-04-2013, 15:52   #1
kwb
Senior Member
 
L'Avatar di kwb
 
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
kwb è offline   Rispondi citando il messaggio o parte di esso
Old 21-04-2013, 19:44   #2
nico159
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 21:43.
nico159 è offline   Rispondi citando il messaggio o parte di esso
Old 21-04-2013, 21:24   #3
pequeno
Member
 
L'Avatar di pequeno
 
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
pequeno è offline   Rispondi citando il messaggio o parte di esso
Old 21-04-2013, 21:55   #4
GByTe87
Senior Member
 
L'Avatar di GByTe87
 
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 21:58.
GByTe87 è offline   Rispondi citando il messaggio o parte di esso
Old 21-04-2013, 23:59   #5
kwb
Senior Member
 
L'Avatar di kwb
 
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
kwb è offline   Rispondi citando il messaggio o parte di esso
Old 22-04-2013, 21:24   #6
pequeno
Member
 
L'Avatar di pequeno
 
Iscritto dal: Jul 2005
Città: Potenza
Messaggi: 126
Quote:
Originariamente inviato da kwb Guarda i messaggi
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?
Per risponderti in maniera semplice, i vari Django, Flask, etc. sono dei framework MVC che ti danno la possibilità di avere una netta distinzione tra vista, modello e controllo, di una tipica applicazione web 3-tier.
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
pequeno è offline   Rispondi citando il messaggio o parte di esso
Old 22-04-2013, 22:52   #7
ingframin
Senior Member
 
L'Avatar di ingframin
 
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!
ingframin è offline   Rispondi citando il messaggio o parte di esso
Old 23-04-2013, 09:00   #8
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
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
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 23-04-2013, 09:10   #9
GByTe87
Senior Member
 
L'Avatar di GByTe87
 
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
GByTe87 è offline   Rispondi citando il messaggio o parte di esso
Old 23-04-2013, 10:29   #10
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
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
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 23-04-2013, 10:47   #11
kwb
Senior Member
 
L'Avatar di kwb
 
Iscritto dal: Jul 2003
Città: Alessandria
Messaggi: 10167
Quote:
Originariamente inviato da pequeno Guarda i messaggi
Per risponderti in maniera semplice, i vari Django, Flask, etc. sono dei framework MVC che ti danno la possibilità di avere una netta distinzione tra vista, modello e controllo, di una tipica applicazione web 3-tier.
Quindi se anche Flask è un MVC allora funge anche da web template engine?
Quote:
Originariamente inviato da pequeno Guarda i messaggi
Django & c. ti consentono di avere un supporto facilitato per funzionalità quali: routing, autenticazione e autorizzazione, internazionalizzazione, etc..
Routing? Ma non sono cose che vengono sbrogliate direttamente dai vari livelli del modello Internet ( livello rete??? )?

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
kwb è offline   Rispondi citando il messaggio o parte di esso
Old 23-04-2013, 10:57   #12
GByTe87
Senior Member
 
L'Avatar di GByTe87
 
Iscritto dal: Mar 2007
Città: Milano Beach
Messaggi: 1696
Quote:
Originariamente inviato da kwb Guarda i messaggi
Quindi se anche Flask è un MVC allora funge anche da web template engine?
Flask usa Jinja2 come template engine.

Quote:
Originariamente inviato da kwb Guarda i messaggi
Routing? Ma non sono cose che vengono sbrogliate direttamente dai vari livelli del modello Internet ( livello rete??? )?

Routing -> URL Routing; quindi il collegamento url -> oggetto python
__________________
~ Cthulhu: MacBookPro 13.3" ~ Azathoth: D510MO
GByTe87 è offline   Rispondi citando il messaggio o parte di esso
Old 23-04-2013, 11:32   #13
kwb
Senior Member
 
L'Avatar di kwb
 
Iscritto dal: Jul 2003
Città: Alessandria
Messaggi: 10167
Quote:
Originariamente inviato da GByTe87 Guarda i messaggi

Routing -> URL Routing; quindi il collegamento url -> oggetto python
Ahhhhh
__________________
Dell XPS 13 (9350) :: i5-2500K - HD6870 - AsRock Z68 Pro3 - Corsair Vengeance 8GB (4x2) DDR3 :: Samsung Galaxy S4 GT-i9505
kwb è offline   Rispondi citando il messaggio o parte di esso
Old 23-04-2013, 22:57   #14
ingframin
Senior Member
 
L'Avatar di ingframin
 
Iscritto dal: Apr 2010
Città: Leuven
Messaggi: 667
Quote:
Originariamente inviato da cdimauro Guarda i messaggi
L'ultima modifica è di 2 mesi fa, quindi dovrebbe essere ancora attivo come progetto. E non potrebbe essere altrimenti, perché è abbastanza gettonato.
Aggiungo che la mailing list e' parecchio attiva.
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!
ingframin è offline   Rispondi citando il messaggio o parte di esso
Old 24-04-2013, 08:07   #15
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
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
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 24-04-2013, 09:31   #16
kwb
Senior Member
 
L'Avatar di kwb
 
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
kwb è offline   Rispondi citando il messaggio o parte di esso
Old 24-04-2013, 09:35   #17
GByTe87
Senior Member
 
L'Avatar di GByTe87
 
Iscritto dal: Mar 2007
Città: Milano Beach
Messaggi: 1696
Quote:
Originariamente inviato da kwb Guarda i messaggi
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 ).
Si, quello. Banalmente mappi le entità di un database in classi nel tuo sorgente. Idealmente ti permette di interagire con database senza scrivere neanche una riga di sql.
__________________
~ Cthulhu: MacBookPro 13.3" ~ Azathoth: D510MO
GByTe87 è offline   Rispondi citando il messaggio o parte di esso
Old 24-04-2013, 11:29   #18
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
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.
Senza usare ORM, classi, et similia...
__________________
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
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 24-04-2013, 15:29   #19
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da cdimauro Guarda i messaggi
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.
Senza usare ORM, classi, et similia...
Molto bello Cesare!
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)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 24-04-2013, 21:50   #20
kwb
Senior Member
 
L'Avatar di kwb
 
Iscritto dal: Jul 2003
Città: Alessandria
Messaggi: 10167
Quote:
Originariamente inviato da GByTe87 Guarda i messaggi
Si, quello. Banalmente mappi le entità di un database in classi nel tuo sorgente. Idealmente ti permette di interagire con database senza scrivere neanche una riga di sql.
Ah ora capisco la parte interessante..
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
kwb è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Polestar 3 Performance, test drive: comodità e potenza possono convivere Polestar 3 Performance, test drive: comodit&agra...
Qualcomm Snapdragon X2 Elite: l'architettura del SoC per i notebook del 2026 Qualcomm Snapdragon X2 Elite: l'architettura del...
Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice Recensione DJI Mini 5 Pro: il drone C0 ultra-leg...
ASUS Expertbook PM3: il notebook robusto per le aziende ASUS Expertbook PM3: il notebook robusto per le ...
Test ride con Gowow Ori: elettrico e off-road vanno incredibilmente d'accordo Test ride con Gowow Ori: elettrico e off-road va...
Redal Alert 2: Command & Conquer si ...
Kingston Technology: memorie e storage c...
Narwal Freo Z10 Ultra: il robot con moci...
In 3 minuti le vedete tutte: sono le mig...
Black Friday da record per Tineco: le sc...
La nuova PS5 con Fortnite manda in tilt ...
Amazon, i tagli hanno colpito soprattutt...
Pazzesco: Panasonic Lumix DC-GH5M2E a 79...
Ecco tutte le offerte Black Friday pi&ug...
DJI Neo a 169€, Flip Combo a 309€ e molt...
Quattro persone arrestate negli USA per ...
Kindle Paperwhite Signature Edition, Col...
Boom di vendite per Kindle e Fire TV Sti...
iPhone 17 Pro, il più desiderato,...
Nuovo record, 849€ per i MacBook Air con...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 13:15.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v