Scelta della tecnologia per sviluppare applicazioni multipiattaforma

1

Quello che ho è l'applicazione aziendale WinForm scritta in C #.
Quello che mi piacerebbe fare è riprogettarlo per soddisfare l'approccio multipiattaforma.

Stavo pensando all'architettura che coinvolge il server delle applicazioni (eseguendo tutte le operazioni logiche ed eseguibili del database) e il thin client in esecuzione su Windows e Mac OS, nonché su Android, iPhone o semplicemente sul browser web. La versione di Windows dovrebbe anche essere in grado di utilizzare i metodi di alcune DLL.

La soluzione che mi viene in mente è il client desktop sviluppato per il targeting di Silverlight (per utenti Windows e Mac OS). La web part, basata su ASP.NET, verrebbe regolata per i dispositivi mobili. Tutti userebbero i servizi Web forniti dal server WCF in esecuzione su Mono.

Cosa ne pensi di questo approccio? Perché è buono e perché se non lo è? So che tutte queste piattaforme sono nel raggio d'azione di Adobe AIR, ma la sua scelta comporterà l'abbandono di tutto il codice esistente e la conoscenza del team di sviluppo su .NET.

Grazie per qualsiasi suggerimento.

    
posta rotman 04.07.2011 - 19:29
fonte

3 risposte

4

I was thinking about architecture involving application server (executing all the logic and performing database operations) and thin client side running on Windows and Mac OS as well as Android, iPhone or just in web browser. Windows version should also have to be able to use methods from some DLLs.

Ti consiglierei di renderlo un sito web. Scegli qualsiasi stack di server .NET che desideri (preferibilmente ASP.NET MVC) e pubblica i contenuti come HTML5 / CSS3 / JavaScript.

Questo è il modo più semplice per passare da una piattaforma all'altra. Puoi persino utilizzare uno strumento come PhoneGap per compilare il tuo sito web in applicazioni native Android / iOS.

Silverlight

è un'opzione, ma in questo caso si rilascia il supporto Linux e force i tuoi utenti installano silverlight (personalmente non lo farò in linea di principio), hai anche una base di codice completamente separata per mobile e desktop . Personalmente sceglierei Silverlight solo se puoi trasferire più del 50% dell'interfaccia utente direttamente in silverlight.

    
risposta data 04.07.2011 - 20:36
fonte
2

Poiché l'applicazione esistente utilizza WinForms, hai considerato Mono ? È un'implementazione multipiattaforma del CLR (core di .NET). Avresti ancora del lavoro da fare, ma non dovresti buttare fuori il tuo codice esistente.

    
risposta data 04.07.2011 - 19:33
fonte
0

Come ha detto Raynos, rendere l'app una normale applicazione web potrebbe essere la soluzione migliore. Nel fare un'applicazione client, è necessario supportare una sorta di UX specializzata o migliorata o funzionalità di dati disconnessi? Questi sono i motivi principali per cui considero un'interfaccia utente thin client.

    
risposta data 11.07.2011 - 05:46
fonte