(+39) 0532 061039

Dove sei: Home > Blog > Django è noioso, e proprio per questo dovresti usarlo

Django è noioso, e proprio per questo dovresti usarlo

Cose da nerd | 23-03-2017

Nell'era delle web app le parole d'ordine sono portabilità, responsivness, sicurezza e scalabilità ed è proprio qui che django project, con tutta la sua noiosità, entra in gioco. Ma andiamo con ordine e cerchiamo di capire perché la sua “noiosità” è un modo per definire in realtà quella che è la sua versatilità e potenza in questo campo.

Hai avuto un'idea innovativa di un servizio che vorresti fornire via web? O magari vuoi sviluppare un'app per smartphone/tablet e hai bisogno di un'infrastruttura affidabile? O forse hai la necessità di crearti il tuo software personalizzato per la realizzazione di siti web perché non sei soddisfatto dalle soluzioni attualmente disponibili?
Potremmo continuare a fare esempi ma sia che tu debba realizzare un semplice sito web dinamico o un complesso CRM, django potrebbe essere il tuo alleato ideale.

Fino a diversi anni fa mettere in pratica un'idea come la tua poteva essere una sfida alquanto impegnativa che poteva impegnarti numerose risorse e richiedere parecchio tempo prima di essere disponibile. Questo perché era necessario tenere in considerazione tutti gli aspetti, dalla gestione degli utenti, alla sicurezza, ai form da visualizzare agli utenti, per finire poi con la gestione del database.

Negli ultimi anni per fortuna la situazione è cambiata radicalmente e non perché questi concetti non siano più validi ma bensì perché ora abbiamo strumenti che si fanno carico di molti di questi aspetti togliendo così la responsabilità allo sviluppatore. Questo ha due vantaggi immediati: minor tempo e risorse necessari per dare vita alla tua idea (ideale se stai pensando di aprire una start-up) e risultato finale comunque di qualità.

Django Project, cos'è?

In parole povere è un framework ovvero una raccolta già pronta di strumenti che ti permettono di sviluppare la tua app in maniera molto più rapida grazie al fatto che molte funzionalità sono già implementate e tu non dovrai fare altro che tu utilizzarle come meglio preferisci per raggiungere il tuo scopo.

Visitando il sito ufficiale del progetto sono immediatamente chiari i punti di forza di django:

  • È pensato per rendere incredibilmente agile lo sviluppo di applicazioni, dalle più semplici alle più complesse, grazie ai numerosi strumenti già integrati che ti tolgono il pensiero di doverle implementare da zero.
  • È progettato e realizzato con il concetto di sicurezza in mente. Senza che tu faccia nulla django ti garantisce protezione da attacchi come SQL-injection, cross site request forgery, cross-site scripting e clickjacking.
  • È altamente scalabile. L'uso di django è raccomandato sia per software di piccola entità che software che devono gestire centinaia di richieste al secondo. Giusto per fare un esempio alcuni dei siti più trafficati al mondo come Instagram e il Washington Post sono realizzati proprio con Django. Se ti interessa approfondire l'argomento esiste una community (Django Sites) dove vengono raccolti tutti i siti web che utilizzano Django come “motore”.

Sembra interessante più che noioso...

Dire che django è noioso è un modo per indicare quanto la sua semplicità e potenza semplifichi il lavoro, tanto da renderlo quasi “noioso” rispetto a al passato :)

