2013-07-07 1 views
48

사용자 인터페이스에 HTML과 CSS를 사용하면서 C++ 프로그램을 개발할 수 있습니까? Webkit 컨테이너를 사용하여 Javascript로 프로그래밍하는 방법을 알고 있지만 실제로 C++ 개발에 관심이 있습니다.HTML/CSS UI로 기본 C++ 응용 프로그램을 만드는 방법은 무엇입니까?

Windows에서 개발할 때 C# WPF와 사랑에 빠졌지 만 지금은 Linux로 옮겨서 인터페이스 용 마크 업을 사용하기에 좋은 도구를 찾지 못했습니다. 이를 위해, 매우 가볍고 사용하기 쉬운 HTML과 CSS를 WPF와 같은 C++ 코드와 혼합하고 싶습니다.

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

답변

26

예, 가능합니다. 당신이 원하는 것은 C++ 웹 프레임 워크입니다. CppCMS - 빠른 웹 응용 프로그램 개발을 목표로 한 무료 고성능 웹 개발 프레임 워크 (CMS가 아님)를 살펴볼 수 있습니다.

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

WebKit (또는 Gecko)를 포함하여 동일한 기능을 구현할 수 있지만 Awesomium이 장면 내에서 수행하는 것과 정확히 같습니다.

librocket -a 게임 응용 프로그램 용으로 설계된 C++ 인터페이스 미들웨어 패키지. 설명에서 알 수 있듯이 게임이나 실시간 응용 프로그램에 적합합니다.

+2

하지만 실행 파일에 대해 컴파일합니까? 나는 데스크톱이 아닌 웹을 찾고 있습니다. – ranisalt

+4

사용자가 브라우저를 실행하고 http : // localhost /로 이동하여 응용 프로그램의 인터페이스를 사용할 수 있도록 하시겠습니까? 또는 사용자가 실행 파일을 열고 웹 인터페이스를 표시하도록 하시겠습니까? –

+12

@RobertDinu 그는 C++로 데스크탑 애플리케이션을 만들고 HTML/CSS로 사용자 인터페이스를 만들려고한다고 생각합니다. –

19

Sciter은 C/C++ API가 포함 된 HTML/CSS 엔진입니다. 소형 및 멀티 플랫폼.

그리고 this article을 확인하십시오.

Sciter는 feature set as WPF과 동일하지만 XAML 대신 HTML/CSS를 사용하고 원시 API를 사용합니다.

상자의 특징 :

  • HTML, CSS, SVG, APNG (애니메이션 PNG 파일), 이미지 스프라이트,
  • <plaintext> - 구문 강조와 편집기,
  • <htmlarea>
  • - WYSIWYG HTML 편집기,
  • <frame type=pager> - 인쇄 미리보기 및 HTML/CSS 인쇄,
  • 애니메이션,
  • HTTP CLI 천만에, REST/JSON 클라이언트, 웹 소켓의, DataSockets,

Sciter UI가 같은 소스에서 윈도우, 맥 OS와 리눅스에서 실행과 같은 응용 프로그램 :

enter image description here

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

+0

저는 C++의 초보자이지만 초보자를위한 문서가 부족하고 무서운 것을 발견합니다. 설명서는 코드 블록이나 심지어 셸에서 데모를 실행하는 방법부터 시작해야합니다. 귀하의 프로젝트 – repzero

+0

@repzero이 문서를 확인 http://www.codeproject.com/Articles/859098/Sciter-multiplatform-embeddable-HTML-CSS-scripting, 나는 그것이 C++ 초보자에게 적합하다고 생각합니다. –

+1

@repzero 코드 블록의 경우, 해당 IDE에서 {sciter-sdk} /demos/usciter/usciter.cbp를 열고 Release64 타겟을 선택하고 "Build and Run"버튼을 클릭하면 실행중인 앱이 표시됩니다. –

5

Chromium Embedded Framework을 사용하면 앱에 HTML5 콘텐츠를 퍼갈 수 있습니다. 웹 응용 프로그램을 개발하는 것과 같은 방식으로 Chromium의 속도와 속도와 GUI 응용 프로그램을 만들 수 있습니다.

3

나는 Electron이 다른 대답에 대한 좋은 추가 일 것이라고 생각합니다.

NodeJS를 사용하여 Webkit Window를 실행합니다. 전자 자체는 html/css/js 만 가능하지만, 네이티브 컴파일 된 C++ 코드를 포함하여 전자 애플리케이션 내에서 임의의 노드 모듈을 사용할 수 있습니다. C++ 코드를 임베드하는 가능한 모듈은 node-gyp입니다.

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

필자가 좋아하는 텍스트 편집기 인 Atom은 Electron로 만들었습니다.

관련 문제