Applicazioni Winforms vs Applicazioni Web 2.0

sabato 12 gennaio 2008 - 09.36

tarabasch84 Profilo | Junior Member

Ciao ragazzi,
sono alle prese di un dilemma bello grosso da sbrogliare. In pratica dovrei progettare un software per un'azienda (è la prima volta) in grado di gestire la contabilità generale (fatture, bolle, magazzino, anagrafiche, ordini ..) tutto in rete intranet. Vorrei un consiglio su che tipo di approccio utilizzare, cioè se svilluppare un software desktop, oppure una applicazione web. Quali sono i vantaggi e gli svantaggi di utilizzare l'uno oppure l'altro a prescindere dal bacino di conoscenze che si ha?
Grazie anticipatamente!
Credo che parte della colpa sia di billy...

freeteo Profilo | Guru

ciao,
ti porto un mio parere personale, anche se come sempre ci sono tanti punti di vista e tutti sicuramente validi:

Assolutamente crea un'applicazione Windows! te lo dico perche' anch'io spesso mi sono trovato in questa indecisione iniziale, sicuramente dettata dalla bellezza di asp.net ovvero:
- di non dovere installare niente nei client
- giocare con immagini, fogli di stile e impaginazioni
- centralizzare lo sviluppo e il deploy per avere sempre l'ultima versione online

Queste cose sono vere, ma il problema è l'interattivita' utente! Usare una pagina web per consultare delle informazioni va benissimo, l'interazione è minima...e mediamente la gente si aspetta questo approccio quando naviga il web.

Ma quando ci deve lavorare non puoi pensare:
- che il tab non vada come dovuto
- che per avere una lista di dati ampia debba aspettare un bel po
- che una combo con autocomplete sia cosi' lenta
- che le stampe siano un casino per chi le lancia e per te che le devi fare
- che devi diventare matto per gestire un sacco di continui postback alla pagina quando ci sono gli eventi dei componenti
- che poi su firefox si veda differente
- che per avere il drag&Drop devi inventarti dei giri clamorosi

Anch'io pensavo: "beh risolvo tutto con Ajax", invece poi ti incasini con eventi, viewstate, utenti che cliccano indietro, postback etc...variabili statiche...etc... fidati che se parti con un progetto grosso poi te ne penti

il grosso della rottura di scatole adesso con ClickOnce è stato praticametne bypassato dall'autoinstallazione del framework, e dalla bellezza di avere un runtime che copre il 90% delle tue esigenze, quindi ti basta installare il framework (che appunto scende con Clickonce) per avere qualcosa di perfettamente funzionante.

La discussione è lunga, io ti ho portato un mio parere, per le esperienze che ho fatto io mi sono trovato meglio con applicazioni Win32, il web è solo per Siti con interattivita', ma non "per lavorare quotidianamente".

Poi cmq se vedi che riesci a fare tutto lo stesso via web ci guadagni di grafica sicuramente, ma di impegno tuo lavorativo 2do me al crescere della complessita' dell'applicazione (e quindi le richieste che via via gli utenti ti fanno) l'implementazione diventa sempre piu' ardua...

Aspetto altri commenti per discutere, ripeto questo è solo il mio punto di vista.



ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

tarabasch84 Profilo | Junior Member

Ciao, ti spiego un po' la mia situazione. Lavoro da tempo con tecnologia Microsoft orientata al Web, per questo l'approccio da utilizzare per progettare e costruire un'applicazione del genere viene scelto anche in base alle conoscenze di cui uno dispone. Questo succede perchè i tempi sono limitati e perchè il cliente ha fretta. Credo che tu possa capire. Ora, siccome è la prima volta che mi accingo a fare un sistema del genere non vorrei sbagliare la scelta architetturale. Seguendo il tuo consiglio, mi troverei da subito a lottare con i seguenti problemi:
- Come avviene l'aggiornamento di un'applicazione win32;
- Come gestire e implementare la comunicazione con il server (sul quale dovrebbe risiedere il database, credo);
- La sicurezza in tal caso come dovrei gestirla e se dovrei gestirla a livello software;
Per il momento sono questi i miei dubbi e credo che dal lato della tua esperienza mi possa dire quanto io stia indietro... e magari dare una mano...
Forse le risposte a queste domande sarebbe opportuno inserirle in un nuovo post.
Sta di fatto che la UI limitata a me spaventa e non poco. Il web avrà i suoi pregi a livello grafico, però di fondo una grossa differenza riguarda l'user: se per il web l'user è un utente qualsiasi, per un'applicazione aziendale l'utente è un impiegato che deve poter lavorare nel migliore dei modi e non caz..eggiare!


