Newsgroup: it.comp.lang.delphi
Titolo: application-oriented framework

E' un termine che ho inventato di sana pianta, ma
non so proprio come rendere l'idea.
Tutti noi conosciamo i framework di sviluppo come 
un insieme di facilita' che rendono piu' facile la
scrittura dei programmi.
E' anche vero, pero', che molti programmatori usano
le stesse tecniche, a volte in modo diverso, a volte
in modo giusto, a volte meno e sono tecniche che 
sfruttano il framework a livello piu' basso.
Quello che mi chiedo e' se esistano dei framework
orientati allo sviluppo di applicazioni, studiati 
dal punto di vista delle operazioni che in esse si 
compiono.
Supponete di avere un gestionale.
Quanti di voi implementano dei controlli sulla 
chiusura di una maschera ?
Non sarebbe bello avere un componente form avanzato,
che implementi per conto suo dei controlli sui campi
obbligatori ? sul codice fiscale ? sulla partita iva ?
Non sarebbe bello avere un form avanzato, che implementi
la ricerca in tabella, che contenga una dbgrid avanzata,
con la quale cliccando sulle varie intestazioni, si 
abbia l'ordinamento visivo per campo ?
Non sarebbe bello avere dei componenti di inserimento
di importi in euro in cui questo benedetto arrotondamento
viene fatto in modo automatico ?
So benissimo che e' possibile trovare questi componenti
in giro per internet, ma sarebbe bello se vi fosse 
uniformita' tra essi, se fossero affidabili e distribuiti
in un pacchetto unico.
Non so, a me sembrerebbe una buona idea quella di creare
una libreria di oggetti riutilizzabile da chiunque, per
la scrittura di applicazioni gestionali complesse.
Che ne pensa il ng ?
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 wrote in message
news:bad8a0ef565267b629a...@mygate.mailgate.org...


