Newsgroup: it.lavoro.informatica
Titolo: Usare un application framework per un progetto di un mese

Questa mattina mi ha telefonato un amico per chiedermi che application
framework MVC-friendly gli consigliavo su Java per un progetto di un
mese.
All'inizio (prima di sentire che il committente si aspettava la
consegna fra 1 mese) gli avevo subito risposto di provare a vedere se
Apache Struts o Spring Framework potevano fare al caso suo, poi,
considerato anche che lui ha molta più esperienza con PHP che con
Java, e che comunque pensava di poter finire il tutto in un paio di
settimane usando semplicemente le Java Servlet API, gli ho caldamente
sconsigliato di utilizzare un application framework.
Il ragionamento che gli ho fatto è che per imparare ad usare Struts o
peggio Spring, potrebbe benissimo finire a spendere molto più tempo
delle due settimane da lui previste. Gli ho però confessato che se
fossi io al suo posto, su .Net non ci avrei pensato 2 volte ad usare
Castle Project/Monorail, ma per uno che in primis andrà ad usare un
linguaggio ed un ambiente di programmazione diverso dall'usuale, penso
che il mio suggerimenti di evitare per un progetto così breve
l'utilizzo di un application framework non sia tanto sbagliato.
Commenti?
P.S.: una buona traduzione in italiano di "application framework" o
"MVC-friendly"? ;)
--
ale
http://ale.riolo.co.uk

 "MVC-friendly"? ;)
"application framework" e "MVC-friendly"... SENZA tradurre, per favore....

 "MVC-friendly"? ;)
questa mi pare piu' difficile (ma solo per la parte -friendly, altrimenti
si traduce come sopra. 
Ciao,
Marco.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 considerato anche che lui ha molta più esperienza con PHP che con
Mi sembra che i presupposti per la batosta ci siano tutti : progetto
piccolo, scadenza ravvicinata, completa mancanza di esperienza nella
tecnologia scelta.. si direi che ci siamo.
Ma l'idea del MVC è sua o del cliente ?

 "MVC-friendly"? ;)
framework MVC :)

 2.
per quale motivo? dalla tua risposta mi pare di capire che per progetti 
brevi è meglio non utilizzare jsf o struts, ma è meglio andare via lisci. 
per quale motivo in un progetto grande invece utilizzeresti struts?

 tecnologia scelta.. si direi che ci siamo.
Concordo.
Un progetto di 1 mese, 1-2 iterazioni Scrum.
Troppo poco per affrontarlo con una tecnologia che non conosce (java).
Meglio PHP
http://www.phpwact.org/php/mvc_frameworks
I piu' famosi sono Zend Framework, Cake, Symfony ma forse per questo 
progetto mordi e fuggi qualcosa di semplice e light tipo CodeIgniter o 
Limonade e' piu' indicato.
Se poi ha dubbi puo' chiedere qui 
http://www.fullo.net/blog
Francesco ci lavora tutti i giorni da anni ed è in gamba.
-- 
Sono troppo vecchio per queste stronzate.
(Danny Glover, in "Arma Letale")

 delle due settimane da lui previste.
sinceramente non condivido la logica di questo ragionamento. se non c'č 
tempo materiale per imparare un framework tantomeno c'č tempo per farne 
a meno. che in tempi stretti si possa guadagnare tempo rinunciando agli 
ausili di un framework č contro la logica a maggior ragione se la 
persona non č molto competente.

 con una tecnologia che non conosce (java). Meglio PHP
Io ti consiglierei Python + Django.
Conoscendo un po' di Python, in un paio di giorni ho scritto un 
programmino per la gestione di una specie di rubrica condivisa.
-- 
"Mai sottostimare la larghezza di banda di un camioncino che sfreccia a
razzo sull'autostrada" 
Andrew S. Tanenbaum
python -c "print 'bG9ybWF5bmFAZ21haWwuY29t'.decode('base64')"

 "MVC-friendly"? ;)
"framework per applicazioni" e "ispirato dal pattern MVC" (se è
davvero friendly, pure "basato sul pattern MVC") ? :)

rivedere/riscrivere parti del software.
Software development life cycle, questo sconosciuto...
-- 
Living in Barbaropoli
http://www.barbaropoli.com

 software e, in generale, del lavorare bene nell'IT.
