Scegliere il framework interfaccia utente migliore per una nuova applicazione line-of-business

Completato

Uno dei maggiori clienti della società di consulenza vuole creare un'applicazione line-of-business per il settore sanitario. L'applicazione viene usata per le attività cruciali in un ambiente ospedaliero.

In questo scenario, vengono illustrati i requisiti dell'applicazione per decidere l'opzione migliore per il team di sviluppo tra i framework di Windows.

Creazione dell'applicazione sanitaria

L'applicazione sanitaria è un'applicazione aziendale destinata a essere distribuita a professionisti del settore come medici, infermieri e amministratori negli ospedali. Alcuni dei requisiti chiave per questa applicazione sono:

  • Aspetto e stile dell'applicazione. L'applicazione deve incorporare i componenti di personalizzazione di ogni ospedale, ad esempio il tema del colore e il logo.
  • Compatibilità dei dispositivi. Gli ospedali non hanno sempre l'hardware e il software più recenti, quindi la compatibilità con le versioni precedenti è importante.
  • Le prestazioni dell'applicazione sono cruciali. Gli ospedali sono ambienti soggetti a stress elevato, quindi l'applicazione deve essere reattiva e veloce.

Verranno ora illustrati tutti i criteri decisionali per questo progetto e le possibilità di utilizzo di ogni framework per soddisfare tali requisiti.

Analisi dei criteri decisionali

In questa sezione vengono analizzati i requisiti per l'applicazione sanitaria e viene presentato il framework che può essere usato per soddisfare tali requisiti. Vengono anche esaminati i vantaggi e le limitazioni di ogni framework e il modo in cui possono influire sulla decisione di usarli per questa applicazione line-of-business.

Aspetto e stile dell'applicazione

Il cliente afferma che non è importante che l'applicazione supporti le linee guida più recenti del sistema di progettazione Fluent. Tuttavia, vorrebbe abbinare il tema dell'applicazione agli elementi di personalizzazione di ogni ospedale. Questo stile deve essere configurabile senza ridistribuire una versione personalizzata dell'applicazione. Sia WPF che WinUI possono soddisfare le esigenze di personalizzazione del tema. Questa personalizzazione può essere eseguita anche in Windows Forms, ma è più difficile da implementare e potrebbe richiedere alcune librerie di terze parti. Poiché la progettazione Fluent non è un requisito, il team non è limitato a scegliere WinUI.

Compatibilità dei dispositivi

I clienti in ambito sanitario che usano questa applicazione hanno vari tipi di dispositivo. La maggior parte delle workstation ospedaliere esistenti usa PC desktop Windows 10. Tuttavia, alcuni professionisti accedono all'applicazione su PC tablet che eseguono la versione più recente di Windows. L'applicazione deve essere usata con una tastiera e un mouse, ma dovrebbe funzionare bene anche con l'input tocco. L'applicazione deve anche essere reattiva e veloce su tutti questi dispositivi.

WPF sembra essere la soluzione migliore per questo requisito. WPF consente alle applicazioni di rilevare e rispondere al tocco generando eventi quando gli utenti toccano lo schermo. Include anche il supporto nativo per lo stilo. Le applicazioni WPF possono gestire lo stilo come un mouse usando l'API mouse, ma WPF espone anche un'astrazione del dispositivo stilo che usa un modello simile alla tastiera e al mouse.

Le applicazioni Windows Forms sono più difficili da usare in un dispositivo touch. Possono essere usate con uno stilo, ma non con la semplicità di WPF. WinUI è una buona scelta per i dispositivi touch, ma non è disponibile in tutte le versioni di Windows 10. WinUI è disponibile solo in Windows 11 e Windows 10, versione 1809 e successive. I clienti utilizzano una combinazione sconosciuta di dispositivi Windows 10 e Windows 11, quindi WinUI non è la soluzione migliore per questo requisito.

Set di competenze degli sviluppatori aziendali del team

Il team di sviluppo conosce tutti e tre i framework presi in considerazione per questo progetto. Il team ha esperienza nella creazione di applicazioni con WPF, Windows Forms e WinUI e ha familiarità con le ultime versioni di .NET e C#. Gli sviluppatori hanno familiarità anche con XAML, quindi possono usare la finestra di progettazione o l'editor XAML di Visual Studio per creare l'interfaccia utente dell'applicazione.

Prestazioni e reattività dell’applicazione

Questa applicazione viene usata in ambiente ospedaliero, soggetto a stress elevato, quindi è importante che sia reattiva e veloce.

WPF è una scelta ottimale per questo requisito. Le applicazioni WPF create con .NET Framework non offrono le stesse prestazioni delle applicazioni create con le versioni più recenti di .NET. Tuttavia, le applicazioni WPF create con .NET 8 sono efficienti e reattive. WPF è un'ottima scelta per le applicazioni aziendali con più schermate e requisiti di data binding complessi. WPF include anche un set completo di controlli che possono essere usati per creare l'applicazione.

Scenari e opzioni di distribuzione

Questa applicazione deve essere distribuita tramite un programma di installazione personalizzato. Viene distribuita ai clienti aziendali su PC desktop che eseguono Windows 10 e Windows 11. L'applicazione dovrebbe essere facile da aggiornare con nuove funzionalità e correzioni di bug.

Le applicazioni WPF e Windows Forms possono essere distribuite usando Microsoft Store (con MSIX), ClickOnce, Windows Installer o soluzioni di installazione di terze parti. La distribuzione è possibile in tutte le versioni di Windows attualmente supportate. Le applicazioni WinUI non possono essere distribuite in tutte le versioni di Windows 10. WinUI è disponibile solo in Windows 11 e Windows 10, versione 1809 e successive. Le applicazioni WinUI possono essere distribuite usando Microsoft Store (con MSIX), ClickOnce o soluzioni di installazione di terze parti.

Scelta del framework

WPF è la scelta migliore per questo progetto. WPF è un'ottima scelta per le applicazioni aziendali complesse con più schermate e requisiti di data binding elaborati. WPF include anche un set completo di controlli che possono essere usati per creare l'applicazione. Supporta anche i requisiti di prestazioni e distribuzione.