Как создать собственные приложения C++ с интерфейсом HTML/CSS?


можно ли разработать программу на C++ при использовании HTML и CSS для пользовательского интерфейса? Я знаю о программировании на Javascript с использованием контейнера Webkit, но меня действительно интересует разработка на C++.

Я чувствовал себя влюбленным в C# WPF, когда я разрабатывал под Windows, но теперь я перешел на Linux, и я не нашел хорошего инструмента для использования разметки для интерфейсов. Для этого я хотел бы смешать HTML и CSS, которые очень легкие и простые в использовании, с кодом C++, с чем-то как и WPF.

о, еще одна вещь: я ищу настольную разработку, а не веб.

4 52

4 ответа:

Да, это возможно. То, что вы хотите, это веб-платформа C++. Вы можете начать с просмотра современные - бесплатная высокопроизводительная платформа веб-разработки (не CMS), предназначенная для быстрой разработки веб-приложений.

Edit: после того, как вопрос был прояснен, я думаю Awesomium было бы хорошо подходит для ваших нужд.

вы можете достичь той же функциональности путем встраивания WebKit (или Gecko), но насколько я знаю, что это именно то, что Awesomium делает за кулисами.

альтернатива librocket - пакет промежуточного программного обеспечения интерфейса C++, предназначенный для игровых приложений. Как вы можете догадаться из описания это хорошо подходит для игр или приложений в реальном времени.

Sciter именно это-встраиваемый HTML / CSS движок с C / C++ API. Компактный и многоплатформенный.

и в этой статье.

Sciter имеет то же самое набор функций как WPF но использует HTML / CSS вместо XAML и использует собственный API.

особенности коробки:

  • HTML, CSS, SVG, aPNG (анимированные PNGs), изображения спрайтов,
  • <plaintext> - редактор с подсветкой синтаксиса подсветка,
  • <htmlarea> - WYSIWYG HTML editor,
  • <frame type=pager> - предварительный просмотр и печать HTML / CSS,
  • анимации
  • HTTP-клиент, клиент REST/JSON, WebSocket, DataSockets,
  • etc.

то же приложение с Sciter UI работает на Windows, MacOS и Linux из тех же источников:

enter image description here

отказ от ответственности: я являюсь автором Sciter Engine.

можно использовать Chromium Embedded Framework чтобы встроить содержимое HTML5 в ваше приложение. Вы получите мощь и скорость Chromium и возможность создавать графические приложения так же, как вы разрабатываете веб-приложения.

Я думаю Электрон было бы хорошим дополнением к другим ответам.

Он использует NodeJS для запуска окна Webkit. Сам Electron - это только html/css / js, но вы можете использовать любой модуль узла в своем приложении Electron, включая пользовательский, скомпилированный в собственном коде C++. Возможным модулем для внедрения вашего кода на C++ будет node-gyp.

имейте в виду, однако, что этот рабочий процесс может включать в себя немного больше JS, чем у вас было бы с другим ответы.

мой любимый текстовый редактор, Атом, был сделан с электроном.