이 글은 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 22420
공지 [UX Summit 요약] 오른쪽 클릭은 옳다 (Right Click is Right) 관리자 2020.11.16 20943
공지 [10.4 시드니] What's NEW! 신기능 자세히 보기 관리자 2020.05.27 23014
공지 RAD스튜디오(델파이,C++빌더) - 고객 사례 목록 관리자 2018.10.23 28794
공지 [데브기어 컨설팅] 모바일 앱 & 업그레이드 마이그레이션 [1] 관리자 2017.02.06 29998
공지 [전체 목록] 이 달의 기술자료 & 기술레터 관리자 2017.02.06 25347
공지 RAD스튜디오(델파이, C++빌더) - 시작하기 [1] 관리자 2015.06.30 46294
공지 RAD스튜디오(델파이,C++빌더) - 모바일 앱 개발 사례 (2020년 11월 업데이트 됨) 험프리 2014.01.16 182123
1223 2020년 5월 GM 업데이트 - 여러분의 비즈니스에 길을 열어주세요! 관리자 2020.05.26 345
1222 델파이 안드로이드 개발을 위해 OpenJDK 채택 file 김원경 2020.05.25 962
1221 엠바카데로 오픈 소스 프로젝트 관리자 2020.05.25 800
1220 [10.4 시드니 신기능] 겟잇 패키지 매니저(GetIt Package Manager) 개선 험프리 2020.05.21 655
1219 [10.4 시드니 신기능] 컨트롤 개별 VCL 스타일 적용(Per-Control Style) 적용 험프리 2020.05.19 988
» [10.4 시드니 신기능] 새로운 VCL TEdgeBrowser 컴포넌트 험프리 2020.05.18 23173
1217 [10.4] 커스텀 매니지드 레코드(Custom Managed Records) 험프리 2020.05.14 1168
1216 [고객 사례- 솔루션, 델파이] Beyond Compare - 데이터, 시스템 비교/병합/관리 프로그램 관리자 2020.05.14 877
1215 델파이, 25년의 혁신 - 버전 1부터 10.3까지 버전별 핵심 기능 [2] 관리자 2020.05.12 3198
1214 [고객 사례- 솔루션, 델파이] AlignMix - 시각화된 세일즈 관리 도구 관리자 2020.05.12 437
1213 [10.4 시드니 신기능] 다시 태어난 '코드 인사이트' [2] file 험프리 2020.05.08 1798
1212 [발표자료] 20200429 델파이 Push 메시지 전송 시스템 구현 방법 with 구글 Firebase [3] file 관리자 2020.05.04 1119
1211 헬스케어 분야에서의 델파이 - 코로나에 맞서며 file 김원경 2020.04.29 679
1210 [고객 사례- 의료, 델파이] COVID-19 격리 대상자 상태 관리 앱 관리자 2020.04.28 707
1209 이 달의 기술자료 - 2020년 05월 file 험프리 2020.04.24 383
1208 [사례 소개] 데브기어 마이그레이션 유상 컨설팅 사례 험프리 2020.04.22 624
1207 인터베이스와 FireDac에서 배열필드 사용하기 file 김원경 2020.04.16 427
1206 인터베이스, FireDAC 및 TEMSDataSetResource를 사용하여 RAD 서버에서 자동 증가 필드를 생성하는 방법 file 김원경 2020.04.16 457
1205 델파이용 벡터 컨테이너 file 김원경 2020.04.14 808
1204 [프로그래밍 애피타이저] 개발이 처음이거나 비 전공자 분들을 위한 가장 첫 번째 STEP! 관리자 2020.04.13 2616