Delphi 델파이, 25년의 혁신 - 버전 1부터 10.3까지 버전별 핵심 기능
2020.05.12 13:53
아래 내용은 데이비드 아이(David I)가 작성한 기술백서 내용 중 일부를 정리한 것입니다.
- 원문보기: (현재는 원문이 제공되지 않고 있습니다)
델파이가 출시된 이후 25년간의 델파이 역사, 발전 과정 등을 돌아볼 수 있습니다.
델파이의 역사는 1983년 터보 파스칼 IDE부터 시작됩니다. 실제 '델파이'라는 이름으로 첫 선을 보인것은 1995년 RAD 개발환경을 갖추어 재탄생한 시점부터 입니다.
델파이 1 - 1995.2.15
- 네이티브 코드 컴파일러
- 통합 디버깅
- 16-bit 윈도우 3.1 지원
- 시각화된 양방향 툴 (Visual two-way)
- VCL 컴포넌트들
- 데이터베이스 지원 기능 - BDE, SQL Links
- 데이터베이스 데이터를 디자인 타임에서 실시간 확인
델파이 2 - 1996.2.10
- 32-bit 윈도우 95 지원
- 데이터베이스 그리드(Grid)
- OLE 자동화
- 비주얼 폼 상속
- 긴 문자열 지원(Long Strings)
- 델파이 1, 16-bit 개발 기능 포함
델파이 3 - 1997.8.5
- 인터페이스 (COM 기반)
- 코드 인사이트
- 컴포넌트 템플릿
- DLL 디버깅
- 웹브로커
- ActiveForms
- 컴포넌트 패키지
- MIDAS 멀티티어 아키텍처
델파이 4 - 1998.6.17
- 도킹(Docking), Anchors 속성, Constraints 속성
- 메소드 오버로딩
- 동적 배열
- 윈도우 98 지원
델파이 5 - 1999.810
- 데스크탑 레이아웃
- 프레임
- XML 지원
- ADO로 DBGo 연동 가능
- 메뉴 다국어 지원
델파이 6 - 2001.5.21
- 스트럭처 윈도우
- SOAP 웹 서비스
- dbExpress
- BizSnap
- WebSnap
- DataSnap
델파이 7 - 2002.8.9
- RAD 웹 애플리케이션 개발
- 웹 서비스
- UML 디자이너
- 모델 기반 개발
- 닷넷(.NET) 상호운영 가능
- 윈도우 XP 테마
델파이 8 - 2003.12.22
- .NET 지원
델파이 2005 - 2004.10.12
- 멀티 유닛 네임스페이스
- 에러 인사이트
- 히스토리(History) 탭
- for..in 반복문
- 컨테이너에 대해 for-요소-in-컬렉션 스타일의 반복자를 지원합니다. 컬렉션의 요소만큼 반복하는 for-in 반복문 사용이 가능합니다.
- Inline 지시자로 함수와 프로제거 성능 향상
- Inline 지시자는 해당 루틴을 실제로 호출하는 대신 호출하는 측에서 해당 루틴을 포함하는 코드를 생성하도록 합니다.
- IDE에서 테마 지원
- 리팩토링
- Uses절에서 와일드카드 사용 가능
- 데이터 익스플로러 (Data Explorer)
- 통합 유닛 테스트
델파이 2006 - 2005.11.23
- 연산자 오버로딩
- 정적 매소드와 프로퍼티
- 디자이너 가이드라인
- Form Positioner 화면 추가
- Live 코드 템플릿
- 블록 완성(Block Completion)
- 라인 숫자 표시(Line numbers)
- 변경사항 확인 바(Change Bars)
- Sync Edit 모드
- 코드에디터에서 선택된 블록에서 같은 문자열을 한 번에 변경 가능합니다.
- 소스 코드 일부 접기, 메소드 네비게이션
- 툴 팔레트 검색 기능
- FastMM 메모리 관리자 도입
- FastMM은 전통적인 델파이 메모지 관리자인 borlandmm.dll을 대체하는 것으로, 훨씬 빠른 메모리 루틴들을 제공해 델파이로 개발된 애플리케이션 속도를 비약적으로 끌어올려줍니다.
- MySQL 지원
- dbExpress 유니코드 지원
- TTrayIcon
- TFlowPanel
- TGridPanel
델파이 2007 - 2007.3.16
- MS Build, 빌드 이벤트(Build Events), 빌드 설정(Build Configurations)
- MSBuild: 이전의 내부 메이크 시스템 대신 MSBuild 빌드 엔진을 지원합니다. IDE가 자동으로 프로젝트롤 MSBuild 포맷으로 변환하고 프로젝트 확장자를 바꿉니다.
- 빌드 이벤트: 이전에는 프로젝트 컴파일 전이나 후에 수행해야 했던 DOS 명령이나 매크로를 빌드 이벤트로 지정할 수 있습니다.
- 빌드 설정: 프로젝트 옵션 화면에서 이름을 가진 빌드 설정을 만들 수 있습니다.
- 윈도우 비스타(Vista) 지원
- dbExpress 4 - Connection Pooling 속성, 델리게이트 드라이버
- Connection Pooling: Pooling 속성을 지정해 연결을 일정 시간동안 Pool에 남겨놓고 애플리케이션에서 이를 재사용 할 수 있습니다.
- 델리게이트 드라이버: 애플리케이션과 실제 드라이버 사이의 드라이버로 dbExpress 4 프레임워크의 모든 퍼블릭 메소드, 프로퍼티의 처리 전 또는 후에 특정 작업을 할 수 있게 해줍니다. 연결 풀링, 드라이버 프로파일링, 추적, 감사에 유용합니다.
- CPU 윈도우
- CPU 윈도우의 각 영역을 열 수 있습니다. 단일 영역은 도킹이 가능하므로 각 영역을 드래그해서 원하는 IDE 어디에든 도킹할 수 있습니다.
- FastCode 기능 향상
- 인트라웹(IntraWeb) / AJAX 지원
- 웰컴 페이지
- 영어, 프랑스어, 독일어, 일본어판 에디션 동시 제공
델파이 2009 - 2008.8.5
- 유니코드 지원
- 유니코드(Unicode)가 지원되는 애플리케이션 개발이 가능해졌습니다.
- 제너릭 지원
- 클래스와 메소드에서 사용하는 데이터 타입을 사전에 정하지 않고 유연하게 사용할 수 있는 문법
- 익명 메소드
- 이름이 없는 프로시저나 함수. 변수에 할당하거나 메소드의 파라메터로 코드 블록 전달 가능
- 리본 컨트롤
- 윈도우용 리본 컨트롤들이 추가되었습니다.
- 데이터스냅(DataSnap) 업그레이드
- 빌드 설정
- 디버그 또는 릴리즈 모드에 따라 프로젝트 옵션을 별도로 설정할 수 있습니다. 별도로 설정된 옵션값은 프로젝트 매니저의 빌드 설정 선택에 따라 디버그 또는 릴리즈 설정 정보를 포함해 앱을 만듭니다.
- 클래스 익스플로러(Class Explorer)
- 타입 라이브러리 에디터 화면
- PNG 지원
델파이 2010 - 2009.8.15
- IDE 인사이트
- IDE 여러 부분에 복잡하게 구성돼있는 기능들을 쉽고 빠르게 찾을 수 있습니다.
- 애트리뷰트(Attribute)
- 새로운 RTTI를 기반으로 한 문법. 클래스/레코드나 클래스의 멤버에 추가로 지정되는 정보로 실행중 읽어질 수 있습니다. 일반화된 프레임워크 개발 시 매우 유용합니다.
- RTTI 대폭 강화
- RTTI가 메소드, 필드, 속성을 지원해 동적 호출과 다른 메타 프로그래밍 방식들을 지원합니다.
- Direct2D 캔버스 추가
- 윈도우 7 지원
- 멀티터치/제스처
- 터치와 제스처 방식으로 스크린 입력이 가능한 애플리케이션을 개발할 수 있습니다. 특별한 코딩없이 컴포넌트 수준의 설정만으로도 터치/제스쳐 기능을 지원합니다.
- 코드 포매터
- 에디터에 열려져 있는 코드를 자동으로 특정한 포맷으로 재정렬해줍니다.
- 인크리먼털 검색
- 필터링 가능한 에디트
- 특정 쓰레드에만 적용 가능한 브레이크 포인트
- 디버거 비쥬얼라이저
- 디버깅 중 제대로 표시하지 못했던 데이터 타입들을 이해하기 쉽게 표시해줍니다.
- IOUtils 유닛 (파일, 경로, 디렉토리용)
- 소스코드 감사(오딧)와 메트릭스
- 백그라운드 컴파일(Background Compilation)
- MIDAS.DLL 소스 코드
델파이XE - 2010.8.30
- 정규 표현식 라이브러리
- 버전 인사이트 - 서브버전 통합
- 형상관리 시스템을 IDE 내에 완벽하게 통합해 프로젝트와 소스 코드 관리가 매우 편리해졌습니다.
- dbExpress - 필터, 인증, 프록시 생성, 자바스크립트(JavaScript) 프레임워크
- REST 지원
- Indy 웹브로커
- 클라우드 - 아마존 EC2, 마이크로소프트 애저(Azure)
- 빌드 그룹
- 디버거에서의 네임드 쓰레드(Named Threads)
- 커맨드 라인 감사(Audits), 메트릭스(Metrics)
- AQ타임(AQTime)
- IDE에 통합돼 성능 프로파일링 레포트 제공
- 코드사이트(CodeSite)
- 다양한 로깅 기능들 제공
- 패스트리포트(FastReport), 파이널빌더(FinalBuilder), IP*Works! 추가
델파이 XE2 - 2011.9.2
- 64-bit 윈도우 컴파일러 제공
- 맥 OSX 지원
- 파이어몽키 (FMX) 플랫폼 추가
- 하나의 코드베이스에서 멀티-플랫폼, 멀티-디바이스 개발이 가능해졌습니다.
- 라이브바인딩 엔진 (FMX와 VCL 모두 지원)
- 모든 UI 요소와 모든 데이터 요소를 손쉽게 실시간으로 바인딩합니다. 데이터 프로그래밍이 쉽고 명확해집니다.
- VCL 스타일
- 유닛 범위 이름(Unit Scope Names)
- 유닛 이름 앞에 범위 이름을 추가할 수 있어 유닛의 역할이 더 명확해짐. VCL과 RTL 유닛 모두 범위이름을 포함하도록 변경되어 범위 이름을 포함해 유닛 저장 가능
- PA (Platform Assistant)
- 데이터스냅(DataSnap) 모바일 커넥터
- 데이터스냅에서 모바일 API를 클라이언트에 제공합니다. 모바일 디바이스, 클라우드 API, HTTPS 지원, TCP 모니터링 연동이 가능합니다.
- dbExpress ODBC 드라이버 지원
- 배포 관리자
델파이 XE3 - 2012.9.3
- 메트로폴리스 UI 추가 (윈도우 8, 7, 비스타, XP 용)
- 윈도우 8의 룩앤필을 만들 수 있는 UI 스타일을 제공합니다.
- OS X 마운틴 라이언 지원
- 비주얼 라이브 바인딩 추가
- 드래그-드랍으로 데이터 바인딩을 시각적으로 보면서 작업할 수 있습니다.
- 파이어몽키(FMX) 강화
- 파이어몽키용 스타일, 오디오, 비디오, 3D 컴포넌트가 강화되었습니다.
- 액션, 터치/제스처, 레이아웃 컴포넌트, Anchors 속성
- 비트맵(bitmap) 스타일
- TMaterialSource - FM 3D 컴포넌트용
- 위치 센서 컴포넌트 (Location sensor component)
- VCL/FMX 센서 디바이스 지원
- 가상 키보드 지원
- DirectX 10 지원
델파이 XE4 - 2013.4.22
- 파이어닥(FireDAC) 유니버설 데이터 액세스 컴포넌트 추가
- 강력하고 빠른, 사용성이 뛰어난 데이터액세스 컴포넌트 파이어닥이 추가되었습니다. BDE에서의 전환이 용이합니다.
- 알림 기능
- 플랫폼 서비스
- FMX 센서 컴포넌트 추가
- 위치 정보(Location), 움직임(Motion), 방향 센서 컴포넌트가 제공됩니다.
- TListView 컴포넌트
- 모바일 폼 디자이너
- TWebBrowser 컴포넌트
- iOS 지원 시작
- 맥 OSX 전체 화면 모드 지원
- 인터베이스 - IBLite 와 IBToGo
- IBLite 데이터베이스를 iOS 기기에 무제한 배포할 수 있습니다.
델파이 XE5 - 2013.9.11
- 안드로이드와 iOS 개발
- 델파이로 안드로이드와 iOS, C++로 iOS 앱 개발이 가능해졌습니다.
- 알림(Notification) 컴포넌트
- iOS 7 스타일 지원
- 모바일 디바이스에 맞추어 원하는대로 구성할 수 있는 폼 디자이너
- 안드로이드 디바이스용 배포 관리자
- REST 서비스 클라이언트 액세스와 인증 컴포넌트들
- 클라우드 기반의 RESTful 웹서비스 연결이 가능합니다.
델파이 XE6 - 2014.4.15
- 앱 테더링 컴포넌트
- 앱들(VCL-FMX앱 모두)을 손쉽게 연결하고 데이터를 주고 받을 수 있는 컴포넌트입니다. 기존에 만들어진 VCL 프로그램을 모바일 앱에서 제어할 수 있습니다.
- 클라우드 서비스 (BaaS) RESTful 웹 서비스 통합 (Parse, Kinvey, App42)
- Parse, Kinvey 등 클라우드 서비스와 통합, 공지 서비스를 제공합니다.
- Taskbar 컴포넌트
- 윈도우 작업표시줄 아이콘에 애플리케이션 미리보기, 제어버튼, 진행률을 표시할 수 있습니다.
- 새로운 VCL 스타일들 제공
- VCL 센서 컴포넌트들
- 모바일 인앱(In-app) 구매, 인앱(In-app) 광고 기능 지원
- 구글 글래스(Google Glass) 용 앱 개발 가능
- 파이어몽키 데스크탑 액세스
- 파이어몽키의 GPU 액세스가 데스크탑에서도 강화되었습니다.
- 파이어닥(FireDAC) DB 탐색기
- 파이어닥용 데이터베이스 익스플로러가 추가되었습니다.
- 아파치(Apache) 지원 - 웹브로커
- 웹브로커에서 아파치를 지원합니다.
- DirectX 11 지원
- 윈도우 7, 8.1 스타일 지원
- 윈도우 XP와는 다른 윈도우 7,8 스타일을 적용할 수 있습니다.(태블릿 PC도 가능)
- 클라우드 기반 RESTful 웹 서비스 액세스 지원
- 파이어닥(FireDAC), 호환 데이터베이스 확대
- 완벽하게 통합된 인터베이스(InterBase) 지원
델파이 XE7 - 2014.9.2
- 멀티-디바이스 디자이너
- 다양한 디바이스 해상도에 맞는 화면을 개발할 수 있는 혁신적인 비주얼 디자이너
- 파이어몽키 멀티-디바이스 앱 지원 (데스크탑, 모바일 플랫폼 모두)
- 파이어몽키 반응형 서비스
- 앱 실행 시 장치 정보를 이용해 플랫폼에 최적화된 기능을 제공하는 서비스
- 병렬 프로그래밍 라이브러리(PPL)
- 멀티코어를 모두 활용 가능합니다.
- 임베디드 IBLite 데이터베이스 - 윈도우, 맥, 안드로이드, iOS 지원
- 멀티-디스플레이 지원
- 멀티뷰 컴포넌트 (TMultiView)
- 디바이스 해상도와 플랫폼에 맞게 동적으로 표시되는 반응형 컴포넌트
- 멀티-터치 지원, 제스처
- 안드로이드 풀 스크린 몰입 모드 지원
- TListView에서 iOS, 안드로이드용 '당겨서 새로고침' 기능 지원
- FMX 저장 상태 기능
- 인터베이스 IBLite 윈도우, OSX 지원
- 엔터프라이즈 모빌리티 서비스 첫 공개 (현재 RAD서버)
- 블루투스, 블루투스LE 런타임 라이브러리 제공
- TBluetoothLE 컴포넌트
- 앱테더링 - 블루투스, IP 어드레스
- OmniXML 라이브러리
- Java2Pas 인터페이스 컨버터
- Git 버전 컨트롤 지원
델파이 XE8 - 2015.4.7
- 겟잇 패키지 매니저(GetIt Package Manager) 첫 공개
- 파이어닥(FireDAC) 기능 향상
- 새로운 엠바카데로 커뮤니티 툴바 제공
- iOS에서 네이티브로 표시 - TListView, TSwitch, TMemo, TCalendar, TMultiView, TEdit
- 대화형 지도 (Interactive Maps)
- 새로운 미디어 라이브러리 옵션
- InputQuery가 마스킹 인풋 필드(Masking Input Fields) 지원
델파이 10 시애틀 - 2015.8.31
- 안드로이드 백그라운드 서비스 지원
- 파이어닥 NoSQL 몽고DB(MongoDB) 지원
- 파이어몽키 컨트롤 zOrder 윈도우 지원
- 새로운 TBeaconDevice 클래스
- 블루투스 LE를 지원하는 디바이스에서 비콘의 광고데이터(UUID, Major, Minor, TxPower)를 발생해 비콘 장치를 시뮬레이션 할 수 있습니다.
- 윈도우 10 스타일 제공
- 비트맵 스타일 디자이너에서 윈도우 10 용 StyleViewer 지원
- High-DPI 인식, 4K 모니터 지원
- IDE에서 안드로이드 서비스 지원
- WinRT API 호출 지원
델파이 10.1 베를린 - 2016.4.20
- 안드로이드 6.0 지원
- 윈도우 데스크탑 브릿지 지원
- iOS, 안드로이드용 주소록
- 새로운 리스트뷰 아이템 디자이너(ListView Item Designer)
- 새로운 캘린더뷰(CalendarView) 컨트롤
- VCL용 퀵에디트(QuickEdits)
- High-DPI 윈도우 지원
- 힌트 속성 변경
- RAD서버 아파치 서버 지원
- 겟잇 기반 웹 인스톨러
델파이 10.2 도쿄 - 2017.3.22
- 64-bit 리눅스 지원 (델파이)
- 파이어닥(FireDAC) 리눅스 지원 - 리눅스에서 활용가능한 모든 DBMS
- 마리아DB(MariaDB) 지원 - v5.5
- MySQL 지원 - v5.7
- 파이어버드(Firebird) 지원 업데이트
- Direct I/O 백업 기능 지원을 위해 새로운 Direct 속성 추가
- FMX용 퀵에디트(QuickEdits)
- 새로운 윈도우10용 VCL 컨트롤 제공
- IDE 다크테마 업데이트
- RAD서버 배포 라이선스 무상 제공
- 엔터프라이즈, 아키텍트 에디션 한정
10.3 리오 - 2019.11.21
- 새로운 델파이 언어 기능들
- 인라인 변수 선언: 로컬 변수 선언이 훨씬 더 융통적입니다. 불필요한 코드를 줄일 수 있습니다.
- 타입 추론: 직접 할당하는 인라인 변수는 형식을 지정할 필요가 없습니다.
- 리눅스에서 AnsiString/AnsiChar 지원
- 파이어몽키(FMX)에서 안드로이드 zOrder, 네이티브 컨트롤, API 레벨 26 지원
- API 레벨 26: 구글 정책의 변경으로 플레이스토어 등록 시 안드로이드 레벨 26 이상 필수 지원
- 윈도우 10, VCL, HighDPI 관련 기능들 개선
- VCL에서 Per Monitor V2 지원
- 다양한 IDE UI 현대화
- 데스크탑 레이아웃, IDE 인사이트 컨트롤, 밝은 테마(Light Theme), 다크 테마 리비젼 등
- RAD서버 아키텍처 확장
- 새로운 엔드포인트(EndPoint) 애트리뷰트 - Content-Type, Accept 연동 특성 추가
- 커스텀 리소스에 요청 시 URL과 HTP 메소드에만 의존하지 않고, HTTP 헤더의 Accept 및 Content-Type에 따라 엔드 포인트 메소드를 연결하는 특성 추가
- 커스텀 메소드와 HTTP 메소드 연결 특성 추가
- 이전 버전에서 HTTP 메소드(GET, POST 등)의 엔드포인트 메소드 이름과 맵핑되었던 방식 외에도 다른 이름의 메소드를 엔드포인트 메소드로 맵핑할 수 있는 EndPointMethod 특성 추가
- 요청 처리를 클래스 또는 컴포넌트로 위임
- RAD서버의 사용자 리소스에 발생한 요청을 필드로 지정한 다른 자원 모듈(클래스/컴포넌트)로 위임하는 기능 추가
- 품질 및 성능 개선
- C++/델파이 ABI 호환
10.3 리오 업데이트 1 - 2019.2.14
- iOS 12 지원
- iPhone X 시리즈 디바이스 지원
- 재설계한 RAD 서버 콘솔 UI
- API 분석 용이 & Ext JS 프레임워크로의 마이그레이션을 지원합니다.
- 파이어닥(FireDAC)의 파이어버드(Firebird) 3.0.4에 대한 지원 강화
- 윈도우에서의 HTTP, SOAP 클라이언트 라이브러리 지원 기능 향상
- 새로운 IDE 생산성 도구들: 북마크와 탐색기
- VCL, FMX용 새로운 스타일 15종 제공
10.3 리오 업데이트 2 - 2019.7.18
- 델파이, 맥OS 64-bit 애플리케이션 지원
- RAD서버 마법사와 배포 기능 향상
- 파이어몽키 안드로이드 앱 - Firebase 푸쉬 알림 지원
- 델파이 리눅스 클라이언트 애플리케이션 개발 지원
- 런타임 라이브러리 성능 개선
- 더욱 좋아진 VCL 품질
10.3 리오 업데이트 3 - 2019.11.21
- 델파이, 안드로이드 64-bit 개발 지원
- iOS 13, 맥OS 카탈리나(Catalina) 지원
- RAD서버 도커 배포
- 엔터프라이즈 커넥터 무상 제공
- 엔터프라이즈, 아키텍트 에디션 한정
- 파이어닥(FireDAC) 드라이버 - PostgreSQL, SQLite, DB2, 오라클에 대한 지원 기능 개선
10.4 - 2020 출시 예정
- 머지않아 출시될 10.4 버전의 새로운 기능은 어떤 것들이 있을까요?
- 10.4 미리보기 & 베타 테스트 시작하기
댓글 2
-
IslamsWine
2020.05.12 18:39
-
관리자
2020.05.13 09:45
알려주셔서 감사합니다!
델파이 2 - 부분에 년도가 옳바르지 않아보입니다