한국어
Qt
 

Servo는 WebGL 및 WebGPU를 지원하고 데스크탑, 모바일 및 임베디드 애플리케이션에 적용할 수 있는 Rust로 작성된 웹 렌더링 엔진이다.
Rust 생태계는 Servo라는 새로운 웹 렌더링 엔진을 개발해 왔다. 2012년 Mozilla가 처음 만든 Servo는 현재 Linux Foundation의 관리 하에 개발되고 있다.

Servo는 웹 엔진이 다른 애플리케이션 내에 훌륭하게 내장될 수 있도록 계속해서 발전하고 있다. 예를 들어 KDAB는 Qt 소프트웨어에 Servo를 내장하는 작업을 진행해 왔다. KDAB에서 개발하는 CXX-Qt 라이브러리가 Rust와 C++ 사이의 브리지로 사용하여 Qt에 Servo 웹 엔진을 내장할 수 있게 해준다.

servo-acid2-202404.png

이는 이제 Qt 애플리케이션의 웹뷰용 Chromium 대신 Servo를 사용할 수 있음을 의미한다.

QML 관점에서 볼 때 이 구성 요소는 canGoBack, canGoForward, loading, title, url 등의 속성 및 goBack, goForward 메서드를 제공하는 등 Chromium 기반 WebView와 유사하다. QML 아이템 자체는 크기에 맞게 렌더링되는 콘텐츠와 동일한 방식으로 작동한다.

import QtQuick
import QtQuick.Window
 
import com.kdab.servo
 
Window {
  height: 720
  width: 1280
  title: webView.title
  visible: true
 
  ServoWebView {
    id: webView
    anchors.fill: parent
    url: "https://servo.org/"
  }
}

 

CXX-Qt를 사용하여 Rust에서 Qt properties, invokables 및 event handlers(예: 터치 이벤트)를 정의하고 Servo 엔진에서 이벤트를 트리거할 수 있다. 그런 다음 Servo의 모든 업데이트 요청은 Qt 이벤트 루프를 통해 Qt 측 업데이트를 트리거할 수 있다.

CXX-Qt를 사용하여 Rust의 Servo를 Qt의 구성 요소로 표시하는 데모 github 저장소

번호 제목 글쓴이 날짜 조회 수
공지 Qt프로그래밍(QtQuick) Beginner를 위한 글 읽는 순서 운영자 2019.01.05 86055
» Qt 응용프로그램에 Web 구성 요소를 표시 with Servo file makersweb 2024.04.27 124
49 Qt 하이브리드 애플리케이션(Hybrid App) 개발 file makersweb 2023.02.08 1014
48 Widgets(C++) 기반의 기본 스타일을 Dark 테마 및 Material 디자인 스타일로 바꾸기 file makersweb 2023.01.28 1290
47 Qt Property(속성) 시스템 makersweb 2023.01.08 1848
46 VTK 를 사용해서 강력한 시각화(3D, Plotting, Chart)Qt 응용프로그램 개발하기 file makersweb 2022.10.16 1650
45 QProcess 보안 권고 리뷰 file makersweb 2022.09.18 600
44 clazy 로 13개의 시그널, 슬롯 오류 해결 makersweb 2022.08.23 576
43 단일 인스턴스 Qt 응용 프로그램(Single-instance Application) makersweb 2022.06.23 706
42 VirtualKeyboard 스타일 커스터 마이징 makersweb 2022.03.13 463
41 Qt 응용프로그램에서 PDF 문서 렌더링 file makersweb 2021.09.23 677
40 Qt 를 사용하거나 기반으로 하는 응용프로그램 file makersweb 2021.01.30 3833
39 UI 폼(Form)작성 시 탭 순서(Tab Order) 설정 file makersweb 2020.08.24 2799
38 Qt기반의 서버와 클라이언트간 SOAP(Simple Object Access Protocol) file makersweb 2020.05.11 974
37 콘솔에서 사용자 입력받기 file makersweb 2020.03.22 51851
36 QOpenGLWidget 을 투명하게 적용 file makersweb 2020.02.05 1041
35 2020년에 변경되는 Qt 오퍼 (Qt offering changes 2020) [2] j2doll 2020.01.31 721
34 Qt 멀티 스레드 프로그래밍 시 유의해야 할 몇 가지 makersweb 2020.01.13 4882
33 Qt의 오픈소스 라이센스 소개 file makersweb 2019.12.15 12597
32 Qt Marketplace 발표 makersweb 2019.12.02 617
31 QOpenVirtualkeyboard(Qt 5용 한글 및 영문, 숫자 가상키보드) file makersweb 2019.11.27 2248