Ruby on Rails, Django, Symphony,Zend: perchè dovrei fare uso dei framework?

In ambito informatico per framework intendiamo un’insieme di classi e funzioni organizzate in maniera tale da ridurre la scrittura del codice (cercando quindi di riutilizzare il più possibile il codice) sulle quali poter basare il nostro software. La loro funzione è quindi quella di velocizzare lo sviluppo ma anche renderlo meno complesso.

Questo è ciò che in maniera teorica rappresenta un framework, come sempre bisogna valutare i pro e i contro di ogni cosa, io in questo momento ho solo alcune riflessioni da sviluppatore che non ha ancora fatto uso di questi framework e sta valutando se e quale provare; troverete quindi diversi dubbi, domande e quant’altro mi viene in mente.

La prima considerazione che faccio è sui tempi di apprendimento, se uno sviluppatore è abituato a sviluppare con un linguaggio il tempo necessario per l’apprendimento sarà si dipendente dallo sviluppatore ma anche dalla bontà del framework. La cosa più logica da pensare dovrebbe essere quella di utilizzare un framawork basato sul linguaggio che si è soliti usare, così chi conosce il php potrebbe usare Zend o Symphony che sono basati su PHP5 oppure Django basato su Python e tanti altri. In questo modo i tempi di apprendimento dovrebbero ridursi, resta da valutare se il framework mette a disposizione ciò che cerchiamo, altrimenti le strade da intraprendere sarebbero due, arricchire il framework con le proprie librerie (a quel punto non so quanto sia utile utilizzarlo) oppure cambiare linguaggio (quì il tempo di apprendimento potrebbe aumentare parecchio quindi difficilmente lo si fa).

La seconda considerazione riguarda la qualità del prodotto, se progetto e realizzo un sistema da zero ho il controllo su tutto proprio perchè l’ho realizzato io, secondo una mia logica (giusta o sbagliata che sia) seconod il mio modo di sviluppare. A molti sarà capitato nell’utilizzare anche solo una funzione realizzata da terzi di non essere convinti fino in fondo, cè sempre quel filo di diffidenza o magari anche presunzione che ci porta a pensare a quella parte del progeto come al punto debole dell’intero sistema, io personalmente se devo usare del codice non realizzato da me cerco il più possibile di capire le operazioni che fa (non scandalizzatevi e non date per scontato questa cosa se si utilizza il codice degli altri è per ridurre i tempi quindi può anche capitare di non badare tanto al contenuto) e chi è l’autore (la fiducia scaturita dal rapporto professionale ha per me un grosso valore).

L’altra riflessione è sulle prestazioni e la pulizia del sistema; abbiamo detto che i framework sono un insieme di librerie (classi, funzioni ecc) ed il loro utilizzo ci vincola ad installarle tutte sulla macchina che deve ospitare il sistema, questo può essere considerato poco pulito?O comunque coerente perchè se non si utilizza una libreria non la si carica in memoria (o almeno è ciò che ci auguriamo)?

L’ultima cosa che mi domando riguarda i servizi di hosting, se si deve realizzare un sistema raggiungibile in internet, generalmente si compra il servizio di hosting, da una ricerca poco approfondita non ho notato nel listino dei venditori più comuni la possibilità di aggiunta di framework.

Come sempre tempo permettendo proverò ad approfondire ogni riflessione, se ciò che si dice di buono sui framework risulterà vero o quantomeno utilizzabile per i miei scopi avrò in bel incremento della produttività personale.

Riporto di seguito il nome dei framework attualmente più utilizzati per la realizzazione di applicazioni web based:

Questo framework è basato sul linguaggio Ruby(Wikipedia link) modellato sull’architettura di sviluppo MVC

Framework basatosu PHP, recentemente Yahoo ha annunciato di averlo utilizzato per la realizzazione di Yahoo Bookmarks

Basato su PHP 5 è tra i framawork php più utilizzati in assoluto, di recente nell’ultima Zend Conference Google ha rilasciato un nuovo set di API per l’integrazione con i servizi Google Base, Calendar, Blogger e CodeSearch.

Basato su PHP è modellato sull’architettura di sviluppo MVC.

Questo framework è basato su Python ed è modellato sull’architettura di sviluppo MVC.

Annunci

8 thoughts on “Ruby on Rails, Django, Symphony,Zend: perchè dovrei fare uso dei framework?

  1. Bulimia ha detto:

    Tremendo. Una serie di affermazioni da neofita. Ti sei perso l’occasione di stare zitto.

  2. xlinux ha detto:

    trascuri due particolari il primo è la libertà di espressione, così come tu hai avuto la possibilità di esprimere il tuo pensiero su questo post io posso esprimere il mio decidendo a quale target destinare il post stesso. Il secondo è che sul mio blog ci scrivo ciò che voglio, come voglio e quando lo voglio, nessuno ti obbliga a leggerlo, nessuno ha mai detto che ciò che è scritto in questo blog rappresenta la verità assoluta. Detto questo ti ringrazio comunque per aver espresso il tuo parere ti consiglio di fare critica costruttiva in futuro visto che il tuo commento di costruttivo ha ben poco.

  3. Namaless ha detto:

    Devo dire che la riflessione è giusta e anche valida.
    L’uso di un framework è destinato ai lavori in team, dove mantenere una linea guida durante lo sviluppo è importante.

    Personalmente ritengo che se uno sviluppatore è abituato a fare tutto da solo (come me ad’esempio) sarà necessario (prima o dopo che sia) crearsi un proprio framework sull’astrazione di come vorrebbe lavorare si crea il proprio framework.

    Ad’esempio io per lavorare in team utilizzo CakePHP (qui la Comunità Italiana) mentre per i miei progetti mi stò scrivendo un semplice framework. Mi sono scritto le classi seguendo la mia logica di sviluppo, come dici tu giusta o sbagliata che sia 🙂

    Devo dire che mi ritengo soddisfatto anche se ho abusato un pò di codice dai vari frameworks come CakePHP e CodeIgniter (adoro CI ma purtroppo è poco automatizzato per i miei gusti 😦 ).

    Ad’ogni modo ritengo importante che i commenti rilasciati siano costruttivi. Bulimia hai perso l’occasione per stare zitto 🙂

    Saluti.

  4. xlinux ha detto:

    Ciao, ti ringrazio per aver commentato, scusami per averlo approvato in ritardo ma sfortunatamente per una serie di motivisto trascurando il blog.

    Condivido sia il tuo pensiero sull’utilità dell’uso dei framework in team, sia la questione che scriviamo così tanto codice da soli che alla fine abbiamo tutti il nostro personalissimo framework; probabilmente solo gli sviluppatori Java si salvano 😀

    Grazie ancora per il commento ed in bocca al lupo per il tuo blog, lo seguirò a risentirti 🙂

  5. Karim Gorjux ha detto:

    Mando a fare in culo bulimia senza mezzi termini.
    Grazie per il post, sto scegliendo i miei futuri sviluppi e mi è stato utile il tuo articolo.

    Ciao!

  6. Karim Gorjux ha detto:

    Ti consiglio un plugin per il tuo wordpress: subscribe to comments.

    Ti ho messo negli RSS.

    Ciao e Buon Anno

    • xlinux ha detto:

      Ciao ti ringrazio, anche io ti ho aggiunto negli RSS, per il plugin questo è un servizio di hosting wordpress gratuito, non so se ho la possibilità di aggiungere qualunque plugin, ad ogni modo adesso verifico grazie per la segnalazione.

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...