Esiste di già.
Ha molti limiti. Il limite più grosso è che non è FLESSIBILISSIMO. Non puoi
farci quello che vuoi. E' fatto per creare dei gestionali. Quindi, giusto
per capirci, non puoi fare un bel virus che magari si mette a chiuderti ed
aprirti i relè del modem fino a quando questoi non si rompono.
Ha i vantaggi perchè diventi molto produttivo. E poi, le persone che ci
lavorano sono intercambiabili. Tutti all'interno di un'azienda sono in grado
di modificare il codice. Per esempio, basta metterci la textbox, e dirgli
che dentro ci deve andare un codice fiscale. Non ti fa vedere nemmeno il
codice per la gestione del codice fiscale ma lo genera. Quindi, non a tutti
qualli che arrivano, li devi far vedere la procedura. E poi, sai che non ci
sono i bacchi.
Ah, si chiama Code Painter. E' prodotto dalla Zucchetti ed è quello che è
stato usato per realizzare AD HOC (dicono che sia il miglior gestionale in
Italia, ma io non so se è vero, non l'ho mai visto)

"Andrea Laforgia" ha scritto nel messaggio
|
| Che ne pensa il ng ?
|
Opinioni personali (ovvio) in ordine sparso:
Una bella idea difficilmente realizzabile: semplificando
il tuo discorso, tu vuoi creare una gruppo di lavoro
(una 'community') di delphisti per lo sviluppo congiunto
di progetto complesso?
Io sono pessimista che si riesca a fare (creare la comunita', cioe').
Non vedo - purtroppo - un gruppo di persone in grado di portare
a termine (ripeto ad alta voce: _PORTARE A TERMINE_ ,
non _INIZIARE_ ) una progetto di una simile portata e complessita'.
Pero', ribaltando completamente la cosa, potrebbero anche esistere
'in potenza' questa 'mezza dozzina' di programmatori e un progetto
del genere li potrebbe spingere a ritrovarsi per sviluppare qualcosa di
serio e importante.
Riassuntino finale: i miei dubbi riguardo la tua proposta non
nascono da considerazioni tecniche (tu sei la dimostrazione che
questo ng e' frequentato da programmatori che possono affrontare
la creazione di un framework senza troppi patemi d'animo) ma sulla
possibilita' che nasca davvero un gruppo di programmatori con la
voglia di prendersi carico di un simile lavoro.
Spero di sbagliarmi e di essere smentito _dai fatti_ il piu' presto
possibile.
--
Ciao.
ACSH
[D4]
---------------------------
Chi fa da se'
fatica il doppio

possibile.
Lo spero anch'io.  A me sembra anche una buona occasione per
scambiarsi i punti di vista sulle tecniche adottate.  Capire
dal confronto se il modo di fare di altri e' migliore del
tuo.  Io comincio a scrivere dei componenti per le mie
applicazioni, poi si vedra' :)
-- 
Andrea Laforgia - walkietalkie(at)
libero.it
"Meglio cieco che negro" (Stevie Wonder)

di modificare il codice.
L'idea e' proprio quella di minimizzare gli interventi sul
codice sorgente.  Quando il codice sorgente e' un
appartamento abitato da piu' persone, bisogna rispettarsi e
cercare di fare le cose per bene.  Moltissime volte ho visto
fare il contrario.  E' chiaro che costruire del codice
"prefabbricato" puo' aiutare gli altri a fare meno fatica,
ma sopratutto a fare le cose per bene.
Grazie per la segnalazione di Code Painter.
A proposito, si potrebbe costruire questo framework
indipendentemente dal linguaggio e/o compilatore, fornendo,
di ogni componente, la versione OCX.
E' solo un'idea, ovviamente.


 Italia, ma io non so se č vero, non l'ho mai visto)
Codepainter era della TAM Software di Aulla, che č stata poi acquisita
da Zucchetti.
Ho visto del codice generato da CodePainter anni fa, quando AdHoc
era scritto in clipper.
Oltre al costo, hai solo un problema, ma veramente grosso:
come esci dal seminato devi spararti.
Anni fa, il diretto concorrente di CodePainter era il Dbsee della ISA di
Baveno (Novara). 
Feci un corso sul dbsee di 3 giorni.
Il mio pensiero? Meglio lasciar perdere...
Magari a oggetti la cosa funziona meglio, ma all'epoca, solo con
la programmazione strutturata era da panico.
Bye
AS


era scritto in clipper.
No, no, attenzione.  Io non parlo di generatori di codice.
I generatori di codice generano, per lo piu', casino.
La programmazione ad oggetti ha un grosso dono che e'
l'incapsulamento.  Mettere le mani su del codice generato in
automatico e' molto diverso dall'utilizzare codice racchiuso
in un oggetto.


"Andrea Laforgia" ha scritto
| Volendosi accontentare di molto
| meno, basterebbe creare un sito su cui si raccolgono dei
| componenti indirizzati ad operazioni specifiche, che pero'
| rispondano a una certa organicita'.
http://sourceforge.net/
 sarebbe l'ideale.
| io guardo con ammirazione il team Jedi che e' stato capace di
| creare una Jedi Code Library, organica, ricca, affidabile,
| compatta.
Tutti dovrebbero guardare con ammirazione il Team Jedi e il suo lavoro!
| A me sembra anche una buona occasione per
| scambiarsi i punti di vista sulle tecniche adottate.  Capire
| dal confronto se il modo di fare di altri e' migliore del
| tuo.
Lo si puo' fare anche qui: non sarebbe troppo OT (pure la rima!).
| Io comincio a scrivere dei componenti per le mie
| applicazioni, poi si vedra' :)
Immagino che molti dei frequentatori di questo NG abbiano
sviluppato componenti che potrebbero rientrare nel framework
da te proposto. Perche' non si inizia mettendo in comune questo
codice, a renderlo 'organico, compatto e affidabile' secondo una logica
simile a quella del Progetto Jedi e usarlo come base per una successiva
evoluzione (per la serie: non reinventare quotidianamente la ruota)?
In ogni caso: specifica meglio cio' che vuoi ottenere con il tuo framework,
crea un 'manifesto' nel quale i partecipanti si possano riconoscere, scrivi
un documento dove si elencano le 'linee guida stilistiche'
da seguire per creare i componenti o le routine di supporto, scegli
una delle svariate licenze disponibili per la loro distribuzione,
trova uno spazio web per condividere il tutto e poi incrocia le dita
sperando che qualcuno ti segua - cosette da niente, lo so.
E' implicito il fatto che se vuoi una mano, nei limiti del tempo
disponibile e delle mie capacita', io sono qui.


 difficilmente fattibile.
non voglio demoralizzarti, ma ci fu (non ricordo se già frequentavi questo
ng [o meglio ICD]) un tentativo di creare una community piuttosto seria
(all' epoca per realizzare il sito di ICD) ma non andò mai in porto. Ricordo
che lanciai con entusiasmo la proposta e i nomi dei possibili collaboratori
erano altisonanti: Gian Luca Dalla Torre, Stefano Carboni, Antonio Tarolla,
Andrea Magni, {MSX}, Davide DG e anche altri ... fu creata una mailing-list
comune per i partecipanti e non si capì più niente! Il problema più grosso
era dovuto al fatto che ciascuno pensava a fare qualcosa per il sito,
secondo una propria idea, e nessuno si preoccupò di organizzare prima di
creare ...
Con questo non ti voglio demoralizzare, puoi sempre provare ... magari sarai
più bravo, o semplicemente più fortunato.
--
- Carlo -
c.b...@libero.it

ng [o meglio ICD]) un tentativo di creare una community 
Probabilmente non mi sono spiegato bene. 
Io non voglio creare una "community", voglio semplicemente
scrivere un framework "di livello intermedio", per cosi'
dire.  E' qualcosa di cui sento la necessita' nel lavoro di
tutti i giorni, quindi mi daro' da fare per metterlo in
piedi.  Una community fine a se stessa non mi interessa
molto.  Se qualcuno, poi, vorra' unirsi al progetto,
migliorarlo, contribuire in qualsiasi misura, che ben venga.


 migliorarlo, contribuire in qualsiasi misura, che ben venga.
credo che su questo punto ci sia un velo di superficialità ... non credere
che "qualcuno" poi si possa unire in futuro al progetto migliorando quanto
da te fatto.
E' necessario pianificare sin dall'inizio il tutto, distribuirsi il lavoro,
selezionare (si, parlo proprio dell'essere selettivo) i programmatori che
hanno le capacità necessarie ad aiutarti e altro.
poi tutto dipennde da quello che intendi per framework "di livello
intermedio" ... secondo il mio punto di vista un framework richiede qualcosa
più di un singolo (per quanto bravo possa essere) per essere realizzato, e
quantomeno tanto tempo dedicato alla progettazione quanto quello dedicato
alla programmazione.


 hanno le capacità necessarie ad aiutarti e altro.
Non sono d'accordo.
Tutto il mondo Open Source funziona cosi'.
Non si tratta di sviluppare un progetto per un cliente
specifico (con tutto cio' che questo comporta).  
Cio' che si puo' fare e' semplicemente sviluppare 
una suite di componenti.  Stabilite le regole con cui 
questi componenti devono essere sviluppati, dando uno 
sguardo al codice preesistente, chiunque puo' unirsi, 
successivamente, al progetto.
In ogni caso, capisco che attualmente l'idea di cosa
voglio fare appaia piuttosto vaga.  
Ho deciso di cominciare a buttare giu' una bozza del
lavoro.  Come ho gia' detto in altri messaggi, di
questa cosa sento il bisogno io per primo, quindi
credo che per i primi tempi, almeno finquando non 
avro' qualcosa di stabile, ci lavorero' sopra da 
solo.
