Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Hisense A85N: il ritorno all’OLED è convincente e alla portata di tutti
Hisense A85N: il ritorno all’OLED è convincente e alla portata di tutti
Dopo alcuni anni di assenza dai cataloghi dei suoi televisori, Hisense riporta sul mercato una proposta OLED che punta tutto sul rapporto qualità prezzo. Hisense 55A85N è un televisore completo e versatile che riesce a convincere anche senza raggiungere le vette di televisori di altra fascia (e altro prezzo)
Recensione Borderlands 4, tra divertimento e problemi tecnici
Recensione Borderlands 4, tra divertimento e problemi tecnici
Gearbox Software rilancia la saga con Borderlands 4, ora disponibile su PS5, Xbox Series X|S e PC. Tra le novità spiccano nuove abilità di movimento, un pianeta inedito da esplorare e una campagna che lascia al giocatore piena libertà di approccio
TCL NXTPAPER 60 Ultra: lo smartphone che trasforma la lettura da digitale a naturale
TCL NXTPAPER 60 Ultra: lo smartphone che trasforma la lettura da digitale a naturale
NXTPAPER 60 Ultra è il primo smartphone con tecnologia NXTPAPER 4.0 per il display, un ampio IPS da 7,2 pollici. Con finitura anti-riflesso, processore MediaTek Dimensity 7400, fotocamera periscopica e modalità Max Ink per il detox digitale, NXTPAPER 60 Ultra punta a essere il riferimento tra gli smartphone pensati per il benessere degli occhi.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 21-04-2013, 14: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, 18: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 20:43.
nico159 è offline   Rispondi citando il messaggio o parte di esso
Old 21-04-2013, 20: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, 20: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 20:58.
GByTe87 è offline   Rispondi citando il messaggio o parte di esso
Old 21-04-2013, 22: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, 20: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, 21: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, 08: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, 08: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, 09: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, 09: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, 09: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, 10: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, 21: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, 07: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, 08: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, 08: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, 10: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, 14: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, 20: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


Hisense A85N: il ritorno all’OLED è convincente e alla portata di tutti Hisense A85N: il ritorno all’OLED è convi...
Recensione Borderlands 4, tra divertimento e problemi tecnici Recensione Borderlands 4, tra divertimento e pro...
TCL NXTPAPER 60 Ultra: lo smartphone che trasforma la lettura da digitale a naturale TCL NXTPAPER 60 Ultra: lo smartphone che trasfor...
Un fulmine sulla scrivania, Corsair Sabre v2 Pro ridefinisce la velocità nel gaming Un fulmine sulla scrivania, Corsair Sabre v2 Pro...
Nokia Innovation Day 2025: l’Europa ha bisogno di campioni nelle telecomunicazioni Nokia Innovation Day 2025: l’Europa ha bisogno d...
Dreame L40 Ultra AE crolla di prezzo su ...
Russia, roadmap fino al 2037 per sistemi...
Ecovacs X9 PRO OMNI, da 1.199€ a 799€ og...
Helsing CA-1 Europa: il nuovo drone da c...
Windows 10 riceve l'ultimo aggiornamento...
Oggi sono questi i 3 migliori PC portati...
Amazon, Google e la sudditanza verso NVI...
AMD Instinct MI450X fa paura a NVIDIA? S...
DJI perde la causa negli Stati Uniti: co...
Leonidas abbatte 49 droni in un colpo so...
The Social Reckoning: il seguito di The ...
iPhone 16 si trova ora su Amazon a soli ...
Amazon fa a pezzi i prezzi dei monitor g...
Componenti hardware e periferiche PC a p...
Pianeta in crisi: 7 su 9 limiti vitali g...
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: 08:26.


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