Я хочу создать кроссплатформенное приложение, у которого также будет веб-сайт, на котором настольные приложения (Windows, iOS, Linux) будут общаться с сервером и синхронизировать данные пользователей.
Пока что я вижу следующие варианты:
- Написать собственный GUI для каждой из 3 ОС, чтобы у меня было 3 кодовых базы GUI (и одна бэкэнд-система)
- Используйте что-то вроде GTK, чтобы я мог использовать одну систему с поддержкой всех упомянутых платформ.
Но третье, о котором я не смог найти много информации (возможно, я не ищу правильные термины, так как я все еще новичок в C # и .Net), - это иметь встроенное окно со встроенным экземпляром WebKit. , что позволило бы мне использовать ту же систему графического интерфейса, которую я использовал бы для веб-сайта. В результате клиентское приложение и веб-сайт будут выглядеть как можно ближе друг к другу, чтобы пользователи были знакомы с интерфейсом.
Является ли этот последний вариант с WebKit правдоподобным? Я уже хорошо знаю JavaScript / HTML, и если бы я мог использовать эти знания для создания интерфейса, это было бы здорово. Также было бы отличным способом разрешить пользователям настраивать интерфейс с помощью плагинов, и они могли бы синхронизировать любые предпочтения пользовательского интерфейса от локального до веб-интерфейса.
Ответы:
Не могу понять, почему нет, но вы можете просто запустить Chrome в режиме «без окон» или IE в режиме «hta» (мы написали настольное приложение с использованием веб-технологий, развернув его как hta на Windows десять лет назад).
Сегодня я бы сделал что-то без IE / IIS и использовал бы веб-сокеты для большей интерактивности.
Есть компоненты, которые позволяют встраивать webkit в приложения на C #: см. Этот пост в SO (единодушным является использование Webkit.NET )
Вместо этого я бы также использовал компонент QtWebkit , тогда вы напишете одно легкое кроссплатформенное приложение для рабочего стола на основе Qt, которое будет встраивать ваш веб-интерфейс.
источник
Я работал над структурой приложений для таких проектов, как ваш. Он основан на структуре содержания хрома. Это позволяет реализовывать графический интерфейс приложения с помощью html / css / js / svg и т. Д., А логику приложения - на javascript или c #.
Моя цель - иметь возможность разрабатывать полнофункциональные полнофункциональные «толстые» настольные приложения с использованием веб-технологий, которые являются кроссплатформенными и не требуют ничего на стороне сервера.
источник