D'abord quelques définitions pour garder les choses claires.Contrôle WebBrowser en tant qu'interface utilisateur
Utilisateur: Une personne en direct, en utilisant le logiciel
Client: Une entreprise qui paie pour une version personnalisée de notre logiciel pour leurs utilisateurs.
Nous avons actuellement quelques applications qui nécessiteront des changements significatifs dans l'interface utilisateur en fonction du client auquel l'utilisateur appartient. Nous avons actuellement une version distincte pour chaque client, mais à mesure que le nombre de clients augmente, il est de plus en plus difficile de gérer toutes ces versions distinctes. Mon objectif est de passer à un seul client générique qui peut être personnalisé dynamiquement en fonction de qui se connecte. Puisque notre logiciel nécessite une connexion internet (utilise beaucoup les services web), je pensais juste utiliser un contrôle WebBrowser dans .NET et lui permettant d'interagir (via ObjectForScripting) avec le matériel requis sur l'ordinateur.
Ensuite, toute l'interface utilisateur est écrite en HTML/JavaScript et stockée sur le serveur, ce qui rend la distribution et la maintenance des nouvelles interfaces utilisateur triviales. Le client générique est un peu plus qu'un navigateur Web personnalisé qui sait comment parler à nos périphériques matériels et peut être dit de le faire par javascript.
Je vois beaucoup d'avantages à cette approche et pas trop d'inconvénients. Qu'est-ce que je rate? Pourquoi ne devrais-je pas aller dans cette direction?
La prise en charge de plusieurs versions d'IE ne devrait pas poser de problème. Nous ne ferons rien de très compliqué avec le html/css.La plupart des pages seraient extrêmement simples et faire un peu plus puis afficher un formulaire. Juste une correction à votre poste, nous pouvons détecter s'il n'y a pas de connexion réseau et nous ne pouvons pas afficher le contrôle WebBrowser ou nous pouvons lui passer un fichier chaîne/local qui contient l'erreur html. –
Timothy, génial! Heureux d'entendre votre html/css fonctionne bien avec les versions pertinentes de IE. Notez que les conditions d'échec du navigateur qui entraînent des pages d'erreur peuvent être plus subtiles. La connectivité peut être intermittente, le serveur est peut-être en panne, l'application peut être en panne sur le serveur, le serveur peut renvoyer des erreurs HTTP 500, le serveur peut se déconnecter sporadiquement suite à une charge, etc. J'appelle à nouveau le problème –