Program Tip

HTML / CSS UI로 네이티브 C ++ 앱을 빌드하는 방법은 무엇입니까?

programtip 2020. 11. 5. 18:55
반응형

HTML / CSS UI로 네이티브 C ++ 앱을 빌드하는 방법은 무엇입니까?


사용자 인터페이스에 HTML과 CSS를 사용하면서 C ++ 프로그램을 개발할 수 있습니까? Webkit 컨테이너를 사용하여 Javascript로 프로그래밍하는 것에 대해 알고 있지만 C ++ 개발에 정말 관심이 있습니다.

Windows에서 개발할 때 C # WPF가 마음에 들었지만 이제는 Linux로 옮겨 인터페이스에 대한 마크 업을 사용하는 데 좋은 도구를 찾지 못했습니다. 이를 위해 매우 가볍고 사용하기 쉬운 HTML과 CSS를 C ++ 코드와 WPF와 같은 코드와 함께 사용하고 싶습니다.

아, 한 가지 더 : 저는 웹이 아닌 데스크톱 개발을 찾고 있습니다.


예, 가능합니다. 원하는 것은 C ++ 웹 프레임 워크입니다. 빠른 웹 애플리케이션 개발을 목표로하는 무료 고성능 웹 개발 프레임 워크 (CMS가 아님) 인 CppCMS 부터 살펴볼있습니다.

편집 : 질문이 명확 해지면 Awesomium 이 귀하의 요구에 적합 하다고 생각 합니다.

WebKit (또는 Gecko)를 임베딩하여 동일한 기능을 얻을 수 있지만 내가 아는 한 Awesomium이이면에서하는 일입니다.

대안은 게임 애플리케이션 용으로 설계된 C ++ 인터페이스 미들웨어 패키지 인 librocket 입니다. 설명에서 짐작할 수 있듯이 게임이나 실시간 응용 프로그램에 적합합니다.


Sciter 는 C / C ++ API가 포함 된 임베드 가능한 HTML / CSS 엔진입니다. 소형 및 다중 플랫폼.

그리고이 기사를 확인 하십시오 .

Sciter는 WPF 와 동일한 기능 세트를 가지고 있지만 XAML 대신 HTML / CSS를 사용하고 네이티브 API를 사용합니다.

즉시 사용 가능한 기능 :

  • HTML, CSS, SVG, aPNG (애니메이션 PNG), 이미지 스프라이트,
  • <plaintext> -구문 강조 기능이있는 편집기,
  • <htmlarea> -WYSIWYG HTML 편집기,
  • <frame type=pager> -인쇄 미리보기 및 HTML / CSS 인쇄,
  • 애니메이션,
  • HTTP 클라이언트, REST / JSON 클라이언트, WebSocket 's, DataSockets,
  • 기타

동일한 소스의 Windows, MacOS 및 Linux에서 실행되는 Sciter UI가있는 동일한 애플리케이션 :

여기에 이미지 설명 입력

면책 조항 : 저는 Sciter Engine의 저자입니다.


Chromium Embedded Framework사용 하여 앱에 HTML5 콘텐츠를 포함 할 수 있습니다. Chromium의 힘과 속도, 웹 응용 프로그램을 개발하는 것과 같은 방식으로 GUI 응용 프로그램을 빌드 할 수있는 능력을 얻게됩니다.


Electron 이 다른 답변에 좋은 추가가 될 것이라고 생각 합니다.

NodeJS를 사용하여 Webkit 창을 실행합니다. Electron 자체는 html / css / js 일 뿐이지 만 Electron 앱 내에서 고유하게 컴파일 된 사용자 지정 C ++ 코드를 포함하여 모든 노드 모듈을 사용할 수 있습니다. C ++ 코드를 포함 할 수있는 모듈은 node-gyp입니다.

그러나이 워크 플로에는 다른 답변보다 약간 더 많은 JS가 포함될 수 있습니다.

내가 가장 좋아하는 텍스트 편집기 인 Atom 은 Electron으로 제작되었습니다.


2019 년 부터는
C ++에서 사용할 수있는 오픈 소스가 아닌 Ultralight HTML UI 엔진을 확인하는 것이 좋습니다 . OpenGL 및 DirectX 렌더링이 지원됩니다.

Ultralight는 C ++ 앱에 HTML UI를 통합하는 더 가볍고 빠른 옵션입니다.

불행히도 Awesomium을 삭제하기로 결정한 Awesomium의 제작자가 만들었습니다. 이것이 우리가 지금 얻은 것입니다.

가볍기보다 더 무거운 것을 필요로한다면 CEF를 살펴 보는 것이 좋습니다 . 매우 강력한 (그리고 오픈 소스) 도구입니다.


WT 또는 CppCMS사용 하여 C ++를 HTML 및 CSS로 파싱 한 다음 Chromium사용 하여 프로젝트를 네이티브 앱으로 변환 할 수 있습니다. 그러나 내가 당신이라면 클라우드 기반 앱이 점점 인기를 얻고 있기 때문에 웹 앱으로 유지하겠습니다.

참고 URL : https://stackoverflow.com/questions/17517249/how-to-build-native-c-apps-with-html-css-ui

반응형