A me sono più le volte che chiedono una scadenza difficile da rispettare
che quelle che mi lasciano il tempo che mi serve. Credo che in questo
campo sia un problema fisiologico con cui bisogna imparare a convivere.
-- 
MySQL and PHP are popular not because of their quality, but despite it.

design...
Sono sicuro che tu sei abituato a lavorare a cazzo di cane e a
modificare codice gia' testato e funzionante di nascosto e senza
avvertire nessuno, ma non ti preoccupare: e' appurato che l'ottanta
per cento dei progetti software e' destinato a fallire, quindi stai
solo facendo statistica.
Saluti.


 Non mi risulta che SDLC sia una metodologia di sviluppo. A te si?
non smettete, un bel caffè ed è meglio di "Yes Minister" :).

non smettete, un bel caffč ed č meglio di "Yes Minister" :).
Per me la discussione e' gia' finita, uno che ragiona in termini di:
Specifiche? Non servono.
Requisiti? Poi si vedra'.
Architettura? Strumenti? Boh.
Testing? No, poi tanto il codice lo cambio di nascosto.
Consegna? Scadenze? Eh, signora mia sapesse quanti probblemi...
e' alla frutta. Peccato che deve ancora iniziare a fare pranzo.
Gli auguro di trovare tutto il lavoro di questo mondo, basta che non
mi capiti per sbaglio in mezzo alle palle.


 ritardo nella consegna ed un procrastinare alla manutenzione
Ma, sai com'è, io considero il progetto a pacchetto non a tempo,
quindi se poi non ce la fai quello che ci rimette sono io...

 "application framework" e "MVC-friendly"... SENZA tradurre, per favore....
Eoni fa ho lavorato come traduttore/revisore dall'Inglese
all'Italiano, mi diedero un glossario a cui far riferimento per i
termini tecnici, la prossima volta che passo dalla Sicilia se lo
ritrovo ne pubblico qualche pezzo e ci divertiamo :)
--
ale
http://ale.riolo.co.uk

 persona non è molto competente.
Java Servlet è un signor application framework (all'epoca le prime
versioni se la giocavano con Microsof ASP ed ISAPI, anzi, per dirla
tutta, io mi trovato meglio con Java Servlet che con ISAPI, per non
parlare di Common Gateway Interface ;)), se devi fare cose semplici,
non è che gli ho consigliato di riscriversi un framework di sana
pianta!
Lui Java Servlet lo conosce già, ritiene che per il progetto in
questione ci spenderebbe 2 settimane di sviluppo, se il committente
vuole la consegna in un mese, ammetto che il mio commento sia
conservativo, ma tanto campato in aria non mi sembra :)
BTW, non ho scritto che non è competente, ma soltanto che nella vita
di tutti i giorni sviluppa in PHP, in passato ha sviluppato in Java,
ma non usando cose come Struts, Spring e compagnia.
--
ale
http://ale.riolo.co.uk

dove ti sboccano nell'ascensore...
Gia' finite le argomentazioni?
Con immutata disistima.


 Ma l'idea del MVC è sua o del cliente ?
Non so, credo sua, non ci trovo nulla di particolarmente strano, io
usavo MVC negli anni '90, anche con Visual Basic 5 o 6 se capitava,
(BTW una volta ho tenuto un ciclo di lezioni su come utilizzare MVC
con VB 6, era per dimostrare ai corsisti, che studiavano per imparare
Java, come in realtà quello che imparavano lo avrebbero poi potuto
applicare in altri ambienti di sviluppo).
--
ale
http://ale.riolo.co.uk

 l'incarico?
Presumo che sia una commessa chiavi in mano.
Con tutte le conseguenze del caso, compreso rimetterci tempo/soldi di 
tasca propria se il progetto non e' pronto alla scadenza.
Quindi e' di lunga preferibile una tecnologia conosciuta (in questo caso 
PHP) e si sconsigliano cose raffazzonate in fretta con spaghetti code.
Java puo' impararlo per i fatti suoi o in un bel progettone enterprise 
di 6-12 mesi con altri 10 colleghi (sempre che li facciano ancora).
Meglio ragionare con il cliente sulle features implementabili bene 
(seriamente, da professionisti) in 30 giorni e magari se è il caso 
ridurre lo scope ad inizio progetto.
Pessimo spaghetti code su cui rimediare in manutenzione fara' solo 
incavolare il cliente con i costi che schizzano alle stelle.


 Solo uno: Stripes.
