Newsgroup: it.comp.programmare
Titolo: Applicazione Desktop HELP

Ciao a tutto il ng.
Sto per sviluppare un'applicazione desktop che avrà come bacino di utenza
geometri e architetti.
Mi trovo davanti a un incrocio (non un bivio) che mi sta portando via un
po' di tempo.
Chiedo pertanto il vostro prezioso consiglio (lasciano da parte amore e
odio nei confronti di Linux o Windows e compagnia bella).
Dovendo sviluppare questa applicazione che coinvolgerà grafica basilare
(istogrammi, grafici  e gantt), XML e database (quest'ultimo in forse
anche perchè al 99% userò solo XML) e nulla che riguardi grafica spinta
(non voglio sostituire CAD!!) e volendo usare un linguaggio OO le scelte
possono ricadere su: C++, C# o Java (se avete altre idee dite pure).
Ora C++ è molto rapido, richiede meno risorse (pesa di meno) ma è più
lungo da sviluppare, non è completamente portabile di piattaforma (devo
ricompilare e non solo per effettuare il porting).
C# va molto bene su MS, le prestazioni su Linux non sono un gran che (da
alcuni bench effettuati su Linux SuSE i risultati sono stati deludenti)
anche se Novell ha acquisito SuSE e Ximian con il relativo progetto Mono
(.NET su Linux) e questo fa ben sperare in sviluppi migliori in futuro, ma
questo potrebbe essere argomento di un nuovo thread..
Java lo trovo molto valido ma richiede un po' di risorse (lanciando
un'applicazione Java la memoria se ne va che è un piacere), è molto
robusto e consente di effettuare un porting su numerose piattaforme ma non
è (smentitemi se è il caso!!) ottimo per applicazioni desktop in quanto
più valido per applicazioni J2EE server e di network.
Ora, la mia applicazione servirà a geometri e architetti che avranno al
95% Windows tranne qualche Mac (forse) e Linux e sarà un'applicazione
desktop.
Voi cosa scegliereste?
Io punterei di più su un C#, giocandomi però una fettina di
mercato....voi??
Grazie mille a tutti.
Luca
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 possono ricadere su: C++, C# o Java (se avete altre idee dite pure).
Personalmente userei il Visual FoxPro :)
E' portabile windows/mac, è OO (anche se solo in parte) ed è realmente RAD.
Data però la sua poca diffusione e la politica ostruzionistica di MS stessa
nei suoi confronti (anche se non ne ho mai capito il motivo), direi che ti
suggerisco decisamente il C#.
I motivi, oltre a quelli che hai già menzionato, aggiungerei decisamente la
velocità di sviluppo (che in effetti ora è pari o quasi al VB, il supporto
per l'XML "senza sforzo", e la relativa facilità di conversione a Java (nel
caso dovessi cambiare idea).
Buon lavoro
Alessandro
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 Inviato via 
http://arianna.libero.it/usenet/
Grazie Mille!!


 Grazie mille a tutti.
Hai considerato C++ e wxWindows ? I programmi sono perfettamente portabili
su tantissime piattaforme!
Per il resto anche Java mi sembra ottimo per quello che devi fare... va bene
che è molto meno prestazionale di un programma in C++ ma da quello che ho
capito non devi fare un mare di calcoli.
A me non piacciono (lo avrai capito) soluzioni proprietarie (C# o CLX),
comunque la scelta è tua... non posso dire che non siano valide.
wxWindows, è sicuramente un framework emergente.
ciao.

 comunque la scelta è tua... non posso dire che non siano valide.
Ma da quando Java è diventato Open Source e non è più proprietario?
Di .NET (e C#) so che è open e standard ECMA, ma di Java???
Cmq grazie del tuo consiglio, mi devo però informare meglio su wxWindow e
sui tempi, anche perchè da quello che so sviluppando in C++ si ottengono
risultati ottimi (bè, dipende anche dal programmatore!!), ma i tempi di
realizzo/sviluppo si allungano (aspetto smentite).
Grazie ancora


 ma i tempi di realizzo/sviluppo si allungano (aspetto smentite).
Eccomi. ;-)
-- 
---
*************** | Have you ever retired a human by mystake?
*** Azathot *** |
*************** | To contact me, ask me gently. Thanks.

 mi risulta sia "Open", men che meno "standard".
Ti sbagli, la CLI e` standard e non e` pochissimo, ad ogni modo
e` vero, .NET non e` open source (non quello ufficiale di MS) ma esiste
Mono ed esiste SSCLI che ha una licenza Shared Source.
-- 
Lawrence "Rhymes" Oluyede
http://loluyede.blogspot.com

 Eccomi. ;-)