Vediamo ora i punti principali per cui dovresti scegliere django per il tuo progetto, sia che si parli di una start-up o di una grande azienda con molte risorse a disposizione.

  1. Django viene fornito “chiavi in mano”
    Il vantaggio numero uno è che gli strumenti necessari a risolvere i problemi più comuni sono già integrati.
    Django si occupa out-of-the-box della gestione dei database (anche più di uno contemporaneamente e di diverso tipo), gestione credenziali utenti e gruppi, transazioni su database, migrazioni e molto molto altro.
    Le nuove versioni che escono nel corso del tempo vengono sviluppate tenendo sempre in considerazione la compatibilità all'indietro e questo è di fondamentale importanza perché ci permette di realizzare software e applicazioni che potranno continuare a funzionare ed essere aggiornate per molti anni. Questo è un aspetto molto importante perché in contesti aziendali non possiamo cambiare i software con la stessa frequenza con cui, ad esempio, cambiano le applicazioni che utilizziamo sugli smartphone ma allo stesso tempo abbiamo la necessità di tenerle aggiornate per risolvere bug e problemi di sicurezza.
  2. È supportato da una grandissima comunità di utenti
    La comunità di utilizzatori che gira intorno al progetto è enorme quindi in rete puoi trovare forum, blog, mailing list, canali IRC e numerosi post su stackoverflow che ti permettono di trovare rapidamente risposte a domande più o meno complesse e frequenti o chiedere aiuto ad altri utenti con più esperienza.
    Tutti gli utenti possono anche contribuire con nuovi plugin installabili facilmente (django integra anche tutti gli strumenti necessari per espanderlo). La più grande raccolta di plugin per django la puoi trovare su https://djangopackages.org/ dove ad oggi si contano 3399 plugin disponibili e questo numero è in continua crescita.
    Il vantaggio di avere già a disposizione un così grande numero di software è di vitale importanza per semplificare lo sviluppo e ci permette risolvere eventuali problemi in tempi molto rapidi.
  3. È scritto in python
    Django Project è sviluppato utilizzando python come linguaggio di programmazione che per la sua semplicità unità alla potenza e versatilità è diventato nel corso degli anni uno dei più popolari e utilizzati tra gli sviluppatori.
    Essendo uno dei linguaggi open source più popolari fa si che alle spalle abbia una comunità molto attiva che lavora per rilasciare sempre nuovi aggiornamenti, fornire supporto e allo stesso tempo se un giorno avrai bisogno di trovare uno sviluppatore python da inserire nel tuo progetto è molto probabile che tu riesca a trovarlo senza eccessivi sforzi.
  4. La documentazione ufficiale è molto curata
    Quando ci si trova a dover scegliere quale tecnologia utilizzare una delle cose che può fare la differenza nella scelta è la disponibilità di documentazione.
    Oltre alla possibilità di reperire informazioni in rete anche la documentazione deve essere all'altezza in modo da permetterci di lavorare nella maniera più snella possibile.
    Se la documentazione è scadente ci si ritroverà sicuramente a scontrarsi con errori apparentemente incomprensibili che bloccheranno lo sviluppo per diverso tempo. Questo purtroppo succede spesso quando la documentazione non è sufficientemente curata o addirittura non aggiornata e il funzionamento reale è diverso da quello descritto.
    In questo campo Django se la passa molto bene. La documentazione ufficiale sul sito del progetto è aggiornata e divisa per le varie versioni rilasciate.
  5. È altamente scalabile
    Lavorando sul web è un concetto di cui non dobbiamo mai dimenticarci.
    La scalabilità è la capacità del sistema di rispondere in maniera efficiente all'aumentare delle richieste.
    Django risponde rapidamente quando le richieste per secondo sono poche ma è perfettamente in grado di adattarsi nel caso le richieste aumentino a dismisura.
    Al suo interno sono già presenti tutti gli strumenti necessari a raggiungere questo livello di scalabilità, come ad esempio meccanismi di caching, e la sua modularità ci permette di adattarlo alle nostre esigenze.
  6. Portabile
    Una volta windows la faceva da padrone ovunque, ma oggi non è più così.
    L'utente finale potrebbe avere un computer con Windows, con MacOS o con Linux. In ogni caso Django funziona.
    Essendo scritto in python ed essendo questo portabile è possibile farlo girare su qualunque sistema in cui python è in grado di funzionare.
    Avendo anche al suo interno già diversi strumenti per la responsività non dovrai più preoccuparti non solo del sistema operativo dell'utente ma anche del dispositivo in sé. Sono già presenti al suo interno tutti gli strumenti per realizzare applicazioni che si adattano in automatico alle dimensioni dello schermo del dispositivo.
  7. Supporto da parte dei provider
    Essendo un progetto grande e molto diffuso sono molti i provider che fornisco un supporto out-of-the-box a django.
    Quando dovrai cercare un servizio di hosting adatto al tuo servizio sappi che sono molti quelli che ti possono semplificare la vita con strumenti già integrati che ti permettono di predisporre l'ambiente di lavoro con pochi click.

Da dove inizio?

Per iniziare a scrivere la tua prima app con Django ti consigliamo di seguire il tutorial che trovi sul sito ufficiale.
Buono sviluppo ;)

Django Project, il framework per sviluppatori che permette di realizzare software e applicazioni

Abbiamo conquistato la fiducia di realtà autorevoli ed affermate

Dicono di noi

  • Sergio Lucci analisi SEO consulente web marketing

    “Quando ho presentato il mio progetto, i ragazzi di PJ non hanno risparmiato dubbi e critiche. Quando sono tornato con delle alternative e abbiamo iniziato a realizzarlo, non hanno risparmiato impegno ed entusiasmo. Secondo me un partner tecnologico non deve essere un mero esecutore, ma deve scovare i punti deboli, proporre soluzioni, lavorare con impegno come se fosse il suo business. Tutte cose che PJ fa.”

    Sergio Lucci

  • Feltech soluzioni industria

    “Con Hydra di PJ dormiamo sonni tranquilli, i nostri dati sono al sicuro e sempre aggiornati!”

    Feltech, soluzioni per l'industria

  • Paolo Mazzini Geostrutture

    “PJ è il nostro migliore partner per le attività web della nostra azienda, è anche grazie a loro se oggi il nostro sito e i nostri portali sono fra i più visitati tra le aziende edili locali”

    Paolo Mazzini, Geostrutture

  • Marco Rasi commerciale marketing Best Sales Blogger Awards

    “Ho chiesto al team di PJ di creare un sito web basandosi solo su delle idee che avevo in mente da tempo. Il risultato è stato eccellente per organizzazione del lavoro, rapidità di esecuzione e qualità del risultato. Oltre a questo la soluzione di PJ si è dimostrata estremamente semplice da implementare e ricca di funzionalità applicative disponibili tutte in un unico ambiente operativo.”

    Marco Rasi, Best Sales Blogger Awards

  • Caleidos Group realizzazione siti internet

    “Siamo partner ormai da diverso tempo: i ragazzi di PJ si occupano di tutta la parte di programmazione dei nostri progetti web, offrendoci assistenza e consulenza, prima, durante e dopo la realizzazione di un progetto. Sempre disponibili e mai superficiali, lavorano con grande impegno ed entusiasmo e non si lasciano spaventare neanche dai progetti più impegnativi.”

    Lo staff di Caleidos Group srl