Utilizzo di WPF piuttosto che WinRT per l'app per tablet Windows 8 Pro: buona o cattiva idea?

7

La nostra attività sta valutando la possibilità di scrivere una linea di applicazioni aziendali per tablet per consentire ai guerrieri della strada e ai dirigenti di accedere ai nostri dati. Questo verrà utilizzato principalmente per dashboard, report e alcuni input di compilazione: scenario abbastanza tipico.

Le nostre altre app in fase di costruzione .Net (WinForms) con molte DLL di librerie di classi correlate (per livello di accesso ai dati, logica aziendale, ecc.), sembra naturale voler utilizzare Windows 8 per questo.

Sono piuttosto sconvolto da Windows RT perché non implementa l'intero .Net Framework e sembra piuttosto limitante, quindi stiamo considerando i tablet Windows 8 Pro piuttosto che quelli WinRT. Tuttavia, vogliamo un'esperienza di tablet piacevole e gradevole e non penso che WinForms sarebbe fantastico per questo perché non è progettato per il supporto touch.

La mia domanda è WPF essere buono per questo? Vedo che ci sono venditori di UI che vendono kit di comandi touch, ma mi chiedo se l'esperienza di "tocco" in WPF sia equivalente a quella delle app WinRT / Metro trovate?

Probabilmente a questo si potrebbe rispondere giocando con il tablet ma sfortunatamente non ne ho uno al momento e non posso ottenere il budget per comprarne uno fino a quando non ho risolto questo problema.

    
posta Kharlos Dominguez 21.08.2013 - 12:45
fonte

1 risposta

4

Penso che la risposta alla tua domanda si basi sullo scopo, le dimensioni e le specifiche della tua app.

Una specifica "nascosta" che hai (se non ho sbagliato) è che vuoi riutilizzare il più possibile il tuo progetto WinForm o avere più o meno la stessa struttura delle altre app di WinForm. Nei commenti hai affermato che stai attualmente accedendo al DB dall'applicazione utilizzando Entity Framework.

Riutilizzare alcune DLL in WinRT non è possibile, dal momento che alcune classi .NET non sono consentite in WinRT e Entity Framework (che è basato su ADO.NET) non è compatibile. Quindi il livello dati dovrebbe cambiare leggermente.

Se hai scelto questo modo e hai bisogno di rifattorizzare l'accesso al livello dati, la mia raccomandazione, se possibile, è di usare un'API (WebAPI o WCF per esempio) per gestire i Dati, quindi l'app WinRT può concentrarsi sul strato di presentazione per essere veloce e reattivo.

Se quella quantità di lavoro "non è conveniente", penso che l'applicazione WPF sarebbe l'opzione migliore dal momento che questo tipo di app può gestire un lavoro più pesante proprio come WinForms e potresti riutilizzare molti assembly. La struttura dell'app potrebbe essere molto simile, cambiando solo il livello di presentazione e SÌ si potrebbe avere un'esperienza di tocco molto simile a quella delle app WinRT.

A seconda del momento in cui puoi spendere e dal punto di vista del marketing, dovresti prendere una decisione.

A mio parere, un'app WinRT può essere molto vendibile e di fantasia, ma nel tuo scenario potrebbe richiedere troppo tempo se l'infrastruttura retrostante non è pronta per supportarla. Il livello di presentazione dovrà essere comunque rifatto poiché non è possibile riutilizzare molto da WinForms, forse la decisione finale dovrebbe essere presa dopo aver valutato il costo di avere una nuova infrastruttura di dati.

    
risposta data 21.08.2013 - 14:57
fonte

Leggi altre domande sui tag