Credo che parte della colpa sia di billy...

freeteo Profilo | Guru

>Ciao, ti spiego un po' la mia situazione. Lavoro da tempo con
>tecnologia Microsoft orientata al Web, per questo l'approccio
>da utilizzare per progettare e costruire un'applicazione del
>genere viene scelto anche in base alle conoscenze di cui uno
>dispone.
certo, assolutamente d'accordo!


>Questo succede perchè i tempi sono limitati e perchè
>il cliente ha fretta. Credo che tu possa capire.
ma va??? purtroppo questi problemi mi capitano praticamente sempre...


>Ora, siccome
>è la prima volta che mi accingo a fare un sistema del genere
>non vorrei sbagliare la scelta architetturale. Seguendo il tuo
>consiglio, mi troverei da subito a lottare con i seguenti problemi:
>- Come avviene l'aggiornamento di un'applicazione win32;
guardatii clickonce (ps: attento pero che non so se funziona su win98)
http://msdn.microsoft.com/msdnmag/issues/04/05/ClickOnce/
http://msdn2.microsoft.com/en-us/library/t71a733d(VS.80).aspx
http://blogs.msdn.com/trobbins/archive/2005/05/04/414676.aspx
praticamente dal progetto exe in visual studio tu fai "tasto Destro->publish" e scegli dove (nel tuo caso una share di rete)
dopodiche' fai un collegamento a quel file ".application" nei vari client e niente altro.

>- Come gestire e implementare la comunicazione con il server
>(sul quale dovrebbe risiedere il database, credo);
se hai un server, un db, adotti le stesse soluzioni che usi lato asp.net...cambia solo lo strato di "presentazione", che non è piu' web, ma Windows Form, ma come accedere, le query da fare etc...è uguale


>- La sicurezza in tal caso come dovrei gestirla e se dovrei gestirla
>a livello software;
si beh qui l'autenticazione di asp.net ti semplifica la vita, ma implementarla lato win32 si tratta di fare 1po di codice in piu' ma se vuoi fare una csoa piu' agile (tanto partira' un exe solamente), quindi ti basta farlo nel "program.cs" dove c'e' l'entry point dell'applicazione

>Per il momento sono questi i miei dubbi e credo che dal lato
>della tua esperienza mi possa dire quanto io stia indietro...
>e magari dare una mano...
mah non è questione di essere indietro, fai bene a farti delle domande e a sentire delle opinioni, spero di non essere l'unico, altrimenti una sola campana è troppo poco!

>Forse le risposte a queste domande sarebbe opportuno inserirle
>in un nuovo post.
bah indifferente...


>Sta di fatto che la UI limitata a me spaventa e non poco. Il
>web avrà i suoi pregi a livello grafico, però di fondo una grossa
>differenza riguarda l'user: se per il web l'user è un utente
>qualsiasi, per un'applicazione aziendale l'utente è un impiegato
>che deve poter lavorare nel migliore dei modi e non caz..eggiare!
si infatti, ti dico io amo molto la parte web, soprattutto quello che riesci a fare con fogli di stile e potenza di asp.net..pero' se devono "lavorare" non voglio che poi mi chiamino 100 volte al telefono per dirmi che ci sono dei problemi...


>Credo che parte della colpa sia di billy...


ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5