http://www.pragprog.com/titles/fdstr/stripes
Thanks, riferirò :)
--
ale
http://ale.riolo.co.uk

 usavo MVC negli anni '90, anche con Visual Basic 5 o 6 se capitava,
no, pensavo non conoscesse neppure l'MVC e volesse far esperienza
anche su quello, sai .. in un mese di secondi ce ne sono tanti....

 http :// 
ale.riolo.co.uk
Mie opinioni da javista veterano:
1. In 15 giorni un framework da 0 lo ralleanta sicuramente, probabilmente fino
a sforare. Se sa usare bene le servlet usi quelle. Considera che oltre a
programmare nel framework bisogna imparare a configuralo , a fare gli ant per
il progetto ecc
2. Struts dimenticalo che fa solo confusione.
3. Spring lo conosco poco e lo sto usando per la prima volta in questi giorni,
a costo di scatenare il flame ti dico che e' uno struts ancora piu'
incasinato, oltre al java c'e' molta logica negli xml il che e' solo fastidio
4. Tutti i framwork jsf non e' possibile per un umano impararli decentemente
in 15 giorni su un progetto in corso, magari da soli
5. La grande domanda e' perche' usare java se sa usare php o perl o rail o
similari che su progetti cosi' piccoli e' nettamente piu' rapido e semplice di
java
6. Deve andare al db ? Se no puo' pensare di usare un CMS ( php o java o anche
net che a quel punto e' indifferente )che rischia di fare il sito in 3
giorni
ciauz Nicola
-- 

 sbagliata, in concreto 1 mese vola via.
Per qualcosa di semplice e veloce io consiglio
http://wicket.apache.org
oppure
http://www.playframework.org
Ciao


 gestibile così come che paghi fino all'ultimo centesimo.
Tu ragioni da programmatore che lavora per terzi (che gestiscono il 
rapporto col cliente finale).
Io di BR e commerciali/imprenditori che vendono la luna non ne voglio 
sapere piu' nulla (da anni).
Di solito se si propone al cliente una soluzione intelligente (la 
cosiddetta win-win vincente per entrambi fornitore e cliente) con 
modifica dello scope/posticipo di alcune feature non essenziali quello 
accetta di buon grado.
E' finita l'epoca della vendita alla pene di segugio di soluzioni 
informatiche.
I soldi sul mercato sono pochi e vendere pacchi informatici raffazzonati 
in spaghetti code porta solo a bruciarsi il cliente.


 per quale motivo in un progetto grande invece utilizzeresti struts?
non mi sono spiegato bene. Non e' solo questione di grande o piccolo.
Una volta che sono familiare con un framework lo uso a prescindere
dalla dimensione del progetto, visto che anche  per un progetto
piccolo mi velocizza lo sviluppo.. ma la questione qui e' che il tipo
non conosce nessun framework java web, quindi e' ragionevole assumere
che sia un programmatore java piuttosto inesperto. Quindi, assumendo
che il progetto sia molto semplice, cosa del resto supportata dalla
sua affermazione ("pensava di poter finire il tutto in un paio di
settimane usando semplicemente le Java Servlet API") e che non gli
interessi ampliare le sue conoscenze java per lavori futuri, e' piu'
"economico" per lui cavarsela con solo servlet & jsp. Se il progetto
non e' molto semplice non credo proprio che possa realizzarlo in mese,
framework o non framework.

 persona non è molto competente.
il solito atteggiamento stizzoso/censorio...
Dato per scontato che anche i muri sanno e capiscono che l'utilizzo di
un framework e' spesso utile, non si tratta di un dogma teologico. Se
il tipo dice di potercela fare in due settimane solo con le servlet
api chi glielo fa fare di imbarcarsi nello studio di un framework?? A
meno che non preveda di volere accettare altri "lavori java" in futuro
e quindi decida di valga la pena di fare questo investimento e usare
questo progetto semplice come palestra...

 giorni
straquoto. Per un sito semplice semplice o standard la strada da
seguire sarebbe questa... ma visto che e' un programmatore PHP mi sa
che ha gia' considerato e scartato questa ipotesi per qualche motivo..
visto che il mondo PHP formicola di questo tipo di CMS
configurabili ...