이 글은 Marco Cantu가 작성한 엠바카데로 블로그 글을 번역(및 일부의역)한 것입니다


 

 

RAD 스튜디오 10.4 VCL 애플리케이션에 새로운 Chromium 기반 Edge 브라우저 컨트롤을 통해 웹 컨텐츠 작업을 지원합니다. 새로운 TEdgeBrowser 컴포넌트는 Microsoft WebView2 컴포넌트를 래핑(wraps)한 것입니다. TEdgeBrowser는 기존의 TWebBrowser(IE:Internet Explorer 기반 웹브라우저 컨트롤)를 대체합니다. 하지만, TWebBrowser는 여전히 VCL 컴포넌트 셋에 남겨지며 몇가지 주목할만한 변경사항이 있습니다.(아래 “TWebBrowser는 어떻게 될까?" 항목 참조)

TEdgeBrowser 요구사항

TWebBrowser는 윈도우즈 OS가 제공하는 Internet Explorer WebBrowser 컨트롤을 사용하기 위해 특별한 사전환경의 준비는 필요하지 않습니다. 윈도우즈에서 Internet Explorer 컨트롤을 사용할 수 있는 환경이라면 항상 작동합니다. 하지만, Microsoft Edge는 (현 시점에서는)운영체제의 컴포넌트가 아닙니다. 그리고 아직 정식으로 출시되지 않았습니다. 따라서 그것을 사용하는 애플리케이션을 실행하기 전에 이러한 항목이 PC에 설치되어 있는지 확인해야 합니다.

당분간 1) Edge Canary는 개발용 PC와 최종 사용자 PC 모두에서 애플리케이션 컴파일 및 실행을 위해 필요한 요구사항입니다. 2) WebView2의 경우, 프로그램과 함께 DLL을 배포해야합니다.
두 가지 모두 Microsoft 요구사항 및 바이너리이며 공식 출시와 함께 변경될 수 있습니다.

필요한 Microsoft WebView2 패키지 설치를 위해 Edge(Canary 버전)를 설치하고, RAD 스튜디오 10.4 IDE에서 겟잇 패키지 매니저 창을 열고(Tools > Getit Package Manager…) 아래와 같은(488) 항목으로 검색합니다.

패키지 설치하면 애플리케이션에 필요한 DLL(WebView2Loader.dll)이 32비트 및 64비트 용으로 RAD 스튜디오 설치경로 하위의 Redist 폴더에 생성됩니다. 이 DLL을 빌드 대상 폴더 또는 검색경로 중 한곳(System32 폴더 등)에 배포합니다.

Edge 브라우저 컴포넌트 사용

TEdgeBrowser 컴포넌트의 사용법은 TWebBrowser와 거의 동일합니다. 실제 일부 메소드와 속성은 TWebBrowser와 유사합니다. 아래와 같이 컴포넌트를 VCL 폼에 올리고 적당히 크기를 조정합니다.

특정 URL을 표시하려면, URL을 Navigate 메소드에 전달합니다.

   EdgeBrowser1.Navigate('https://www.embarcadero.com');

이상입니다. 애플리케이션을 실행하면 다음과 같이 표시됩니다.

TWebBrowser는 어떻게 될까?

VCL TWebBrowser 컴포넌트는 지금까지와 같은 역할을 합니다. 즉, Internet Explorer WebBrowser 브라우저 컨트롤을 사용해 웹 컨텐츠를 렌더링하는 기능을 제공합니다. 그러나 기존의 기능외에도 SelectedEngine 속성이 추가되었습니다. 이 속성을 이용하면 기존의 IE 기반의 브라우저 컨트롤 외에도 대상 컴퓨터에 Edge(Chromium) WebView2 브라우저 컨트롤을 사용할 수 있는 경우 이를 사용하도록 설정할 수 있습니다.

이 혜택은 모든 윈도우즈 PC에서 동작하는 단일 브라우저 컨트롤을 제공하는 동시에 기존 코드와(브라우저 컴포넌트에서 사용하고 있는 메소드와 속성에 관한) 높은 호환성을 유지할 수 있습니다. 새로운 Edge 컨트롤의 장점은 새로운 엔진을 커스터마이징 할 수 있는 강력한 파워를 갖고 있다는 것입니다.

결론

RAD 스튜디오 10.4에서 TEdgeBrowser 컴포넌트를 제공하게되어 매우 기분 좋습니다. 이것이 새로운 VCL 컨트롤의 전부는 아닙니다. 우리는 10.4 윈도우즈 컴포넌트 라이브러리에 많은 노력을 기울여 왔으며 결과에 만족합니다. 10.4의 기타 VCL 기능에 대해서는 곧 자세한 내용을 공개하도록 하겠습니다.

10.4 무료 평가판으로 지금 경험해보세요!   [전체보기] 10.4 새기능들!

 

번호 제목 글쓴이 날짜 조회 수
공지 [DelphiCon 요약] 코드사이트 로깅 실전 활용 기법 (Real-world CodeSite Logging Techniques) 관리자 2021.01.19 23900
공지 [UX Summit 요약] 오른쪽 클릭은 옳다 (Right Click is Right) 관리자 2020.11.16 22208
공지 [10.4 시드니] What's NEW! 신기능 자세히 보기 관리자 2020.05.27 24241
공지 RAD스튜디오(델파이,C++빌더) - 고객 사례 목록 관리자 2018.10.23 30127
공지 [데브기어 컨설팅] 모바일 앱 & 업그레이드 마이그레이션 [1] 관리자 2017.02.06 31231
공지 [전체 목록] 이 달의 기술자료 & 기술레터 관리자 2017.02.06 26593
공지 RAD스튜디오(델파이, C++빌더) - 시작하기 [1] 관리자 2015.06.30 47578
공지 RAD스튜디오(델파이,C++빌더) - 모바일 앱 개발 사례 (2020년 11월 업데이트 됨) 험프리 2014.01.16 184451
11 [10.4 시드니 신기능] iOS와 맥OS 지원 강화 관리자 2020.06.04 737
10 [10.4 시드니 신기능] 고해상도 DPI용 VCL 콘트롤(들) 관리자 2020.06.04 570
9 [10.4 시드니 신기능] 개발환경 강화 관리자 2020.06.04 510
8 [10.4 시드니 신기능] 언어 서버 프로토콜 (LSP, Language Server Protocol) 관리자 2020.06.04 811
7 [10.4 시드니 신기능] Sarina Dupont이 정리한 주요 신기능 모아 보기 험프리 2020.05.28 4398
6 [10.4 시드니 신기능] Win64 C++용 새로운 디버거 험프리 2020.05.26 681
5 [10.4 시드니 신기능] 겟잇 패키지 매니저(GetIt Package Manager) 개선 험프리 2020.05.21 686
4 [10.4 시드니 신기능] 컨트롤 개별 VCL 스타일 적용(Per-Control Style) 적용 험프리 2020.05.19 1008
» [10.4 시드니 신기능] 새로운 VCL TEdgeBrowser 컴포넌트 험프리 2020.05.18 23233
2 [10.4] 커스텀 매니지드 레코드(Custom Managed Records) 험프리 2020.05.14 1194
1 [10.4 시드니 신기능] 다시 태어난 '코드 인사이트' [2] file 험프리 2020.05.08 1834