개발 / 프로그래밍
RAD Studio 12 아테네
제조사 | DevGear |
---|---|
지원언어 | - |
미디어 | - |
지원OS | - |
· 가격정보
제품명 | 판매가격 | 수량 | |
---|---|---|---|
RAD Studio 10.2 Tokyo Enterprise | 별도문의 |
· 상세설명
주요 새 기능
RAD 스튜디오 12에 들어간 주요 기능에 대한 요약은 다음과 같다. 각 주제 별 나누어 진 세부 사항을 보기에 앞서, 이 요약부터 먼저 보는 것도 좋을 것이다.
- Visual Assist(비주얼 어시스트)가 C++빌더 IDE에 통합되어 들어갔다. 최상급 코드 완성, 코드 이동, C++ 언어에서 Rename 리팩토링 등을 제공한다
- 크게 업데이트된 CLANG을 기반으로 하는 윈64용 C++ 컴파일러, 가장 최신 C++ 언어 표준을 지원한다. 그리고 외부 라이브러리와 외부 C++ 코드와 더 잘 통합할 수 있다.
- 델파이 언어에 추가된 것들이 있다. 그것들 중에는 여러 줄 문자열 리터럴도 있다. 고객들이 요청해 온 기능이다.
- 파이어몽키에서 SKIA를 지원한다. 모든 타겟 플랫폼에서 그래픽과 UI 컨트롤 렌더링이 성능과 품질 모든 면에서 더 뛰어나다. SKIA는 파이어몽키를 위한 새 기반으로 채택되었다.
- VCL에서는 MDI가 재작업 되었으며 새로운 탭-방식 UI 아키텍처가 들어감. 고객들은 (기존 프로그램에서 최소한의 수고만으로) 기존 애플리케이션을 현대화, HighDPI 지원 추가, 스타일 반영을 할 수 있다.
- FireDAC에 새 QBE(예시에 의한 쿼리, Query by Example) 컴포넌트가 추가 되었다. 데이터 필터링이 더 쉽다. 또한, 인기있는 JSON 형식을 오브젝트에 맵핑되도록 하는 코드를 추가해 주는 JSON 마법사가 델파이에서 제공된다. 기존에는 XML 형식에만 제공되던 기능이다.
- IDE의 생산성과 품질에서 많은 향상이 있었다. 더 쉽고 더 빠르게 RAD 스튜디오로 하는 일상 작업을 할 수 있게 되었다.
- RAD 서버에 스마트 ID가 지원된다. 그래서, 고객은 REST API를 제공할 때 더 강력하고 더 유연하게 운영할 수 있으며, RAD 서버 관리도 더 쉽다.
C++을 위한 멋진 것들
이번 릴리스의 중요한 초점은 C++빌더와 C++ 툴체인 (RAD Studio에서도 사용 가능)이다. 우리가 집중한 두 가지는 첫째, C++ 컴파일러와 툴체인을 현대화하기, 둘째, 놀라운 생산성을 제공하기였다. 생산성 측면에서는 코드 완성, 리팩토링, 코드 이동(탐색) 등을 Visual Assist 통합을 통해서 실현했다.
C++ 툴체인 업그레이드는 우리의 C++ 지원을 완전히 새롭게 하는 엄청난 변화이다. 여기에는 단지 Clang 새 버전이 들어간 것만이 아니라, C와 C++ 런타임 라이브러리, STL (C++ Standard Template Library), 링커, 디버거 등이 모두 해당된다. 이 대규모 노력의 목표는 현대식 C++ 표준들을 제공하여, 최근 라이브러리들과 프로젝트들 안에서 찾은 C++ 코드를 실행할 수 있는 능력을 갖추고, 써드-파티 라이브러리들을 쉽게 사용할 수 있고, 안전한 현대식 코딩 표준을 활용할 수 있고, 앱의 성능이 더 좋도록 하고, 디버깅이 훌륭하도록 하는 것이다. 이와 더불어 링킹, STL 등의 영역을 직접 향상하고, (COFF 오브젝트와 PDB 디버깅 포맷과 같은 것들을 사용하여) 윈도우 플랫폼 표준으로 옮겨가는 것이다. 그 결과, 잠재적으로 다른 도구들과의 호환성이 훨씬 넓어진다. 이 기능에 대해서는 RAD 스튜디오 12에 들어 있는 윈64 Clang 툴체인(들)에서 더 자세히 볼 수 있다.
12.0에서는, 새 C++ 툴체인 프리뷰 버전을 제공한다. 이것은 명령 줄 컴파일러 형태로 들어있다. 우리는 기존 C++ 컴파일러들과 나란히 이 새 C++ 툴체인을 IDE 에 통합하는 작업을 계속할 것이다. 또한 (VCL과 파이어몽키 UX 라이브러리 등) RAD 스튜디오 안의 델파이 라이브러리들과도 통합하는 작업을 계속한다. 이 작업을 마치면, 서브스크립션을 유지하고 있는 고객들에게 업데이트를 제공할 계획이다. (관련 도움말 보기)
12.0에서, C++빌더의 커다란 혁신 중 또 하나는 Visual Assist(비주얼 어시스트) 기술을 통합한 것이다. 그 결과, 코드 인사이트가 더 좋아졌다. 코드 완성, 코드 이동(탐색), 리팩토링, 즉 가장 보편적인 개발 작업을 도와주는 핵심 생산성 도구들이 C++빌더에 통합되었다. 코드 완성은 코딩하는 도중에 자주 부르는 기능이고, 코드 이동(탐색)은 개발자들이 관련된 코드 부분을 쉽게 찾을 수 있도록 도와준다. 리팩토링은 코드를 구조화하고 안전한 코드가 되도록 도와준다. Visual Assist 기능들 중에서 선택된 일부 기능들이 이번 RAD 스튜디오 안에 들어가는 첫 통합의 대상이 되었다. 심볼 찾기, 참조 찾기, 프로젝트 개요, 구현과 선언 사이를 넘나들기, Rename 리팩토링 등이 여기에 해당된다. C++빌더에 들어간 Visual Assist 기능 중 일부를 미리 볼 수 있는 글은 RAD 스튜디오 12.0 안에 있는 C++과 비주얼 어시스트(Visual Assist)에 있다.
델파이에 추가된 좋은 것들
델파이 컴파일러 쪽에서, 12.0은 작지만 멋진 확장 능력을 추가했다. 긴 문자열 리터럴, 여러 줄 문자열 리터럴 지원 등이 여기에 해당된다. 따옴표 세 개로 묶어서 사용할 수 있다. 그 결과, SQL, HTML, JSON, XML 등 기타 여러 줄로 된 텍스트를 애플리케이션 소스 코드 안에 넣기가 더 쉬워졌다. 이에 대해서는 미리보기 글인 델파이 언어: 문자열 리터럴 (String Literal) 현대화에서 볼 수 있다.
델파이 12 컴파일러는 NativeInt를 약한 타입 별칭으로 정의할 수 있다. 따라서 윈32/윈64 호환성이 강화되고, NaN 부동 소수점 숫자 비교를 더 잘 지원한다. 또한 모든 플랫폼에서 부동-소수점 예외를 비활성화 할 수 있다.
플랫폼 지원 측면에서, 델파이 12.0은 (플레이 스토어에 앱을 제출하기 위해 구글의 요구 사항인) 안드로이드 API 레벨 33 호환성을 제공한다.
파이어몽키와 새 기초인 Skia
RAD 스튜디오 12.0에서 (델파이와 C++빌더 모두에서), UI 라이브러리 측면의 가장 큰 향상은, 크로스-플랫폼 렌더링 엔진으로 매우 널리 사용되는 SKIA가 파이어몽키에 들어온 것이다. 이것은 Skia4Delphi 오픈 소스 프로젝트를 통합하여 구현되었고, 실제로 그보다 더 확장되어서, Vulkan 지원, Skia 그림자효과 언어(Skia Shading Language)를 통한 효과와 필터 지원, WebP 인코더, 프린터 지원, PDF로 인쇄 등이 추가되었다.
RAD 스튜디오의 Skia 지원에는 직접 사용할 수 있는 API, (TSkAnimatedImage, TSkLabel, TSkPaintBox, TSkSvg 등) 특정 Skia UI 컨트롤(들), Skia를 통해 렌더링 되는 파이어몽키 UI 컨트롤 UI 렌더링의 자동 매핑 등이 해당된다. Skia는 일반적으로 렌더링 품질과 성능을 향상시킨다. VCL Windows 라이브러리에도 동일한 Skia UI 컨트롤(들)이 있다는 점을 알아두기 바란다.
(파이어몽키 라이브러리의 미래를 위한 새로운 견고한 기반인) Skia 지원 외에도, 우리는 안드로이드 지원을 향상하여 플랫폼에서 최근에 향상된 많은 것들에 맞추었다. 분할 스크린 지원을 추가하여, 파이어몽키 애플리케이션이 창을 나란히 두고 작동할 수 있도록 했다. iOS와 Android 모두에 적용되었으며, 한 줄인 TEdit와 여러 줄인 TMemo 컨트롤의 텍스트 입력 기능을 광범위하게 재작업했다.
IDE의 또 다른 중요한 개선 사항으로는, 파이어몽키 개발을 할 때, 단일 SVG 이미지를 가지고 애플과 구글에서 요구하는 모든 해상도 별 아이콘과 스플래시 화면을 생성해주는 마법사가 새로 들어갔다. 안드로이드의 적응형 아이콘 또한 지원한다. 이 마법사에 대해서는 멀티 디바이스 아이콘 생성기에서 읽을 수 있다.
VCL 현대화: MDI와 탭 기반 UI 아키텍처
우리는 VCL 현대화 작업을 지속적으로 해오고 있다. 우리의 고객들이 (대체로 매우 크고, 해당 업종에 맞게 잘 구축된) 기존 애플리케이션을 마이그레이션할 수 있도록 돕기 위함이다. 12.0에서 집중한 것은 MDI (윈도우의 다중 문서 인터페이스, Multi Document Interface) 모델을 계속 살려서 유지할 수 있도록 하는 것이었다. MDI 모델은 오래된 방식이지만 여전히 널리 사용되고 있다. 이 새 버전을 통해, 고객들은 MDI에 HighDPI를 완전하게 적용할 수 있다. 또한 VCL 스타일을 적용할 수도 있다. 우리는 마이크로소프트가 최근 몇 년 동안 MDI 지원을 소홀히 하면서 생긴 (윈도우) 플랫폼의 이슈들을 고객들이 무사히 통과할 수 있도록 했다.
또한, RAD 스튜디오 12.0에서는 (구글 크롬 등 널리 사용되는 많은 앱들에서 볼 수 있는) 새 탭-기반 UI를 도입했다. 이는 MDI에서 쉽게 마이그레이션하거나 또는 처음부터 새로 만들 때 모두 사용할 수 있다. TFormTabsBar라는 새 컨트롤을 사용하면 된다. VCL 라이브러리는 High DPI 화면용 퓨톤 관리가 개선되었다.
VCL 향상의 일환으로, 새 버전에는 몇 가지 새 디자이너 창들이 도입되었다. 그 결과, 개발자의 작업이 더 간편해 진다. 문자열 에디터, 여러 줄 문자열 에디터가 새로 생겼으며, 버튼, 라디오 그룹, 패널 등을 빠르게 구성할 수 있는 대화창이 새로 생겼다. 이런 편리한 도구들 중 몇 가지는 원래 KSVC (Konopka Signature VCL Controls) 안에 들어 있던 것들이다. 이제는 이 도구들을 누구든 (KSVC 애드-온 컨트롤 팩을 설치하지 않아도) 사용할 수 있다.
핵심 RTL 정의(들) 외에도, 전체 윈도우 API 헤더들을 오브젝트 파스칼로 변환한 유닛들 세트를 새로 만들었다. 그 결과, 이제 델파이 개발자들은 어떤 윈도우 플랫폼 API든지 쉽게 호출할 수 있다. 윈도우 API가 우리의 컴포넌트 라이브러리 안에서 노출되지 않아도 이제는 호출하기가 쉽다. 이 API 변환에는 델파이 헤더 파일 311 개가 들어 있으며 코드는 41MB이다. 마이크로소프트의 전체 플랫폼 API를 커버한다.
또한, 엣지(Edge) 브라우저 통합을 향상하였다. 이 향상은 새 인터페이스, 새 프로퍼티, 새 이벤트들을 사용하여 최신 버전 이후에 나온 플랫폼 웹뷰2에 맞추었다. VCL의 추가 개선 사항으로는 매우 유연한 TControl 열거자(enumerator), 데스크탑 윈도우 관리자 (DWM, Desktop Windows Manager) 강화, 이중 버퍼링(Double Buffering) 모드 변경 등이다.
새 기능: 델파이 RTL, 데이터, 기타 영역
델파이의 핵심 런타임 라이브러리들이 많이 향상되었다. 이 향상들은 C++빌더에서도 활용하고 있는 것들이다. 데이터베이스 액세스 라이브러리의 대표인 FireDAC에 클래식 QBE 모드(Query-By-Example) 지원이 추가되었다. 따라서 UI 개발 시 간단하게 데이터 필터링을 할 수 있다.
또한, FireDAC 컴포넌트는 개발자들이 애플리케이션 보안을 강화할 수 있도록 하는 추가 기능을 제공한다. 특정 쿼리 컨트롤의 SQL 명령의 유형을 제한하고, 다중 명령을 못하게 하고, SQL을 변경하지 못하게 막을 수 있다. 개발자들이 (업계의 기타 보안 베스트 프렉티스들과 병행하여) 이런 개선 사항들을 사용하면 애플리케이션 보안을 강화하는데 도움이 된다.
RAD 스튜디오 12.0에는 JSON 맵핑 마법사가 새로 추가되었다. 이 마법사는 JSON 데이터 구조에 맞추어서 클래스들을 생성할 수 있다. 또한 그 JSON을 오브젝트 집합 안에서 읽고, 스트리밍을 통해 새 파일로 쓰는 코드를 생성한다.
RAD 스튜디오 IDE 향상
IDE에는 많은 관련 변경 사항이 있다.
첫째, 기능 설치 프로그램의 UX가 새로워졌다. 제품을 처음 설치할 때 또는 나중에 기능과 플랫폼을 추가할 때 보게 되는 이 대화 상자는 사용 방식과 UI가 완전히 재설계되었으며, 현대식 VCL 컨트롤들을 사용한다. 그 결과, RAD 스튜디오에 대한 첫 인상부터 향상된다. 또한 사용하기에도 더 쉽다. (예전에는 몇 단계를 거치도록 설계되어 있었지만) 이제는 (추가 애드-온까지 포함하여) 주요 설치 옵션 전체가 한 페이지 안에 있기 때문이다. 설치 문제가 있을 경우에 제공하는 오류 정보도 새 대화 창에서 더 좋아졌다.
IDE는 호출 스택(Call stack), 스트럭처 뷰(Structure View,구조 화면) 등 많은 보조 창에도 이제 구문 강조 표시 기능이 있다. 또한 소스 코드 검색, 탐색 도구 모음 작동 방식, 편집 창 여러 개 사용 등이 개선되었다. 그 외에도 많은 기타 작은 개선들이 반영되었다.
C++빌더에 Visual Assist가 도입된 것 외에도, 코드 인사이트를 위해 사용되는 DelphiLSP도 더욱 향상되었다. 예를 들어, 코드 완성은 이제 언어 키워드들도 포함한다. 코드 템플릿(들)은 코드 완성 시 문맥 상 올바른 영역에 표시된다. 또한 제네릭스와 배열 (또는 배열 타입) 완성을 더 잘 지원한다.
마지막으로, RAD 스튜디오는 코드 에디터용 새 ToolsAPI를 더 확장하여, 고객과 써드-파티 제공사들이 더 유연한 플러그-인(들)을 우리 IDE 용으로 만들 수 있도록 했다.
RAD 서버와 인터베이스(InterBase)
(REST 서버 API 호스팅 플랫폼인) RAD 서버에는 몇 가지 주목할 만한 개선 사항이 있다.가장 중요한 변화는 스마트 ID 모델 지원이다. 스마트 ID는 표준 라이브러리를 사용하여, 서버에서 노출하는 리소스에 대해 더 나은 식별자를 정의할 수 있다. 또한 RAD 서버는 성능이 더 좋아지고, 데이터 페이징이 향상되고, 세션 인증 등 전반적인 품질이 더 좋아졌다.
RAD 스튜디오 새 버전에는, 최근 출시된 InterBase 2020 업데이트 5의 개발자 에디션과 임베디드 버전이 들어 있다.
품질, 품질, 품질
위에서 강조한 기능들 외에도, 이 버전은 여러 서브시스템(들)에서 품질에 집중했다. IDE에서 시작하여, 델파이 RTL 라이브러리들, VCL UI 라이브러리, 파이어몽키 크로스-플랫폼 라이브러리, FireDAC 등 데이터 액세스 계층, HTTP 클라이언트와 HTTP 서버 컴포넌트, RAD 서버 등에서 품질이 향상되었다.
RAD 스튜디오 12에서는, 고객이 퀄리티 포탈(quality.embarcadero.com)을 통해 리포트 한 1,027 가지 이슈를 소화했고, 공개 버그 리포트 877 개를 해소했고, 고객이 요구한 새 기능 150 개를 구현했다.