Silverlight è adatto per un'interfaccia utente di prodotto basata sul Web di classe enterprise?

8

Il nostro team sta attualmente lavorando alla costruzione del nostro HIS di nuova generazione (sistema informativo ospedaliero) composto da oltre 30 moduli (attualmente stimato a 400 mesi uomo), da possibilmente ospitato in una posizione centrale e accessibile attraverso le aree geografiche. Di conseguenza, le NFR dell'interfaccia utente primarie (Requisiti non funzionali) sarebbero

  • Compatibilità con più browser
  • Caricamento rapido di pagine con una ricca interfaccia grafica
  • Capacità di integrazione con dispositivi hardware come scanner biometrici, lettori biometrici ecc.
  • Facilità di sviluppo, manutenzione (integrazione delle modifiche), ciclo di sviluppo più breve
  • Possibilità di aprire più moduli all'interno della stessa finestra del browser (senza avviare finestre aggiuntive)

Pro:

  1. L'interfaccia utente sarebbe agnostica da browser , non dobbiamo preoccuparci di garantire che le nostre pagine Web funzionino con IE 7, 8, 9 ++ / Chrome 8, 9, 18 ++ / Mozilla Firefox (attualmente un un sacco di sforzi per lo sviluppo vanno in questo controllo di compatibilità e correzione)
  2. Potremmo rendere la nostra applicazione più modulare, a differenza di un'applicazione monolitica ASP.Net
  3. Utilizzo dell'archiviazione isolata sul PC client

Contro:

  1. Problemi di perdita di memoria di Silverlight. Li abbiamo affrontati in alcuni esempi che abbiamo creato utilizzando SL e abbiamo lo stesso problema in un'applicazione legacy XBAP. I seguenti collegamenti, sostengono la paura link link

  2. Microsoft non sembra molto entusiasta del futuro di SL. Sembrano investire di più su HTML 5. Anche le versioni future di una SL 5 o 6 sono incerte. link link link

  3. I moduli HIS si apriranno come schede multiple all'interno della stessa finestra del browser (stiamo parlando di un massimo di 8 schede aperte contemporaneamente). Quanto carico avrebbe messo su quell'istanza del browser e quale sarebbe stato il problema della perdita di memoria?

  4. Curva di apprendimento per gli sviluppatori ASP.Net

  5. Un altro collegamento Stack su SL link

Neutro

  1. La compatibilità SEO non è un problema

Le mie query sono?

  1. Useresti SL, sapendo quanto sopra (e altri) Pro e Contro
  2. Nel caso in cui utilizzassimo il pattern MVVM per creare un prodotto con SL come front-end, sarebbe possibile sostituire l'interfaccia utente domani con un'altra interfaccia utente (ASP.Net o altro). La mia comprensione è che la rilavorazione sarebbe sostanziale. Cosa pensa la comunità?
  3. Abbiamo dedicato molto tempo all'analisi di cui sopra (e alla creazione di prove di concetti). C'è un fattore importante / decisivo che stiamo trascurando?

Si prega di non contrassegnarlo come duplicato, poiché molte ricerche e sforzi sono stati dedicati a questo esercizio.

PS: abbiamo trascorso gli ultimi 6 mesi nella creazione del prodotto utilizzando i moduli Web ASP.Net (utilizzando il pattern MVP) e ora stiamo osservando un cambiamento tecnologico dovuto ai motivi sopra riportati.

    
posta Tushax 09.12.2011 - 12:18
fonte

4 risposte

2

Abbiamo effettivamente questo problema. Iniziamo lo sviluppo su Silverligth. È una tecnologia prety, ma probabilmente Microsoft rinuncia. Quindi cambiamo per svilupparci su ASP.NET MVC.

Quindi:

  1. Probabilmente non funziona nella metropolitana di Windows 8. Non funziona su altri sistemi operativi.
  2. È molto difficile cambiare Pattern MVVM in un'altra tecnologia. Nel nostro caso, passa a MVC con HTML 5 cambia tutto il codice.
  3. ...

Spero che possa esserti utile.

    
risposta data 09.12.2011 - 12:32
fonte
2

Per rispondere ad alcune delle tue domande:

The HIS modules would open as multiple tabs within the same browser window (we are talking about a maximum of 8 tabs open simultaneously). How much of a load would it put on that browser instance and how would that effect the memory leak problem?

Perché è necessario aprire 8 schede contemporaneamente? Con Silverlight potresti avere una singola scheda dell'applicazione e tutti i controlli / pagine ecc. Con scheda all'interno . Ciò non metterebbe a dura prova l'istanza del browser e non peggiorerebbe il problema di perdita di memoria.

In case we use the MVVM pattern to build a product with SL as the front end, would it possible to replace the UI tomorrow with another UI (ASP.Net or something else). My understanding is that the rework would be substantial. What does the community think?

Praticamente qualsiasi tecnologia scelta ora ti darà gli stessi grattacapi se provi a sostituire l'interfaccia utente. A meno che tu non sia in grado di separare completamente la logica dell'applicazione dall'interfaccia utente, ci saranno importanti rielaborazioni. Il minimo dolore si avrebbe se si dovesse convertirlo in un'applicazione WPF.

Tuttavia, questa affermazione:

Ability to integrate with hardware devices like biometric scanners, biometric readers etc.

mi porta a pensare che l'utilizzo di qualsiasi tecnologia basata sul Web causerà problemi in quest'area. Qui sono d'accordo con Alex - una scommessa migliore potrebbe essere quella di scrivere un'applicazione nativa. L'utilizzo di Java ti consentirà un'interoperabilità su più piattaforme, ma a costo di non utilizzare elementi dell'interfaccia utente nativi.

    
risposta data 09.12.2011 - 15:43
fonte
1

Ability to integrate with hardware devices like biometric scanners, biometric readers etc.

Questo può essere difficile, e richiede la modalità OutOfBrowser per Silverlight, dovrai usare COM affinché funzioni e questo ti rovinerà i requisiti del browser incrociato. COM funziona solo in Internet Explorer.

IMHO il requisito più difficile per l'applicazione WEB sta lavorando con dispositivi esterni. Solitamente vengono con le librerie C, C ++ per lavorare con loro, e hai bisogno di un modo per intervenire in C, C ++.

Non penso che questi requisiti possano essere soddisfatti da alcuna tecnologia WEB, solo se applet Java, ma non conosco le capacità di interoperabilità delle applet java. In ogni modo penserei a Java, applet o applicazione desktop, a seconda della capacità di lavorare con l'hardware.

    
risposta data 09.12.2011 - 12:29
fonte
0

Se JS non ti riguarda, farei Html5 + JS fino in fondo. Nessun plugin esterno richiesto, il vecchio IE può essere fatto ragionare con Html5 tramite JS e funzionerà anche su dispositivi mobili.

SL come Flash richiede un plug-in, non funziona su dispositivi mobili, ecc.

Se ti piace il pattern MVVM puoi sposare Html5 con Knockout.js, una libreria JS che utilizza il pattern MVVM, l'ho già usato in un paio di progetti ed è sorprendente.

Quindi, per rispondere, tieniti libero da SL o Flash se vuoi qualcosa di compatibile e il più veloce possibile.

    
risposta data 09.12.2011 - 12:23
fonte

Leggi altre domande sui tag