PDA

Visualizza la versione completa : [OT] Ambiente di sviluppo per applicazione orientata al Web con funzionalità desktop


raffaele.p
02-04-2012, 15:45
Mi stò per accingere alla riscrittura di un Gestionale crato in VisualFoxPro e con database su FreeTable.

I motivi che mi spingono a riscriverlo ovviamente sono i seguenti:
- compatibilità con i nuovi Sistemi Operativi
- rinfrescare l'interfaccia grafica
- avere una apllicazione più orientata al web

Come database penserei di spostarmi su SQL server ma non so bene su quale ambiente di sviluppo orientarmi visto che la riscrittura completa mi richiederà diversi mesi per non dire qualche anno, non vorrei ritrovarmi una volta finito con un ambiente già obsoleto.

Vorrei avere un applicazione magari che possa girare anche su web senza perdere le funzionalità di un applicazione client/server (utopia?) e magari multipiattaforma.

Io ho esperienze di VB6 e VB.Net.

Chi mi da qualche consiglio?

Grazie

raffaele.p
03-04-2012, 12:24
Nessun consiglio?

MItaly
03-04-2012, 12:36
Dei linguaggi citati, credo che VB.NET faccia al caso tuo... Ha strumenti potenti per l'accesso ai database, è basato su una tecnologia su cui MS punta molto e difficilmente verrà abbandonata in tempi brevi, fornisce un ambiente di sviluppo RAD, consente anche di creare web applications, direi che i requisiti che chiedi sono soddisfatti...

raffaele.p
03-04-2012, 12:43
Grazie.
Si infatti lo pensavo anche io. Il limite più grosso che non è multipiattaforma....

Comunque non avrei difficoltà a conoscere linguaggi nuovi!!!

Che ne dite di silverlight? o comunque dei nuovi linguaggi orientati al web?

alka
03-04-2012, 13:07
Originariamente inviato da raffaele.p
Il limite più grosso che non è multipiattaforma....

Se realizzi un'applicazione Web, questa è automaticamente multipiattaforma (poiché è accessibile dai browser di qualsiasi sistema operativo).


Originariamente inviato da raffaele.p
Che ne dite di silverlight? o comunque dei nuovi linguaggi orientati al web?
Così come hai posto la domanda, è troppo generica: qualsiasi "che ne dite di..." avrà una risposta positiva, poiché non hai detto nulla che impedisca di utilizzare (o non utilizzare) i linguaggi che hai citato.

Ciascuno dei linguaggi ha caratteristiche diverse, che puoi approfondire sui siti relativi, pertanto se c'è un dubbio specifico a riguardo, scrivilo e si può discutere, altrimenti qualsiasi soluzione che citi va bene e il quesito diventa quindi inaffrontabile (e ciascuno finirà per suggerire il proprio preferito, che non sarà di molta utilità a te).

raffaele.p
03-04-2012, 14:39
In effetti ho le idee un po' confuse.


Quello che non vorrei è magari lavorare 2 anni sul progetto di riscrittura e alla fine ritrovarmi con un software obsoleto.


La soluzione .NET al momento è quella che mi attira di più perchè la conosco meglio...anche se ho fatto solo applicazioni Windows Form e non per il web.

Per quanto riguarda i miei dubbi con il web è quello di sapere se dalla mia applicazione web potrei avere il pieno controllo del pc client come da un applicazione locale, e cioè poter leggere/scrivere file nel filesystem locale interagire con le eventuali periferiche del pc.

Inoltre secondo voi visto che già le App oramai vengono fatte con HTML5+CSS+JavaScript, pensate che in futuro la programmazione si baserà sempre di più su questi linguaggi?

Grazie

alka
03-04-2012, 17:26
Originariamente inviato da raffaele.p
Quello che non vorrei è magari lavorare 2 anni sul progetto di riscrittura e alla fine ritrovarmi con un software obsoleto.

Su questo, nessuno può darti particolari indicazioni, poiché si dovrebbe predire il futuro per saperlo. ;)


Originariamente inviato da raffaele.p
Per quanto riguarda i miei dubbi con il web è quello di sapere se dalla mia applicazione web potrei avere il pieno controllo del pc client come da un applicazione locale, e cioè poter leggere/scrivere file nel filesystem locale interagire con le eventuali periferiche del pc.

Assolutamente no, a meno di non usare dei plugin o dei controlli che alla fine non sono altro che applicazioni tradizionali, solo ospitate all'interno di una pagina Web che provvede a scaricarle e ad eseguirle.


Originariamente inviato da raffaele.p
Inoltre secondo voi visto che già le App oramai vengono fatte con HTML5+CSS+JavaScript, pensate che in futuro la programmazione si baserà sempre di più su questi linguaggi?

Certamente, ma le risposte a queste domande le trovi ovunque.

Caiodark
03-04-2012, 17:31
Originariamente inviato da raffaele.p
In effetti ho le idee un po' confuse.


Quello che non vorrei è magari lavorare 2 anni sul progetto di riscrittura e alla fine ritrovarmi con un software obsoleto.


La soluzione .NET al momento è quella che mi attira di più perchè la conosco meglio...anche se ho fatto solo applicazioni Windows Form e non per il web.

Per quanto riguarda i miei dubbi con il web è quello di sapere se dalla mia applicazione web potrei avere il pieno controllo del pc client come da un applicazione locale, e cioè poter leggere/scrivere file nel filesystem locale interagire con le eventuali periferiche del pc.

Inoltre secondo voi visto che già le App oramai vengono fatte con HTML5+CSS+JavaScript, pensate che in futuro la programmazione si baserà sempre di più su questi linguaggi?

Grazie

Secondo me le prossime architetture server / client saranno realizzate in siffatto modo: Applicazione server che restituisce dati in JSON o XHTML secondo il paradigma HATEOAS (perfettamente multipiattaforma). I Client torneranno ad essere thick, con i linguaggi più disparati, HTML 5 incluso.
Tieni in mente che:
- html 5 entrerà nelle scelte con cui poter sviluppare applicazioni native in windows, a partire da Windows 8 (tablet e pc), ma ci vorrà del tempo e le alternative C++, C# e VisualBasic saranno comunque disponibili;
- .NET migrerà in WinRT... mmmh;
- su WinRT non c'é un accenno a Silverlight, probabilmente nell'interfaccia Metro UI flash e silverlight non saranno supportati;
- iphone/ipad/Mac OS X hanno un linguaggio loro: Objective C e per il momento un progetto su iphone/ipad non gira su Mac OSX e viceversa;
- android usa Java con un proprio SDK (anzi mooooolti SDK);
- tutti si sono già mossi per una distribuzione del software centralizzata tramite store.

Al momento è molto più stabile il mondo server, quello client potrebbe tornare ad una esplosione di piattaforme differenziate fatto salvo il Web.

MItaly
03-04-2012, 23:09
La cosa più astuta sarebbe comunque separare in maniera netta front-end e back-end del tuo programma, tenendo il back-end (la business logic, insomma) in una libreria separata, con cui il front-end comunica in qualche maniera. Oggi il front-end potrebbe essere un'applicazione Windows Forms, domani potresti riscriverlo in ASP.NET ottenendo un'applicazione web, riciclando tutto il codice di back-end scritto in passato.

Loading