Prima alcune definizioni per mantenere le cose chiare.Controllo WebBrowser come interfaccia utente
utente: una persona dal vivo, utilizzando il software
Cliente: Una società che sta pagando per una versione personalizzata del nostro software per i loro utenti.
Attualmente sono disponibili alcune applicazioni che richiedono modifiche significative nell'interfaccia utente in base al client a cui appartiene l'utente. Al momento disponiamo di una build separata per ogni cliente, ma con l'aumento del numero di clienti, è sempre più difficile gestire tutte le versioni separate.
Il mio obiettivo è passare a un singolo client generico che può essere personalizzato dinamicamente in base a chi effettua l'accesso. Poiché il nostro software richiede comunque una connessione Internet (utilizza ampiamente i servizi Web) stavo pensando di utilizzare solo un controllo WebBrowser in .NET. e permettendogli di interagire (tramite ObjectForScripting) con l'hardware richiesto sul computer.
Quindi l'intera interfaccia utente è scritta in HTML/JavaScript e memorizzata sul server rendendo banale la distribuzione e la manutenzione di nuove interfacce utente. Il client generico è poco più di un browser Web personalizzato che sa come parlare con i nostri dispositivi hardware e può essere detto di farlo tramite javascript.
Vedo molti vantaggi a questo approccio e non troppi svantaggi. Cosa mi manca? Perché non dovrei andare in questa direzione?
Il supporto di più versioni di IE non dovrebbe essere un problema. Non faremo nulla di complicato con l'html/css.La maggior parte delle pagine sarebbe estremamente semplice e farebbe un po 'di più per visualizzare un modulo. Solo una correzione al tuo post, possiamo rilevare se non c'è alcuna connessione di rete e non possiamo visualizzare il controllo WebBrowser o possiamo passargli una stringa/file locale che contiene l'errore html. –
Timothy, fantastico! Felice di sentire il tuo html/css funziona bene con le versioni rilevanti di IE. Tieni presente che le condizioni di errore del browser che generano pagine di errore potrebbero essere più sottili. La connettività potrebbe essere intermittente, il server potrebbe essere inattivo, l'applicazione potrebbe essere inattiva sul server, il server potrebbe restituire errori http 500, il server potrebbe essere temporaneamente fuori tempo a causa del carico, ecc. Di nuovo, non dovrebbe fermarti, basta chiamare il numero –