Il fatto che sia presente sul sito 
http://www.ecma-international.org/
 non
vuol dire nulla? :-(
C'č anche questo documento (perň forse č un po' di parte)
http://msdn.microsoft.com/net/ecma/
Ma l'ECMA non č solo per gli standard?
Qui si parla di standard!! Sull'Open, forse č un po' forte da dire,
diciamo che perň si avvicina all'Open completo, se no non si spiegherebbe
come GNU e Ximian possano lavorare su due framework .net che girano su
piattaforma Linux e Mac e siano completamente compatibili con il framework
di M$.
Sulle tue smentite sui tempi di realizzo con C++, questo mi fa piacere.
L'ultima volta che ho scritto applicazioni desktop senza utilizzare
VisualC++ (non ce l'ho e non voglio farne una copia pirata) c'č voluto un
mare di tempo!
Ciao


 Luca
Ciao.

 Ciao.
Ciao ciao!


 mare di tempo!
Non so se hai notato il suo "eccomi", inteso come: dato che ci vuole una
marea di tempo e io sono bravo ti aiuto io... 
ciao


 a Java...
Si per ora lo sono. Ma non e` detto che non basti Linux come piattaforma
alternativa


 Mono ed esiste SSCLI che ha una licenza Shared Source.
C# sarà anche standard, ma l'unico compilatore usabile attualmente gira
solo su piattaforma MS. Mono promette bene, ma a quanto ne so è ancora
inutilizzabile in ambiente business.
Ergo, Java è la via. L'ambiente di sviluppo è gratuito, il compilatore
pure, la documentazione anche, anche se la definizione del linguaggio è
gestita da SUN le specifiche sono liberamente accessibili, esistono
compilatori alternativi opensource etc etc etc, altro che .NET...
Raffaele
-- 
Raffaele Castagno


 compilatori alternativi opensource etc etc etc, altro che .NET...
Vabbè io intanto continuo su .NET se non ti dispiace ;-)


 
Sulla facilità di conversione da C# a java (e viceversa) per 
applicazioni appena più banali di un helloworld non sarei così 
ottimista.
E' vero che la sintassi è molto simile (ma questo è vero anche per C# e 
C++ o C++ e java), ma la libreria è completamente diversa e alcune 
funzionalità del framework .NET (funzioni delegate, eventi) non sono 
presenti in java.
-- 
Valter Minute
vmi...@inwind.it
 (the reply address of this message is invalid)

 
Ti consiglio, prima di tutto, di valutare a quanto ammonta la 
"fettina" di mercato di cui parli e decidere se la portabilità è un 
requisito indispensabile.
Tieni presente che se il 5% dei geometri e degli architetti usa mac o 
linux, ma non ci sono applicazioni come quella che vuoi realizzare tu 
per queste piattaforme, quel 5% del mercato potrebbe essere 
un'opportunità interessante e giustificare la realizzazione di 
un'applicazione multipiattaforma.
Se invece si tratta di un 1% e ci sono già soluzioni alternative 
(multi o mono-piattaforma), forse non è il caso di considerare la 
portabilità un requisito fondamentale del tuo progetto.
Per quanto riguarda gli strumenti, java è forse il più "maturo" a 
livello di sviluppo RAD multipiattaforma, anche se (IMHO), non 
consente di realizzare applicazioni Windows realmente "integrate" con 
questo ambiente (soprattutto se utilizzi Swing e non AWT).
C/C++ richiede l'utilizzo di librerie multipiattaforma (QT o 
WxWindows le più diffuse) e, magari, di integrare librerie diverse 
(parser XML, se non è fornito con la libreria "principale") e tempi 
di sviluppo probabilmente più elevati (dipende da quanto "pesa" la 
GUI nella tua applicazione).
C# non garantisce, al momento, un supporto multipiattaforma 
affidabile (anche se mono sembra essere in grado di "maturare" in 
tempi accettabili, tutto dipende da quanto tempo pensi richieda lo 
sviluppo della tua applicazione), ma permette (già ora) di realizzare 
applicazioni Windows in modo semplice.
Se hai bisogno di un "motore" di calcolo con performances elevate e 
di un'interfaccia utente che possa essere realizzata in modo 
semplice, non scartare l'ipotesi di realizzare il "motore" in C/C++ 
(con un parser XML portabile e utilizzando la libreria standard C o 
STL per il C++) e un'interfaccia grafica con uno strumento RAD. 
Magari puoi realizzare una prima interfaccia solo Windows in C# e in 
un secondo tempo, se nel frattempo mono non è stato all'altezza delle 
promesse, un'altra in java (o python) per i sistemi non windows.
