RAD스튜디오 2020 로드맵 – 자세한 내용을 확인해보세요! (PM들의 코멘터리)
- 2020-11-19
- Posted by: Narae Kim
- Categories: Uncategorized, 기술자료
엠바카데로 RAD스튜디오 제품 관리팀은 정기적으로 델파이, C++빌더, RAD스튜디오 로드맵을 업데이트하고 있습니다. 공식 로드맵 안내에서 확인할 수 있듯, 향후 12개월 동안 계획되어 있는 주요 기능들을 정리해놓았습니다.
다음 글은 엠바카데로의 제품 라인 매니저들(마르코 칸투, 데이비드, 사리나)이 정리한 새로운 버전에 대한 이야기입니다. 로드맵에 소개된 내용들을 보다 상세히 전문가들의 입장에서 살펴볼 수 있습니다.
최신 RAD스튜디오가 궁금하신가요? 무료 평가판으로 시작해보세요! 또는 업그레이드 마이그레이션 자료들을 참고해보세요.
올해 초 선보인 10.4 시드니 버전에 대한 개발자들의 평가는 대단히 좋았습니다. LSP(언어 서버 프로토콜) 아키텍처를 기반으로 한 델파이 코드 인사이트 엔진의 탈바꿈과 많은 요청 사항도 처리할 수 있는 새로운 C++ Win64 디버거, 커스텀 매니지드 레코드를 포함한 새로운 델파이 언어 기능들까지. 또한 HighDPI 모니터와 컨트롤 개별 스타일 적용 등 VCL 스타일 활용 측면도 대폭 확장하였습니다.
그리고 9월 10.4.1 업데이트가 출시되면서 품질 측면에서 많은 부분이 업그레이드되었습니다. 특히 새롭게 추가된 델파이 LSP 지원이 특징적이었습니다. 10.4.1 버전에서는 엠바카데로에 공개 보고된 이슈 500개 이상의 품질 개선 내용을 포함한 총 800개 이상의 개선된 기능들이 제공되었습니다.
10.4와 10.4.1은 이미 드러난 숫자들 만으로도 개발자들의 관심도를 확인할 수 있습니다. 평가판 다운로드 숫자는 10.2 도쿄와 10.3 리오 버전 대비해서 훨씬 많았고, 실제로 근래 출시된 버전들 중에서 인기가 굉장히 높은 버전입니다. 이 점은 특히 코로나-19 상황에서 더욱 인상적입니다.
현재 엠바카데로 팀은 10.4.2 출시에 총력을 기울이고 있습니다. 2021년 가장 첫 부분은 10.4.2 출시가 장식하게 될 것으로 기대됩니다. 업데이트 서브스크립션 계약중인 고객이라면 출시에 앞서 조만간 오픈될 베타 테스터에 우선 참여할 권한이 제공될 것입니다.
10.5 버전은 델파이에 새로운 타겟 플랫폼이 추가됩니다. 맥OS ARM (Apple Silicon CPU 기반), IDE HighDPI 지원, C++ 툴체인 확장, 새롭게 선보일 기능들과 퀄리티 향상까지. 더 자세한 내용은 아래에서 다루도록 하겠습니다.
RAD스튜디오 로드맵 타임라인
대략적인 계획 타임라인은 아래 그림을 참고해주세요.
데이비드 (엠바카데로 C++ 제품 매니저)가 전하는 10.4.2 플랜
델파이 코드 인사이트
앞서 언급되었듯이 10.4.1에서 집중했던 부분은 ‘품질’이었습니다. 이는 10.4.2에서도 계속될 것입니다. 그 중 중요한 부분 중 하나는 바로 새로운 델파이 코드 인사이트 (aka. 델파이 LSP)입니다. 10.4.2에서는 초기 버전에는 포함되지 않았던 기능들이 새롭게 추가됩니다. 특히 코드 완성 시점에 새로운 기능이나 상당히 개선된 기능들이 추가될 예정입니다. 살짝 공개하자면 ‘inherited’를 ctrl-클릭으로 추가하고, ‘uses’ 절에서 재작업 완성 기능 등이 추가될 예정입니다.
C++코드 인사이트
C++은 두 가지에 초점을 두고 있습니다.
C++ 개발자분들이 가장 관심있어 하는 부분은 Clang 컴파일러를 사용할 때 C++ 코드 완성 기능이라는 걸 잘 알고 있습니다. 이 부분은 전면 개편될 것입니다. 10.3 리오 버전에서는 C++17로 업그레이드 했을 때, IDE가 사용하는 코드 완성 기술 자체를 변경해야만 했습니다. 특정 코드 패턴이나 프로젝트 설정이 문제를 일으킬 수 있는 부분에 대해 여러 사례들을 통해 파악하면서, 코드 완성 기능 개선에 집중하고 있습니다.
10.4.2 버전에서는 여러분이 원하시는 코드 완성 기능을 제공하기 위해 전면적으로 재점검을 하고 있습니다. 이제 C++ 개발자분들도 코드 완성은 물론 네비게이션 기능까지 안정적으로 사용하실 수 있습니다.
헤더 파일 재점검 (.cpp 파일보다 더 다루기 어려운 부분들)과 같은 복잡한 부분들까지 다루고 있습니다. 업데이트 서브스크립션 고객분들이라면, 베타 테스터를 통해 더 빠르게 테스트해보고 저희에게 더 많은 케이스와 의견들을 보내주세요. 많은 도움이 됩니다!
C++ 예외 처리
10.4.2 에서 C++에 집중하는 또 다른 한 부분은 예외 처리입니다.
예외 처리는 컴파일러와 RTL 간의 긴밀한 상호작용이 필요한 복잡한 영역입니다. 예외에 대한 일반적인 규약이 있는데, 예를 들어 DLL에서 호출되더라도 EXE 에서 처리되는 예외를 절대 허용해서는 안 되는 경우가 있습니다. 이 규약이 항상 지켜지는 것은 아니지만 경우에 따라 적용될 수 있습니다. C++에서 C++ 예외, OS 예외, SEH 처리 기능이 필요합니다. 물론 델파이의 예외 처리에 대해서도 잊으면 안 되겠죠!
10.4.2에서 예외 처리 기능이 정비될 것입니다. 이에 대한 더욱 자세한 내용은 조만간 다른 기술자료를 통해 안내해드리겠습니다. 분명한 건, 정말 놀라운 발전을 보여드리게 될 것이라는 것이죠!
IDE (통합 개발 환경)
IDE는 두 언어 모두에 대한 코드 완성 외에도 중점을 두고 있는 계획이 있습니다.
10.3 리오 버전에서 Light / Dark 테마를 선보였습니다 (10.2.3에서 처음 도입되었지만, 더욱 업그레이드되었죠! 실제로 많은 개발자분들이 정말 좋아해주신 기능입니다). Light 테마는 옅은 파란색 중심으로 되어 있습니다. 새롭게 선보일 Light 테마에 새로운 스타일이 추가됩니다. 바로 전통적인 그레이 스타일입니다. 2010-XE7 스타일의 IDE를 좋아하시는 분들도 많았습니다. 요새 뉴트로가 유행이죠. 클래식 IDE로 다시 돌아가보세요!
이 외에도 데스크탑 레이아웃, 다중 모니터 레이아웃, 폼 디자인 등에 대해서도 품질 향상을 계획하고 있습니다. 폼을 열어서 코드를 작성함과 동시에 폼 디자이너에서 폼을 설계할 수 있는 기능도 선보일 예정입니다.
마지막으로, 마이그레이션 도구 설정이 개선됩니다. 버전을 옮겨가는 경우에도 (예. 10.3에서 10.4.2로), 구성 사항들이 변경되지 않도록 설정할 수 있습니다. 구체적인 사전 구성 설정 기능이 추가될 예정이며, 레지스트리 설정말고도 구성 파일도 포함할 수 있도록 계획 중입니다.
마르코 칸투가 전하는 10.4.2 플랜
10.4.2에서 중점을 두고 있는 두 가지가 있습니다.
하나는 윈도우에 집중하는 것입니다. 마이크로소프트 운영체제에 대한 부분인데, 프로젝트 리유니온(Project Reunion)을 통해 기존 Win API와 WinRT API를 통합하는 마이크로소프트 방향성에 발맞추어 진행하고 있습니다. 프로젝트 리유니온(https://github.com/microsoft/ProjectReunion)은 다양한 기술들을 다루는데, 대표적으로 WinUI 3, WebView2, MSIX가 있습니다. WebView2 컨트롤은 엣지 크롬(Edge Chromium)이 내장되어 있는 새로운 윈도우 플랫폼입니다. RAD스튜디오는 10.4 시드니 버전에서 TEdgeBrowser VCL 컴포넌트를 통해 이 기능을 지원하기 시작했습니다.
그리고 MSIX 패키지 포맷을 지원 계획이 있습니다. MSIX는 RAD스튜디오 IDE 데스크탑 브릿지(Bridge)를 통합 지원하면서 제공하고 있는 APPX의 후속 기능으로, 마이크로소프트 스토어와 기업 배포용으로 활용할 수 있는 특징적인 기술입니다.
윈도우 플랫폼 지원과 VCL 애플리케이션 지원 측면에서 특히 크게 향상되는 부분은 새로운 두 가지 컨트롤이 추가된다는 점입니다. 새로운 VCL 네이티브 윈도우 컨트롤로, 현대화된 UI/UX를 제공할 수 있습니다:
- 하나는 고도로 최적화된 가상 리스트 뷰로, 많은 수의 항목들을 텍스트와 그래픽으로 보여주는 기능입니다. 기존 DBCtrlGrid 컨트롤 접근 방식을 기반으로 하고 있지만, 데이터 소스가 필요하지 않는 매우 유연한 방식입니다. 라이브 바인딩도 사용할 수 있습니다.
- 또 다른 새로운 VCL 컴포넌트는 숫자 입력 컨트롤로, WinUI NumberBox 플랫폼 컨트롤과 흡사한 것입니다. 숫자 입력 방식이 더욱 쉽고 유연해집니다. 다양한 형식들(정수-integer, 부동 소수점-floating point numbers, 통화-currency values 등)을 표현할 수 있고, 간단한 표현식도 활용할 수 있습니다.
10.4.2에서 선보일 두 번째 특징적인 부분은 타겟 플랫폼 지원입니다. RAD스튜디오 10.4.1 출시 이후 애플과 구글이 출시한 새로운 OS 버전들과의 완벽한 호환성이 제공됩니다. 현재 목표는 다음의 OS들을 완벽 지원하는 것입니다.
- iOS 14, iPadOS 14 (델파이, C++)
- 맥OS 11.0 Big Sur (Intel) (델파이)
- 안드로이드 11 (델파이)
품질은 10.4.2 (10.4.1에서도 그러하였듯) 버전에서도 더욱 좋아질 것입니다. 안정성, 성능, 품질 이 세 가지를 중점적으로 보고 있습니다. 개발자분들이 리포트해주고 계시는 다양한 이슈들을 파악하고 있으며, 이를 해결하기 위해 집중하고 있습니다. 앞서 데이비드가 설명한 도구, 라이브러리들 외에도 다음 내용들이 계획되어 있습니다:
- 델파이 컴파일러(모든 플랫폼용)의 견고함과 역호환성이 더욱 좋아집니다. 컴파일러(및 링커) 성능에 초점을 맞추어 대규모 프로젝트의 컴파일 시간은 줄어들고, LSP 엔진(소스 코드 분석을 위해 컴파일러가 활용하는 기능) 속도는 더욱 빨라질 것입니다.
- SOAP 서버와의 인터페이스를 위해 사용되는 클라이언트 코드를 생성하는 WSDL 임포트 도구와 SOAP 클라이언트가 더욱 좋아집니다.
- 병렬 프로그래밍 라이브러리(PPL)이 다양한 플랫폼과 다중 코어 CPU 쓰레드에 대한 추상화 지원이 더욱 좋아집니다.
- RAD스튜디오의 멀티 티어 웹 서비스 솔루션인 RAD서버와 오래된 데이터스냅(DataSnap) 엔진이 더욱 좋아집니다. HTTP와 REST클라이언트 라이브러리도 전반적으로 개선됩니다. Azure와 AWS 클라우드 지원에 대해서도 계속해서 주력할 것입니다.
- VCL 스타일과 HighDPI 스타일 모두 기능 추가가 있을 것입니다.
- 파이어몽키 라이브러리는 10.4 버전에서 소개된 Metal GPU 라이브러리 드라이버와 TMemo 컴포넌트가 플랫폼, 스타일 모든 측면에서 더욱 좋아져 다양한 안드로이드 기기들에서 활용할 수 있게 될 것입니다. 안드로이드 센서 관리 부분을 재작업하여 훨씬 더 좋아질 것입니다.
RAD스튜디오 10.5
데이비드 (엠바카데로 C++ 제품 매니저)가 전하는 10.5 플랜
UX (사용자 경험)
10.5 에서는 많은 분들이 기대하고 있는 새로운 기능들을 대거 선보일 예정입니다.
우선 IDE에서는 DPI 지원을 최대한으로 높게 지원할 것입니다. VCL은 현재도 높은 DPI를 지원해오고 있고, 앞으로의 버전업을 통해 더욱 좋아질 것입니다. 여기에 집중하는 이유는 해상도가 그만큼 중요해졌기 때문입니다. 해상도와 스케일이 다른 두 모니터에서 어떻게 화면을 움직이더라도 완벽한 렌더링을 지원할 수 있습니다.
VCL 폼 디자이너는 앱을 개발할 때 사용하는 핵심 도구 중 하나입니다. UI 구축의 핵심은 앱을 실행했을 때 UI가 어떻게 보이는지 빠르게 파악하는 것입니다. 텍스트로만 설명하고 피드백을 반복적으로 주고받는 방식은 너무 번거롭고 시간도 지체됩니다. 10.5 에서는 VCL 스타일 지원을 추가해 실행 시 앱이 어떻게 표시되는지 미리 확인할 수 있는 기능을 더욱 확장할 예정입니다. 컨트롤이 어떻게 표현되는지를 바로 확인할 수 있게됩니다.
FMX 폼 디자이너는 위의 VCL 폼 디자이너와 마찬가지로, 크로스-플랫폼 앱을 개발할 때 핵심적인 도구입니다. VCL 디자이너가 제공하는 기능들이 FMX 디자이너에도 추가될 것입니다.
IDE 소스 컨트롤 통합을 통해 더욱 긴밀한 협업이 가능해집니다. 델파이와 C++빌더로 새로운 프로젝트를 시작하는 경우, 이를 빠르게 지원하기 위해 IDE 첫 화면에서 개발자들이 가장 필요로 하는 정보와 기능들이 제공될 것입니다.
마지막으로 전용 빌드 서버에서 델파이나 C++빌더를 사용하는 분들을 위한 새로운 기능이 기다리고 있습니다. 소스 컨트롤, 테스트에 따라 VM이나 특정 머신에서 공식적인 빌드를 수행해볼 수 있습니다. 지금은 RAD를 빌드 서버에 설치하려면, 전체 IDE를 모두 설치해야 합니다 – 하지만 이건 정말 불필요한 작업이죠. 커맨드 라인 도구만 필요로 하는 빌드 작업에서는요. 특별히 빌드 서버를 위한 설치 시나리오도 저희 계획에 포함되어 있습니다!
C++빌더
10.4 버전에서 C++ Win64용 디버거를 처음 선보였습니다. 특히 STL 컨테이너나 데이터 구조를 쉽게 파악할 수 있는 방법인 ‘포맷터(formatters)’가 제공되었죠. 예전의 디버거를 업데이트해서 새로운 버전으로 선보인 것이 아닌 정말 완전히 새로운 디버거였습니다. 10.5 버전에서는 다른 핵심 도구인 링커(linker)를 대체할 또 다른 새로운 기능을 선보일 예정입니다. 디버거처럼, Win64를 위한 완전히 새로운 기능입니다.
비주얼 어시스트(Visual Assist)는 Visual C++에서 사용할 수 있는 솔루션으로 코드 완성, 리팩토링 등의 기능을 제공해 생산성을 크게 높여줍니다. 바로 이 비주얼 어시스트가 C++빌더에 통합됩니다. 이 작업을 위해 굉장히 심혈을 기울여왔고, 10.5 버전에서 선보이게 될 것으로 기대하고 있습니다.
마지막으로 델파이/C++ 활용도 개선할 계획입니다. 두 언어를 사용할 수 있다는 것은 생산성 측면에서 매우 강점입니다. RTL 기능과의 완벽한 통합을 제공하기 위한 작업이 진행중입니다.
델파이 디버거
10.4에서는 LLDB 기반의 완전히 새로운 C++ Win64 디버거를 선보였습니다. 최종 목표는 모든 플랫폼에서 동일한 디버거를 사용하는 것입니다. 예를 들어, Evaluate/Modify 대화상자에서 델파이 구문을 파악할 수 있도록 델파이 언어 프론트엔드를 LLDB에 추가하는 것입니다. 10.5에서는 이 새로운 프론트엔드와 함께 LLDB를 활용한 첫번째 플랫폼을 선보일 계획입니다.
마르코 칸투가 전하는 10.5 플랜
플랫폼
윈도우 플랫폼 관련하여 앞서 이야기했듯, 마이크로소프트 프로젝트 리유니온으로 계획된 것 중 하나인 다양한 기술에 대한 지원이 제공될 것입니다. 특히 RAD스튜디오 10.5에서는 WinUI 3 라이브러리를 통한 현대화된 윈도우 UX 지원을 선보이고자 합니다. 마이크로소프트의 로드맵에 따르면, 다른 타입의 컨트롤이나 폼들을 기존 클래식 API를 기반으로 하는 네이티브 애플리케이션에서 라이브러리 컴포넌트들과 함께 사용할 수 있게 될 것이라고 안내하고 있습니다. 실제 세부사항은 네이티브 애플리케이션과 통합될 때 어떤 라이브러리를 제공하는지에 따라 달라지겠지만, 현재 엠바카데로의 계획은 새로운 특정 컨트롤과 VCL에 이 라이브러리를 통합하는 것입니다.