Lavoro come sviluppatore di software interno. Abbiamo utilizzato Silverlight per creare la nostra applicazione, ma ci è stato chiesto di iniziare a prendere in considerazione la loro sostituzione.
Attualmente il nostro set-up è:
- Applicazione Silverlight per lato client.
- Servizio web sapone Asp.Net. Distribuito in due server con un carico bilanciatore.
- MS SQL server 2008. Anche distribuito su due server con un carico bilanciatore.
La nostra applicazione come una sorta di suite, che svolge diverse funzioni, inclusa ma non limitata a:
- Reporting.
- Analisi dei dati.
- Front-end per diverse tabelle di database che vengono utilizzate sia per altri processi nell'applicazione e per altre applicazioni nel società.
I nostri vincoli:
Risorse di sviluppo limitate: Siamo un piccolo team, una dozzina circa di sviluppatori e, mentre abbiamo già assunto più persone per essere in grado di far fronte a un carico di lavoro crescente, è improbabile ottenere più rinforzi . Anche il tempo è limitato, poiché nuovi progetti, correzioni di errori, richieste di nuove funzionalità nell'applicazione esistente e cambiamenti nella logica di business sono piuttosto frequenti.
Aggiornamento tecnologico lento: la nostra azienda è passata da Windows XP a Windows 7 l'anno scorso e solo perché il supporto è terminato. Abbiamo iniziato a considerare di aggiornare i server di database a SQL Server 2010 di recente. Il browser ufficiale è Internet Explorer 9 e Chrome. Nuovi server, licenze e strumenti possono essere richiesti, ma spesso richiedono tempo.
Dati grandi e lenti: alcuni dei nostri dati provengono da tabelle grandi e goffe con milioni di righe e molte colonne, con solo l'indice minimo, perché vengono aggiornate frequentemente. Abbiamo un controllo limitato su quei tavoli grandi specifici perché sono feed da altri sistemi e la richiesta di modifiche in questi feed è possibile, ma, come prima, ci vuole tempo.
Mentalità dell'utente: i gestori apprezzano le interfacce e i cruscotti elaborati da mostrare nelle riunioni. Tutti gli utenti apprezzano la reattività e la scorrevolezza generale dell'interfaccia utente. Inoltre, molti dei nostri utenti provengono da uno sfondo di Excel, il che significa che sono abituati a prendere grandi quantità di dati e filtrarli, eseguire analisi, creare statistiche, generare grafici, ecc. E si aspettano di essere in grado di farlo applicazione anche.
La nostra esperienza: molti dei nostri sviluppatori hanno sfondi relativi a .net, asp.net, Windows Form e Silverlight. Solo alcuni di noi hanno esperienza Java (non Android). Solo pochi di noi hanno esperienza con le applicazioni web oltre a piccoli progetti.
Il nostro passato: La prima iterazione della nostra applicazione è stata un'applicazione di moduli Windows che ha subito un grave problema di gonfiore dell'installatore. Alcuni responsabili IT hanno deciso di risolverlo trasformandolo in un'applicazione web. Dato che questo era prima di HTML5 e stavamo ancora utilizzando IE6 come browser ufficiale, abbiamo deciso di utilizzare Silverlight poiché ci offriva il miglior compromesso.
I nostri vantaggi:
Hardware omogeneizzato: molti utenti usano esattamente lo stesso tipo di laptop con le stesse specifiche. L'intervallo di dimensioni dello schermo disponibile non è molto ampio, quindi non dovremmo avere a che fare con risoluzioni diverse.
Intranet: Lavoriamo in un ambiente controllato.
Budget ragionevole: la maggior parte delle richieste di server, licenze e simili verranno approvate se viene fornita una motivazione sufficiente.
Recentemente, i rialzi hanno iniziato a temere che il supporto di Silverlight possa finire bruscamente. E hanno suggerito di aggiornare l'applicazione a una tecnologia più stabile, suggerendo che HTML5 sarebbe una buona idea. Ci hanno chiesto quanto sarebbe fattibile e quanto tempo ci sarebbe voluto. Abbiamo circa 0 esperienze in questo tipo di progetti, quindi stiamo cercando un po 'di dare una risposta. Questa è la mia domanda:
Data questa situazione e il set-up, sarebbe fattibile portare questo tipo di applicazione a un'applicazione web con HTML5 e asp.net mantenendo la maggior parte delle sue funzionalità?
Se no, perché? Quale dei precedenti dovrebbe essere modificato per renderlo possibile?.