RAD 5월 31일에 포스트됨 공유하기 5월 31일에 포스트됨 원문제목: What’s Coming in Delphi and C++Builder Libraries 원문: https://blogs.embarcadero.com/whats-coming-in-delphi-and-cbuilder-libraries/ 작성자: Marco Cantu (2023.5) If you are following what’s happening around RAD Studio, you’ve likely seen our announcement in terms of a renewed C++ language focus, What’s Coming for C++Builder: An Amazing Preview. As a follow-up to our exciting C++Builder updates, we wanted to share some specifics on what we have planned for the other parts of the product, in particular our VCL and FireMonkey UI libraries. RAD스튜디오의 최신 소식들을 지켜보고 있었다면, C++ 언어에 초점을 맞춘 새로운 C++빌더의 발표에 대한 이야기도 확인했을 것이다: C++빌더가 선보일 새로운 기능: 멋진 프리뷰를 확인해보세요! C++빌더 업데이트에 이어, 우리가 계획하고 있는 부분들에 대해서도 이야기해보려고 한다. 특히 VCL과 파이어몽키 UI 라이브러리에 대한 계획을 공유하고자 한다. 파이어몽키의 새로운 기반: Skia RAD Studio’s multi device, cross-platform UI library is based on the concept of abstracting the actual rendering of the UI elements, using styles. Styles are implemented using some primitive graphical objects and elements, mapped by FireMonkey to different graphic drivers, from DirectX to Metal. RAD스튜디오의 멀티 디바이스, 크로스 플랫폼 UI 라이브러리는 스타일을 사용해 UI 요소의 실제 렌더링을 추상화하는 컨셉을 기반으로 구축되어 있다. 스타일은 기본 그래픽 객체와 요소를 사용해 구현되며, 파이어몽키는 여러 그래픽 드라이버(DirectX부터 Metal까지)에 매핑한다. Over recent years, a library has emerged in this space, which offers a higher level of abstraction with more complex primitives while working on top of the same platform native drivers FireMonkey supports. This library is called Skia and it provides incredible power for 2D graphic applications of all kinds, along with a significant performance focus. Skia powers some of the most successful multi device applications today, starting with Google’s Chrome browser. 최근 몇 년간 이 분야에 하나의 라이브러리가 등장했는데, 파이어몽키가 지원하는 플랫폼 네이티브 드라이버를 기반으로 작동하면서도 더 복잡한 기본 요소들을 통해 더 높은 수준의 추상화를 제공하는 라이브러리이다. 일명 Skia라고 불리는 라이브러리가 바로 그것이다. Skia는 모든 종류의 2D 그래픽 애플리케이션에 놀라운 기능과 성능을 제공한다. 현재 가장 성공적인 멀티 디바이스 애플리케이션에서 구동되고 있으며, 구글 크롬 브라우저에서 시작되었다. It is possible to use Skia to power FireMonkey applications today, by using the Skia4Delphi library, which is also available directly in GetIt. What’s coming along in future versions of RAD Studio is a deep and out-of-the-box integration of Skia and Skia4Delphi: By making it part of the product, we’ll offer a smoother experience and we’ll make it a first class citizen in the FireMonkey ecosystem. The advantages will include faster rendering, specifically on Android, but also a number of additional features and components available when using a Skia-based driver. Skia4Delphi 라이브러리를 사용해 Skia를 파이어몽키 애플리케이션에 적용할 수 있다. Skia4Delphi는 겟잇(GetIt)에서 바로 사용 가능하다. 향후 출시될 RAD스튜디오 버전에서는 Skia와 Skia4Delphi의 기본 통합 기능이 보다 심층화되어 제공될 예정이다. 제품에 통합해 더욱 편하게 사용할 수 있게 될 것이며, 파이어몽키 생태계에서 주요한 역할을 하게끔 만들 것이다. 특히 안드로이드의 경우, 렌더링 속도가 빨라질 뿐 아니라 Skia 기반 드라이버를 사용할 경우 활용 가능한 여러 추가 기능과 컴포넌트들을 제공할 것이다. Notice that as part of the Skia support, we don’t just plan to use it as a FireMonkey GPU driver, but plan also including specific UI controls for FireMonkey and even for the VCL library. Skia 지원의 일환으로 FireMonkey GPU 드라이버로만 활용하는 것에만 그치지 않고, 파이어몽키 더 나아가 VCL 라이브러리용 특정 UI 컨트롤을 포함할 계획이다. (SkLabel 컨트롤은 서로 다른 텍스트 속성을 가진 단일 라벨의 여러 부분들을 지원하며, 오브젝트 인스펙터에서 이를 확인할 수 있다.) VCL 현대화: MDI로의 귀환 On a totally different front, we know that a lot of our customers have existing VCL applications they want to keep active and modernize. The VCL library has continuously provided strong support for application modernization, such as HighDPI support, a sophisticated styling architecture, the use of newer versions of the platform controls, the integration of WinRT API, the support of MSIX deployment, and the integration of the WebView2 control (the Chromium-based engine of the Edge browser). 또 다른 부분의 이야기를 하자면, 많은 고객들이 기존 VCL 애플리케이션을 계속해서 활성화하고 현대화하고자 한다는 것은 잘 알고있다. VCL 라이브러리는 HighDPI 지원, 정교한 스타일링 아키텍처, 최신 버전의 플랫폼 컨트롤 사용, WinRT API 통합, MSIX 배포 지원, WebView2 컨트롤(Edge 브라우저의 Chromium 기반 엔진) 통합 등 애플리케이션 현대화에 대한 강력한 지원을 계속 해오고 있다. Over the past several years we have moved away from the support for the MDI model (the Multiple Document Interface). This is a relatively outdated UI paradigm, based on having multiple windows (showing the same type of content or different types) hosted in a container main window. As much as it is old-style, the MDI model can be effective and a lot of our customers have used it for a long time, have trained their users around it, and for these reasons they would rather keep using it. One of the downsides of using the VCL MDI model is that it’s a wrapper around the Windows platform support – and that support has many issues on HighDPI monitors, for example. 지난 몇 년 간, MDI 모델(Multiple Document Interface)에 대한 지원은 이어지지 않고 있었다. 이는 컨테이너 메인 화면에 여러 화면 (동일한 유형의 컨텐츠 또는 다른 유형들을 표시하는)을 호스팅하는 방식의 비교적 오래된 UI 패러다임이다. MDI 모델은 오래된 방식이지만 효과적일 수 있고, 많은 고객들이 오랜 기간 사용해왔다. 그리고 우리 개발자들은 그들의 사용자들이 여기에 익숙해지도록 해왔으며, 그렇기 때문에 여전히 이 모델을 사용하고자 하는 경우가 많다. VCL MDI 모델 사용의 아쉬운 점 중 하나는 윈도우 플랫폼 지원을 래핑한다는 점이다. 발생 가능한 문제 중 하나를 예로 들자면, HighDPI 모니터에서 여러 문제가 발생한다는 것이다. HighDPI에서 완벽한 스타일링을 지원하는 MDI 애플리케이션. (좌) Glow VCL 스타일을 적용한 모습. (우) Aqua Light Slate VCL 스타일을 적용한 모습 After extensive research and engineering review, we have decided it was worth making an attempt to work around all of the main platform issues, and rework the VCL MDI model. While still based on the core platform API, we have worked around and addressed most platform issues. Additionally, we are introducing a new option for hosting MDI forms (or any form in general) in a tab based UI, as you can see below. For any of our customers using the MDI UI, the next release will offer a breath of fresh air – injecting some new life in applications. In particular we have focused on both HighDPI support and VCL styles support, so you can embrace all existing VCL modernization features also for MDI applications. 다각면의 연구와 엔지니어링 검토 끝에, 모든 주요 플랫폼 문제의 해결과 VCL MDI 모델의 재작업은 할만한 가치가 있다고 판단했다. 핵심 플랫폼 API를 기반으로 하고 있기는 하지만, 대부분의 플랫폼에서 발생하는 관련 문제들을 해결했다. 또한 MDI 폼을 탭 기반의 UI에 호스팅하는 새로운 옵션을 도입하고 있다. 아래 이미지를 통해서도 확인할 수 있다. 다음 버전에서는 MDI UI를 사용하는 모든 고객이 애플리케이션에 새로운 활력을 불어넣게 될 것이다. 특히 HighDPI 지원과 VCL 스타일 지원에 중점을 두어 기존의 모든 VCL 현대화 기능을 MDI 애플리케이션에도 적용할 수 있도록 할 것이다. 새로운 탭 기반의 MDI 모델 그리고 더 많은 이야기 There is much more Embarcadero R&D is currently working on, in terms of libraries, IDE, compilers, platform updates and database access. The next release of RAD Studio will be a huge release for C++ developers, but it will be a very significant release also for Delphi developers, with enhancements in all of the product areas. 엠바카데로 R&D팀은 라이브러리, IDE, 컴파일러, 플랫폼 업데이트 및 데이터베이스 액세스 관련 작업을 진행중이다. RAD스튜디오의 다음 출시는 C++ 개발자에게 매우 중요한 버전이 될 것이다. 델파이 개발자들 또한 제품의 모든 영역이 업그레이드되어 매우 놀라운 버전이 될 것이다. Stay tuned for more information in the coming months and early beta access, starting with our customers with an active Premium subscription. 앞으로 몇 달에 걸쳐 더 많은 정보를 확인할 수 있게 될 것이다. 그리고 업데이트 서브스크립션(프리미엄 서비스)을 구독중인 고객들에게는 얼리 베타 서비스도 제공할 예정이다. Disclaimer: All new features and improvements discussed in this blog post for future versions of RAD Studio are not committed until completed, and GA released. 안내: 이 글에 안내된 향후 RAD스튜디오에 대한 모든 새 기능과 개선사항은 완료되어 정식 버전(GA)이 출시될 때까지는 확정된 사항이 아님. 인용하기 이 댓글 링크 다른 사이트에 공유하기 더 많은 공유 선택 사항
Recommended Posts
이 토의에 참여하세요
지금 바로 의견을 남길 수 있습니다. 그리고 나서 가입해도 됩니다. 이미 회원이라면, 지금 로그인하고 본인 계정으로 의견을 남기세요.