Элемент управления WebBrowser как пользовательский интерфейс
Сначала несколько определений, чтобы все было понятно.
User: A live person, using the software
Client: A company that is paying for a customized version of our software for their users.
В настоящее время у нас есть несколько приложений, которые потребуют значительных изменений в пользовательском интерфейсе в зависимости от того, к какому клиенту принадлежит пользователь. В настоящее время у нас есть отдельная сборка для каждого клиента, но по мере увеличения числа клиентов становится все труднее управлять всеми этими отдельными выпусками.
Моя цель - переключиться на одного универсального клиента, который можно динамически настраивать в зависимости от того, кто входит в систему. Так как наше программное обеспечение требует подключения к Интернету в любом случае (широко использует веб-сервисы), я подумывал только об использовании элемента управления WebBrowser в .NET и разрешении взаимодействовать (через ObjectForScripting) с необходимым оборудованием на компьютере.
Затем весь пользовательский интерфейс написан на HTML / JavaScript и хранится на сервере, что упрощает распространение и обслуживание новых пользовательских интерфейсов. Общий клиент - это чуть больше, чем пользовательский веб-браузер, который знает, как общаться с нашими аппаратными устройствами, и ему можно сказать сделать это через javascript.
Я вижу много преимуществ этого подхода и не слишком много недостатков. Что мне не хватает? Почему я не должен идти в этом направлении?