56
RAD Studio 2010 리뷰 가이드 2009년 10월 DEVGEAR Corporate Headquarters Asia-Pacific Headquarters 서울특별시 서초구 100 California Street, 12th Floor L7. 313 La Trobe Street Melbourne VIC 3000 반포동 743-14 San Francisco, California 94111 Australia ㈜데브기어 4

RAD Studio 2010 리뷰 가이드 - softwarecatalog.co.kr · 표준 C++ 힙(heap) 매니저 개선 ... Aspect Oriented Programming (AOP) 동적 타이핑 지원(.NET 4.0 이하)

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: RAD Studio 2010 리뷰 가이드 - softwarecatalog.co.kr · 표준 C++ 힙(heap) 매니저 개선 ... Aspect Oriented Programming (AOP) 동적 타이핑 지원(.NET 4.0 이하)

RAD Studio 2010 리뷰 가이드 2009년 10월

DEVGEAR Corporate Headquarters Asia-Pacific Headquarters

서울특별시 서초구 100 California Street, 12th Floor L7. 313 La Trobe Street

Melbourne VIC 3000 반포동 743-14 San Francisco, California 94111

Australia ㈜데브기어 4층

Page 2: RAD Studio 2010 리뷰 가이드 - softwarecatalog.co.kr · 표준 C++ 힙(heap) 매니저 개선 ... Aspect Oriented Programming (AOP) 동적 타이핑 지원(.NET 4.0 이하)

Embarcadero Technologies / DEVGEAR 2

RAD Studio 2010 리뷰 가이드

소개 Embarcadero RAD Studio 2010를 리뷰 할 수 있는 시간을 할애해 주셔서 감사합니다. 이 가이

드는 제품의 능력, 특징, 속성들에 대해 정보를 제공하여 여러분이 리뷰 자료를 작성할 때 충

분한 정보가 될 수 있을 것입니다. 이 안내서는 세 부분으로 나누어집니다. 첫 부분은 RAD

Studio 2010의 일반적인 개요로서, 기본 목적과 기능들을 설명합니다. 이 부분은 RAD Studio

2010의 특징들의 더 높은 수준의 개요가 될 것입니다. 두 번째 부분은 RAD Studio 2010에서

중요한 새로운 특징들의 요약입니다. 이 부분은 RAD Studio 2010 에서 최신부분과 장점들, 예

를 들면 업그레이드 해야 하는 명백한 이유에 대해서 논의하겠습니다. 세 번째 부분은 선택된

제품의 확장된 특징들을 더 자세하게 설명합니다.

RAD Studio 2010의 일반 개요

Embarcadero RAD Studio 2010는 빠른 애플리케이션 개발 즉 RAD방식으로 윈도우 애플리케

이션 개발을 위한 범용적인 목적의 개발툴 입니다. RAD Studio 패키지는 Delphi® 2010,

C++Builder® 2010, 그리고 Delphi Prism™ 2010 세 가지 다른 제품으로 구성됩니다. RAD

Studio의 Delphi 와 C++Builder 툴들은 x86 운용 시스템에서 실행되는 본래의 Win32 바이너

리들을 생성합니다. Delphi Prism은 .NET 과 크로스 플랫폼인 모노 애플리케이션을 생성합니

다. RAD Studio 2010는 Delphi 언어(오브젝트 파스칼), C++ 와 Delphi Prism 언어

(Oxygene), .NET 에 대한 언어에 기초한 오브젝트 파스칼등을 지원합니다.

RAD Studio 2010를 사용하여, 개발자들은. 독립 실행 파일 (EXEs)과 동적 링크 라이브러리

(DLLs), OCX 와 COM 오브젝트들, 타입 라이브러리들, 컨트롤 패널 애플릿, 윈도우 서비스

애플리케이션, 콘솔 애플리케이션 등을 포함한 어떠한 형태의 윈도우 바이너리도 거의 작성할

수 있습니다. 개발자들은 풍부하고 복잡한 유저 인터페이스를 사용하여 클라이언트 애플리케

이션을 작성할 수 있으며, 복잡한 UI를 가진 클라이언트 애플리케이션에서부터 간단한 커맨드

라인 애플리케이션까지 다양하게 구축할 수 있습니다. 임베이디드 시스템상에서 실행되는 중

요 관계형 복잡한 데이터베이스 관리 시스템(RDBMSs)에 직접 연결하는 데이터베이스 클라이

언트 애플리케이션, 멀티 티어 애플리케이션 서버, 웹 애플리케이션, 웹 사이트와 웹 서비스,

윈도우 애플리케이션, ActiveX 컨트롤, 그리고 멀티 쓰레드 애플리케이션 등을 작성할 수 있습

니다. 간단히 말해서, RAD Studio 2010은 윈도우 애플리케이션을 개발하는 개발자들이 필요로

하는 모든 요구사항들을 충족시킵니다. Embarcadero RAD Studio 2010를 이용한 개발에 있어

어떤 한계를 찾아내기는 그리 쉽지 않습니다.

Page 3: RAD Studio 2010 리뷰 가이드 - softwarecatalog.co.kr · 표준 C++ 힙(heap) 매니저 개선 ... Aspect Oriented Programming (AOP) 동적 타이핑 지원(.NET 4.0 이하)

Embarcadero Technologies / DEVGEAR 3

RAD Studio 2010 리뷰 가이드

RAD Studio 2010의 새로운 기능은 무엇입니까?

근본적으로 개발 시간을 줄여줍니다

RAD Studio 개발 환경의 모든 기능들은 빠른 코딩을 위해 설계되어 있어 여러분의 프로젝트

를 더 빨리 완료할 수 있습니다. RAD Studio 2010은 IDE 전반에 걸쳐 향상된 개발 환경을 통

해 생산성을 더 높일 수 있게 해주며 시간을 절약할 수 있습니다:

IDE 인사이트는 메뉴나 다이얼로그를 통해 찾을 필요 없이, 모든 IDE 기능들, 설정들,

컴포넌트들에 쉽게 접근할 수 있게 해줍니다.

코드 포매터는 일관적인 코딩을 더 적은 작업으로 가능하게 합니다.

C++ 클래스 익스플로러는 프로젝트 내의 클래스들을 빠르게 들여다보고 관리할 수

있게 해줍니다.

검색과 파일 다시 열기가 개선되어 필요한 정보를 빠르게 찾을 수 있게 되었습니다.

디버거 데이터 비주얼라이저는 디버거에서 데이터 타입들의 표시를 커스터마이즈할

수 있게 하여 디버깅을 쉽게 해줍니다.

디버거 쓰레드 컨트롤로 쓰레드를 얼리고(freeze) 녹이고(thaw) 단절(isolate)시킬 수

있으며, 문제를 추적할 수 있도록 선택된 쓰레드에 대해서 브레이크포인트를 설정할

할 수 있습니다.

새로운 디버거 옵션들: "Scroll new events into view" 및 "Ignore non-user

breakpoints"

Delphi 프로페셔널에서는 기초적인 코드 검사와 메트릭으로 코드와 프로젝트의 건전

성을 높일 수 있으며, 엔터프라이즈/아키텍트에서는 엔터프라이즈와 아키텍트는 검사

와 메트릭의 완전한 기능을 제공합니다.

사용자들을 키보드로부터 해방시키십시오

터치 베이스 GUI, 타블렛, 터치패드, 키오스크 애플리케이션 등을 빠르게 개발할 수 있으며,

기존의 애플리케이션 UI를 적은 양의 코딩이나 아예 전혀 코딩 없이 간단히 업그레이드 할

수 있습니다.

플러그인 가능한 제스처 엔진 아키텍처

Windows의 모든 지원되는 버전에서 동작 (2000, XP, Vista, Windows 7)

터치 하드웨어가 없을 경우 현재 연결된 하드웨어로 동작 (예: 마우스)

기본 VCL에서 터치와 멀티 터치를 위한 통합된 지원

패닝, 확대, 회전 등을 포함한 30가지 이상의 기본 제스처

Custom Gesture Editor를 이용하여 자신만의 제스처를 생성

터치 키보드 – 여러 국가 및 언어를 지원하는 비-키보드 인터페이스를 위한 완벽한

가상 키보드

Page 4: RAD Studio 2010 리뷰 가이드 - softwarecatalog.co.kr · 표준 C++ 힙(heap) 매니저 개선 ... Aspect Oriented Programming (AOP) 동적 타이핑 지원(.NET 4.0 이하)

Embarcadero Technologies / DEVGEAR 4

RAD Studio 2010 리뷰 가이드

더 다양한 데이터에 연결

RAD Studio 2010를 사용하여 더 많은 데이터, 더 많은 웹 서비스, 그리고 더 많은 애플리케이

션 아키텍처를 연결할 수 있습니다.

dbExpress에서 Firebird 2.1 과 1.5 새로 지원 추가

Oracle 11g, Microsoft SQL Server 2008, MySQL 5.1, InterBase 2009 지원 드라이버

업데이트

새로 추가된 SOAP 1.2 클라이언트 지원으로 아마존 등 다른 웹 서비스 기능들을 이

용할 수 있습니다

DataSnap 멀티 티어 애플리케이션에 대한 HTTP 통신과 인-프로세스 연결을 지원합

니다

오브젝트 갤러리의 새로운 DataSnap 위저드는 서버 개발을 쉽게 해줍니다.

DataSnap 콜백(callbacks)은 서버와 클라이언트와의 통신을 가능하게 해줍니다.

필터링은 클라이언트와 DataSnap 서버 사이의 데이터 스트림에 대해 완벽하게 컨트

롤이 가능하게 해줍니다.

DataSnap에서 추가된 REST와 JSON 지원으로 인기 있는 애플리케이션 아키텍처들에

참여할 수 있습니다.

사용자 데스크톱 확장

특정 버전의 윈도우 API 세부 사항에 대해 걱정할 필요 없이 더 많은 윈도우 데스크톱을 지

원하며, 개발환경 전반에 걸친 유니코드 지원과 향상된 언어 지원으로 전세계의 사용자들을

지원할 수 있습니다.

VCL 컨트롤들은 XP, Vista, Windows 7 의 기능과 테마를 이용할 수 있도록 최적화되

었습니다.

전세계의 데이터와 사용자들을 다루기 위한 완벽한 유니코드 지원

Windows XP와 Vista에서도 터치와 마우스 제스처를 지원하는 애플리케이션을 동작하

게 할 수 있으며, Windows 7에서는 새로운 터치 지원을 활용

Delphi IDE 플러그인 개발을 위한 OpenTools API 확장

IDE 메뉴 및 다이얼로그, 컴파일된 유닛, 리소스, 소스코드에서 에서 영어, 독일어,

불어, 일어 번역이 가능

IDE 메뉴와 다이얼로그 등에서 언어들을 쉽게 바꿀 수 있습니다

완전히 달라진 코드와 컴파일

Delphi 2010에는 새로운 RTTI 지원과 새로운 컴파일러 및 언어 개선이 추가되었습니다.

메소드, 필드, 속성을 노출하기 위한 RTTI 지원으로 동적 실행(dynamic invocation)

및 다른 메타-프로그래밍 방식을 지원

Page 5: RAD Studio 2010 리뷰 가이드 - softwarecatalog.co.kr · 표준 C++ 힙(heap) 매니저 개선 ... Aspect Oriented Programming (AOP) 동적 타이핑 지원(.NET 4.0 이하)

Embarcadero Technologies / DEVGEAR 5

RAD Studio 2010 리뷰 가이드

객체 지향적인 파일 및 디렉토리 IO 클래스들

타입, 필드, 속성, 메소드, 매개변수 등 대부분의 코드 항목을 위한 사용자 속성 지원

TStringBuilder로 더 쉽고 더 빠른 문자열 연결 및 조작

RTL의 리스트와 컬렉션 완벽 지원으로 개선된 제네릭

로컬라이즈된 리소스에 대한 지원 개선

백그라운드 컴파일로 컴파일 하는 동안 다른 작업을 계속 진행 가능

C++Builder 2010에서는 이전에 도입된 C++0x 언어에 기반하여 컴파일러와 라이브러리가 더 많이 개선되었습니다

FastMM이 C++ 런타임 라이브러리의 새 스탠다드 힙 매니저가 되었습니다.

#pragma once 지원

소스 코드를 XML 포맷으로 보여주기 위한 -Zx 옵션

_FUNCTION_ 지원 추가

[[deprecated]] 속성 지원

템플릿 클래스를 위한 __declspec(dllimport) 및 __declspec(dllexport)

내장 Boost 라이브러리 1.39 버전으로 업데이트

표준 C++ 힙(heap) 매니저 개선

최적화된 문자/메모리 관련 함수들

백그라운드 컴파일로 컴파일 중에 다른 작업을 계속 처리 가능

RAD Studio 2010 아키텍트에서 더 강력해진 데이터 모델링

RAD Studio 2010 아키텍트는 새로운 ER/Studio 8.0 디벨로퍼 에디션을 포함하고 있습니다. 디

벨로퍼 에디션은 사용자들이 데이터 자산을 발견하고 도큐먼트하고, 재사용할 수 있도록 도와

주며, 데이터베이스를 쉽게 역공학, 분석, 최적화를 할 수 있도록 해줍니다. ER/Studio의 새로

운 기능들은 다음과 같습니다:

비주얼 데이터 리니지 - 코드를 검사하지 않고도 데이터가 어떻게 처리되는지 비주얼

하게 분석하고 문서화합니다.

속성 레벨 서브모델링 - 서브모델에서 엔티티/테이블들에 포함하는 속성/컬럼을 선택

하고 새로운 정의 탭에서 서브모델을 기술하고, 정의 부분에서 검색하기 위한 쿼리를

작성합니다.

오브젝트- 비교 플래그 - 비교 위저드를 사용하지 않는 모델을 비교할 때 불일치 하

는 곳을 플래그 옵션을 체크하여 표시하도록 합니다.

HTML 포맷으로 보고서를 작성합니다.

마이크로소프트 SQL Server 2008 지원합니다.

Page 6: RAD Studio 2010 리뷰 가이드 - softwarecatalog.co.kr · 표준 C++ 힙(heap) 매니저 개선 ... Aspect Oriented Programming (AOP) 동적 타이핑 지원(.NET 4.0 이하)

Embarcadero Technologies / DEVGEAR 6

RAD Studio 2010 리뷰 가이드

이러한 새로운 기능들은 아래에서 더 자세히 다루도록 하겠습니다.

.NET 개발을 위해 새로워진 점 (Delphi Prism)

Delphi Prism 언어는 .NET 애플리케이션을 작성하려고 하는 Delphi 개발자나 .NET 개발자 모

두에게 좋은 방법입니다. Delphi 개발자들은 Delphi와 비슷한 문법을 사용할 수 있으며 .NET

개발자들은 다른 .NET 프로그래밍 언어에서는 사용할 수 없는 언어 기능들을 발견할 수 있습

니다. Delphi Prism 언어는 아래와 같은 새로운 기능들로 업데이트 되었습니다:

Delphi 언어와의 호환성 향상

Aspect Oriented Programming (AOP)

동적 타이핑 지원(.NET 4.0 이하)

주요 컴파일러 기능들

RemObjects Cirrus: Oxygene을 위한 AOP

Standard Aspects Library for RemObjects Cirrus (Tech 프리뷰로 탑재)

Unmanaged Exports

Generic Type Variance

Volatile 필드

CLSCompliantAttribute 지원과 컴파일러 경고

새로운 LINQ 쿼리 표현식 연산자들 Skip, While, Take, Take While

세부 컴파일러 기능

인용부호가 없는 표현식 지원(주로 Cirrus 지원)

$DELPHICOMPATIBILITY 컴파일러 명령어와 프로젝트 옵션

런타임 범위 체크

열거 타입 범위(예를 들면. "type Ten = 1.10;")

읽기 전용 클래스

배열 타입에서 음수의 낮은 범위 지원

기타 새로운 기능들

유저 데이터에서 OxygeneInterface, OxygenePartial, OxygeneEmpty 태그를 지원하기

위한 CodeDom 개선

Pre/Post 빌드 이벤트

디버거 옵션: 리모트 머신

Mono 어셈블리 레퍼런스를 추가하기 위한 커스텀 "Add Reference" 패널

Page 7: RAD Studio 2010 리뷰 가이드 - softwarecatalog.co.kr · 표준 C++ 힙(heap) 매니저 개선 ... Aspect Oriented Programming (AOP) 동적 타이핑 지원(.NET 4.0 이하)

Embarcadero Technologies / DEVGEAR 7

RAD Studio 2010 리뷰 가이드

새로운 Monobjc 템플릿과 Monobjc 라이브러리가 Delphi Prism과 함께 배포

최신의 Mono 2.4를 설치하기 위해 업데이트된 셋업

셋업의 통합된 부분으로 인터넷 팩이 추가

도큐먼트 위키의 오프라인 복사본에 기반한 F1 헬프가 통합

ASP.NET 웹 프로젝트를 위한 템플릿 추가

더 다양한 데이터에 연결

Delphi Prism 2010을 사용하면, 개발자들은 HTTP 프로토콜을 통해 서버와 통신할 수 있는 지

원을 포함한 DataSnap 2010의 새로운 기능을 사용하여 .NET DataSnap® 클라이언트 애플리

케이션을 개발할 수 있습니다. DataSnap 기능들은 Delphi Prism 엔터프라이즈, Embarcadero

RAD Studio 엔터프라이즈와 Embarcadero RAD Studio 아키텍트에서 사용할 수 있습니다.

각 기능들은 제품 에디션에 따라 다릅니다. 각 에디션 별 전체 기능들을 살펴보려면 RAD

Studio 2010의 기능 명세서를 참조하십시오.

Delphi Prism에 관하여

Delphi Prism 제품은 이 리뷰 가이드에서는 다루지 않았으나 100% .NET에만 포커스를 둔 별

도의 가이드에서 다루었습니다. 기반의 IDE가 Microsoft’s Visual Studio Shell (VSS) 프로그램

기반으로 되어 있으며 이는 Eclipse IDE 프레임워크와 유사합니다. Delphi Prism이 다른 인터

페이스와 접근 방식을 사용하기 때문에, RAD Studio의 다른 부분들과 분리하여 별도 도큐먼트

를 작성하는 것으로 결정했습니다. 향후에는 이 문서 마지막 부분에 추가될 것입니다. 이 문

서는 Delphi와 C++Builder에 집중할 것인데, 그것은 두 개발툴이 같은 내부 IDE 프레임워크로

개발되었으며 또 두 가지 모두 네이티브 애플리케이션 개발을 목적으로 하기 때문입니다.

사전 필요 환경

RAD Studio 2010를 설치하기 위해서는, 아래와 같은 필요 항목이 설치되어 있어야만 합니다:

마이크로소프트 .NET 프레임워크 2.0 또는 그 이후 버전

마이크로소프트 Direct Access Objects 2.8

마이크로소프트 인터넷 익스플로러 v6.0 SP1 또는 그 이후 버전

마이크로소프트 XML Core Services (MSXML) v4.0 SP2 또는 그 이후 버전

마이크로소프트 비주얼 J# .NET v2.0 재배포용

만일 필요 사항이 여러분 시스템에 미리 설치되지 않았다면, Rad Studio 인스톨러가 이러한

것들을 자동으로 설치합니다.

Page 8: RAD Studio 2010 리뷰 가이드 - softwarecatalog.co.kr · 표준 C++ 힙(heap) 매니저 개선 ... Aspect Oriented Programming (AOP) 동적 타이핑 지원(.NET 4.0 이하)

Embarcadero Technologies / DEVGEAR 8

RAD Studio 2010 리뷰 가이드

.NET 프레임워크는 IDE의 실행을 위해서만 필요하며, Delphi로 빌드한 산출물인 네이티브 애

플리케이션은 .NET 프레임워크에 전혀 의존하지 않습니다

최소 시스템 요구 사항

아래의 시스템 사항은 RAD Studio 2010을 실행하기 위한 요구되는 사항들입니다:

인텔 펜티엄 혹은 호환으로 최저 1.4Ghz (2Ghz이상 권장)

1GB RAM (2GB이상 권장)

Delphi를 설치를 위한 3GB 하드디스크 공간

필수조건으로 750MB 하드디스크 공간

DVD-ROM 드라이브

1024x768 또는 그 이상의 해상도를 갖는 모니터

마우스 또는 다른 포인팅 장비

아래의 윈도우 플랫폼에서 RAD Studio 2010 설치가 가능합니다:

마이크로소프트 윈도우 XP 홈 또는 프로페셔널 (SP3 또는 더 높은 버전)

마이크로소프트 윈도우 비스타 SP1 (Administrator 권한 요구)

마이크로소프트 윈도우 서버 2003 (SP1)

마이크로소프트 윈도우 서버 2008

마이크로소프트 윈도우 7 (Administrator 권한 요구)

참고: RAD Studio 2010 영어 버전은 인터넷 익스플로러가 영문판 6.0 이하인 경우 6.0 SP1으

로 업데이트 합니다. 만일 여러분이 영어가 아닌 언어로 지정된 운영체제를 사용한다면, 윈도

우를 인터넷 익스플로러의 적절한 언어 버전으로 맞추어 업데이트해야만 합니다.

지원 언어

RAD Studio 2010 제품은 아래와 같은 언어들에 대해 완벽하게 로컬라이즈 되어 있습니다.

영어

프랑스어

독일어

일본어

Page 9: RAD Studio 2010 리뷰 가이드 - softwarecatalog.co.kr · 표준 C++ 힙(heap) 매니저 개선 ... Aspect Oriented Programming (AOP) 동적 타이핑 지원(.NET 4.0 이하)

Embarcadero Technologies / DEVGEAR 9

RAD Studio 2010 리뷰 가이드

에디션

RAD Studio 2010 는 서로 다른 시장의 세분화의 요구를 충족시키기 위해 프로페셔널, 엔터프

라이즈, 그리고 아키텍트의 세 가지 서로 다른 에디션을 가지고 있습니다.

프로페셔널 (Professional)

RAD Studio 2010의 프로페셔널 에디션은 일반적인 목적을 필요로 하는 개발자들을 위해 설계

되었으며, 제한적이거나 로컬에 국한된 데이터베이스 접근하는 RAD 개발툴입니다. 프로페셔

널 에디션은 Delphi와 C++ 언어에 대한 IDE의 모든 기능을 포함하며, 완전한 VCL 라이브러

리, VCL 소스 코드, 그리고 통합된 유닛 테스트를 포함합니다. InterBase, MySQL과 Blackfish

SQL 등에 대한 로컬 전용 데이터베이스 액세스를 포함하고 있습니다.

또한 프로페셔널 에디션에는 VCL for the Web의 제한적인 버전을 포함하고 있으며, 개발되는

애플리케이션은 스탠드얼론 서버와 5개의 연결(클라이언트)로 제한됩니다. 프로페셔널 에디션

은 클래스 다이어그램의 역공학(reverse engineering)을 위한 UML을 지원하며, 제한적인 소프

트웨어 메트릭(metrics)과 오딧(audits)을 위한 정적 코드 분석 기능을 포함하고 있습니다.

프로페셔널 에디션은 독립 소프트웨어 기업(ISV)과 원격 데이터베이스 접근이 필요하지 않은

프로페셔널 개발자들, 일반적인 윈도우 애플리케이션과 유틸리티를 개발하고자 하는 모든 개

발자들에게 매력적입니다.

엔터프라이즈 (Enterprise)

RAD Studio 2010의 엔터프라이즈 에디션은 프로페셔널 에디션의 모든 기능을 포함하고 있으

며, RDBMS에 저장된 엔터프라이즈 데이터에 액세스할 필요가 있는 개발자들을 위해 설계되

었습니다. 엔터프라이즈 에디션은 9 가지의 데이터베이스 엔진에 연결하기 위한 로컬 또는 원

격 액세스를 제공합니다:

Firebird 2.1 과 1.5 지원

InterBase 7.5.1, 2007, 2009

Blackfish SQL for .NET 과 Java

Oracle 10g, 11g

Microsoft SQL Server 2000, 2005, 2008

DB2 UDB 8.X

MySQL 4.0.x, 5.1.x

Informix 9x

Sybase Adaptive Server Enterprise 12.5

Sybase SQL Anywhere 9

Page 10: RAD Studio 2010 리뷰 가이드 - softwarecatalog.co.kr · 표준 C++ 힙(heap) 매니저 개선 ... Aspect Oriented Programming (AOP) 동적 타이핑 지원(.NET 4.0 이하)

Embarcadero Technologies / DEVGEAR 10

RAD Studio 2010 리뷰 가이드

추가적으로, 엔터프라이즈 에디션은 VCL for the Web의 전체 버전을 포함하고 있어, 연결 개

수의 제한이 없이 무제한 액세스가 가능하고, 스탠드얼론 애플리케이션, ISAPI 애플리케이션,

아파치 애플리케이션을 개발할 수 있습니다.

엔터프라이즈 에디션은 UML(Unified Modeling Language)를 통해 언어에 중립적인 모델과 코

드 베이스 모델 양쪽 모두에 대해 높은 수준의 모델링을 지원합니다. Delphi 개발자들을 위한

모델-> 코드 / 코드->모델 양방향으로 지원하는 향상된 LiveSource™ 기능이 모델과 코드 사

이의 동기화를 유지하는 데 확장된 기능을 제공합니다. 도큐먼트를 자동으로 생성될할 수 있

는 기능으로 프로젝트를 살펴보고 검토하는 작업이 쉬워지며, 개발자들의 핵심 팀 외부와 의

사 전달을 할 수 있습니다.

DataSnap 기술은 분산 컴퓨팅에 대한 요구가 계속 증가하면서 지속적으로 발전되어 왔습니

다. DataSnap의 기반 기술은 마이크로소프트사의 COM/DCOM을 통한 원격 데이터 접근으로

부터 TCP/IP에 기반한 더 개방적인 커뮤니케이션 접근으로 바뀌었습니다. 이러한 발전으로

DataSnap 기술은 완벽한 미들웨어 기술을 포함하여 기능을 확장하게 되었습니다. DataSnap

기술의 핵심적인 특징들 중 하나는 빠르다는 것입니다. 개발도 빠르고, 배포도 빠르고, 실행도

빠릅니다.

엔터프라이즈 에디션은 기업 데이터에 대한 액세스가 필요한 기업 개발자, 또는 다양한 이기

종 데이터베이스에 대한 지원 필요한 애플리케이션을 개발하는 소프트웨어 기업에 적합합니

다. 엔터프라이즈 급 개발자를 지원하는 컨설턴트 및 VAR도 해당됩니다.

아키텍트 (Architect)

RAD Studio 2010 아키텍트 에디션은 엔터프라이즈 에디션의 모든 기능들을 포함하고 있으며,

Embarcadero ER/Studio 디벨로퍼 에디션을 포함하여 데이터 모델링과 설계 기능들도 포함하

고 있습니다. Embarcadero ER/Studio는 업계를 선도하는 모델링 툴로서, 기업들이 데이터 자

산을 살펴보고, 문서화하고, 재사용할 수 있도록 도와줍니다. 전방위적인 데이터베이스 지원을

제공하므로, 데이터 아키텍트는 기존의 데이터베이스를 쉽게 역공학, 분석, 최적화할 수 있습

니다. ER/Studio의 강력한 협업 기능들을 이용하면 생산성 향상과 조직 표준의 집행을 달성할

수 있습니다.

아키텍트 에디션은 엔터프라이즈 에디션의 모든 기능들을 필요로 하면서 동시에 데이터베이

스의 설계 및 관리 작업들의 생산성을 높이기를 원하는 개발자들에게 적합한 에디션입니다.

Page 11: RAD Studio 2010 리뷰 가이드 - softwarecatalog.co.kr · 표준 C++ 힙(heap) 매니저 개선 ... Aspect Oriented Programming (AOP) 동적 타이핑 지원(.NET 4.0 이하)

Embarcadero Technologies / DEVGEAR 11

RAD Studio 2010 리뷰 가이드

설치

인터넷 다운로드로(ESD: Electronic Software Delivery) 고객들은 작은 런처 프로그램을 받게 됩

니다. 이 런처를 실행하면 인터넷으로 필요한 파일들을 다운로드하고 RAD Studio 2010를 인

스톨합니다. 추가적인 항목들은 아래의 주소의 등록 사용자 웹 페이지에서 다운로드 할 수 있

습니다. http://cc.embarcadero.com/reg/rad_studio.

DVD 장치로 인스톨하기를 원하는 유저나 백업 미디어를 생성하기 원하는 유저들에 대해서는

ISO 다운로드 가능합니다. 미디어 키트 DVD는 별도로 구입할 수 있으며, 한국에서는 데브기

어에서 제품 구입 고객에 대해 추가 비용 없이 무료로 제공하고 있습니다.

통합 개발환경(IDE)

RAD Studio 2010을 실행하면, 개발자들은 통합개발 환경, 즉 IDE를 마주하게 됩니다. IDE는

개발자들이 애플리케이션을 개발하기 위해 필요한 모든 기능들을 단일 애플리케이션으로 통

합한 것입니다. 에디터, 폼 디지이너, 프로젝트 매니저, 디버거, 그리고 애플리케이션을 빠르

고 쉽게 개발할 수 있게 해주는 수많은 다른 특징들을 모두 통합함으로써, IDE는 개발자들이

필요한 모든 기능들을 통합한 단일 환경에서 작업할 수 있도록 해줍니다.

일반적인 사항

IDE는 윈도우 사용자들에게 익숙한 유저 인터페이스를 제공합니다. 기본적인 기능은 드롭-다

운 메뉴와 툴 버튼을 가지고 있는 설정 가능한 툴바를 통해 제공됩니다. IDE의 많은 다양한

윈도우는 도킹 가능하며, 개발자들이 작업 환경을 사용자 지정 가능하도록 해줍니다.

데스크톱의 레이아웃을 저장할 수 있습니다. 저장된 데스크톱들은 디버깅 등 특정 목적으로

지정될 수 있습니다. 개발환경에서 바로 애플리케이션이 실행되고 디버깅 될 수 있습니다. 개

발자들은 IDE, 애플리케이션과 프로젝트의 거의 모든 면에 대한 옵션을 설정할 수 있습니다.

전체 IDE는 효율적이고 빠른 개발을 위해서 사용자 지정이 가능합니다.

Page 12: RAD Studio 2010 리뷰 가이드 - softwarecatalog.co.kr · 표준 C++ 힙(heap) 매니저 개선 ... Aspect Oriented Programming (AOP) 동적 타이핑 지원(.NET 4.0 이하)

Embarcadero Technologies / DEVGEAR 12

RAD Studio 2010 리뷰 가이드

속도가 핵심 – 새로운 IDE 인사이트 패러다임 변화는 RAD Studio에서 발견되는 특징인 새로운 IDE 인사이트를 사용하여 작업하

는 것입니다. 이 것은 개발자가 프로젝

트들, 컴포넌트들, 템플릿, 또는 구성

세팅과 같은 개발 환경에서 무엇인가를

빠르게 검색할 수 있도록 해줍니다. 간

단히 F6 키를 누름으로써, IDE 인사이

트는 표시되며, 개발자가 희망하는 특

징이나 실행되기 원하는 함수들을 타이

핑합니다. 가능한 항목의 목록들이 표

시됩니다. 개발자는 실행 될 함수를 선

택할 수 있으며 또는 IDE 는 그 위치

로 가게 됩니다. IDE 인사이트는 전체

IDE를 언제든지 키를 누르지 않고 사

용할 수 있도록 해줍니다.

많은 키보드를 사용하는 개발자를 대신

하여, IDE 인사이트를 사용할 수 있습

니다.

간단한 예를 통해 IDE 인사이트를 어떻게 활용할 수 있는지 살펴봅시다.

1. IDE를 시작합니다.

2. IDE 인사이트를 띄우기 위해 F6 키를 칩니다.

a. ‘vcl forms’를 타이핑하고 엔터를 쳐서 새 애

플리케이션을 생성합니다.

3. F6 – “TEedit1”을 타이핑하고 엔터를 칩니다.

4. F6 – “Tlistbox1”을 타이핑하고 엔터를 칩니다.

5. F6- “Button”을 타이핑하고 엔터를 칩니다.

6. 폼에 추가된 컴포넌트들을 정렬합니다.

7. 버튼에서 더블클릭 하여 코드로 갑니다.

a. F6를 누르고 템플릿을 봅니다.

b. ECS 키를 눌러 취소합니다.

8. 아래 코드를 타이핑합니다.

그림 1 – IDE 인사이트

그림 2 – 예제 애플리케이션

Page 13: RAD Studio 2010 리뷰 가이드 - softwarecatalog.co.kr · 표준 C++ 힙(heap) 매니저 개선 ... Aspect Oriented Programming (AOP) 동적 타이핑 지원(.NET 4.0 이하)

Embarcadero Technologies / DEVGEAR 13

RAD Studio 2010 리뷰 가이드

a. ListBox1->Items->Add(Edit1->Text);

9. 툴바에서 Run 버튼 을 클릭하여 실행합니다

위의 예제는 버튼이 눌러졌을 때 Edit1의 내용을 ListBox로 넣어주는 예입니다.

애플리케이션이 작성되는 속도가 굉장히 빨라지게 되며, IDE에서 거의 모든 것을 찾을 수 있

다는 것이 개발자들에게 믿기 힘들 만큼 큰 도움이 됩니다. 추가적으로, 기본 IDE가 확장되었

을 때 IDE 인시이트를 확장할 수 있다는 것도 알아두십시오.

클래식 모드 IDE 배치

일부 개발자들은 예전의 Delphi7 및 C++Builder 6 방식의 IDE 배치를 대단히 선호하기도 합

니다. 이전 버전들은 단일 문서 인터페이스(SDI) 만을 지원했으며 여러 모니터에서 잘 작동했

습니다. 비교적 최근의 RAD Studio에서는 다중 문서 인터페이스(MDI)에 기반해 왔으며, 제한

적인 클래식 모드를 지원해 왔습니다 그러나 디자인 환경을 완전히 분리할 수는 없었습니다.

이제 RAD Studio 2010에서는 SDI 환경을 완벽하게 지원하여 이전 버전들과 동일하게 배치할

수 있게 되었습니다.

그림 3 - SDI 를 사용한 Delphi 배치

Page 14: RAD Studio 2010 리뷰 가이드 - softwarecatalog.co.kr · 표준 C++ 힙(heap) 매니저 개선 ... Aspect Oriented Programming (AOP) 동적 타이핑 지원(.NET 4.0 이하)

Embarcadero Technologies / DEVGEAR 14

RAD Studio 2010 리뷰 가이드

코드 작성 – 코드에디터

RAD Studio 2010의 코드 에디터는 단순한 텍스트 에디터를 넘어서 타이핑을 위한 광범위한

지원과 코드 생성을 위한 수많은 도움을 제공하여 개발자의 생산성을 크게 높여줍니다. 코드

에디터는 탭 윈도우들로 구성되며, 한번에 어떠한 파일을 열어서 편집할 수 있습니다. 코드

에디터는 개발자들이 기대하는 모든 생산적인 특징들을 포함합니다:

코드 문법 강조(syntax highlighting)는 코드의 각 부분이 명령어, 문자열, 식별자,

키워드, 예약어 등 어떤 것인지 색깔 별로 확실하게 해주어 쉽게 알아볼 수 있게

해줍니다.

코드 컴플리션(Code Completion)은 개발자가 타이핑함에 따라 사용 가능한

식별자에 대한 힌트를 제공합니다.

라이브 템플릿(Live Templates)을 사용하면 개발자들은 단지 몇 번의 키

입력만으로 많은 양의 코드를 불러들이고 그 코드의 각 부분을 빠르게 채울 수

있게 해줍니다. 라이브 템플릿은 단순히 XML 파일로 되어있으므로 개발자들은

빠르고 쉽게 자신의 템플릿을 만들 수 있습니다. 라이브 템플릿은 또한 완벽하게

스크립트로 제어할 수 있으므로, 개발자들이 상상할 수 있는 모든 것을 코드

에디터에서 할 수 있도록 해줍니다.

클래스 컴플리션(Class completion)은 클래스 선언에 대한 구현 부분을 자동으로

생성해줍니다.

리팩토링(refactoring) 지원은 개발자가 에러 없이 코드를 더 읽기 쉽고 구조화

되도록 다시 작성할 수 있도록 도와줍니다.

그림 4 – 코드 에디터

Page 15: RAD Studio 2010 리뷰 가이드 - softwarecatalog.co.kr · 표준 C++ 힙(heap) 매니저 개선 ... Aspect Oriented Programming (AOP) 동적 타이핑 지원(.NET 4.0 이하)

Embarcadero Technologies / DEVGEAR 15

RAD Studio 2010 리뷰 가이드

코드 인사이트(CodeInsight)는 팝업 창으로 해당 루틴에 필요한 파라미터 정보를

보여줍니다.

에러 인사이트(ErrorInsight)는 문법 에러가 있는 코드에 밑줄을 표시하여 즉시 알아볼 수

있도록 해줍니다.

헬프 인사이트(HelpInsight)는 코드 안의 모든 식별자에 대해 에디터에서 팝업 창으로

기본 설명과 선언 정보를 즉시 보여줍니다.

블록 컴플리션(Block Completion)은 모든 코드가 제대로 열리고 닫히도록 보장합니다.

예를 들면, 개발자가 begin을 입력하고 엔터 키를 치면 대응하는 end가 자동으로

추가되어 개발자의 집중을 방해하지 않고 코드가 제대로 포매팅 되도록 해줍니다.

“문맥 지능적”인 코드로 코드 탐색이 쉬워집니다. 컨트롤 키를 누른 상태에서 식별자를

클릭하면 해당 식별자의 선언 또는 구현 부분으로 이동합니다. 스택 기반 모델을

사용하므로 개발자는 코드 탐색 중에 앞이나 뒤로 이동할 수 있습니다. 간단한 키

조작으로 개발자는 클래스 메소드의 선언 부분과 구현 부분 사이를 이동할 수 있습니다.

인텔리마우스 스크롤을 지원하므로 큰 파일을 쉽게 탐색할 수 있습니다

라인 번호 표시(line numbering)으로 위치 정보를 즉시 알아볼 수 있습니다. 북마크를

지정할 수 있으므로 개발자가 애플리케이션 코드의 특정 위치로 빠르게 돌아갈 수 있도록

해줍니다.

다수의 라인을 한꺼번에 선택하면, 에디터의 마진 영역에 싱크 에디트(SyncEdit) 아이콘이

나타납니다. 싱크 에디트 모드에 들어가게 되면 텍스트에서 하일라이트된 블록 전체에

대해 쉽고 빠르게 검색 및 치환이 가능합니다. 하일라이트된 코드 블록에서 싱크

에디트가 동작하는 동안 리네임 리팩토링 기능을 사용하면 전체 프로젝트에 대해서 문맥

지능적으로 찾아 바꾸기를 하므로 실제로 동일 항목에 해당하는 식별자들만이 변경됩니다.

반복적인 타이핑 작업을 실행하기 위한 키 매크로를 녹화 및 재생할 수 있습니다.

Delphi와 C++ 모두에 새로운 코드 포매팅(Code Formatting) 기능이 추가되었습니다.

간단히 Edit 메뉴의 Format을 선택하거나 CTRL-D를 치면 코드가 자동으로 옵션에서

지정한 포맷으로 포맷됩니다.

그림 5 – 코드 포매터

코드 에디터는 코드 입력을 쉽고, 효과적이고 효율적으로 하도록 설계되었습니다.

Page 16: RAD Studio 2010 리뷰 가이드 - softwarecatalog.co.kr · 표준 C++ 힙(heap) 매니저 개선 ... Aspect Oriented Programming (AOP) 동적 타이핑 지원(.NET 4.0 이하)

Embarcadero Technologies / DEVGEAR 16

RAD Studio 2010 리뷰 가이드

유저 인터페이스를 비주얼하게 디자인 – 폼 디자이너

코드 작성을 하지 않을 때, 개발자들은 컴포넌

트로 유저 인터페이스를 작성하기 위하여 폼의

레이아웃을 맞추는데 많은 시간을 보낼 것 입니

다. IDE는 이런 작업을 위해서 강력한 폼 디자

이너를 제공합니다. RAD Studio 2010의 폼 디

자이너는 실제 윈도우처럼 보여주어 디자인 시

에 위지윅(WYSIWG) 방식의 폼 레이아웃이 가

능합니다. 개발자는 툴 팔레트에서 컴포넌트를

드래그&드롭 방식으로 원하는 대로 폼에 끌어

다 놓을 수 있으며 툴 팔레트 자체는 완전히 사

용자 설정이 가능합니다. 컴포넌트는 비주얼 가

이드라인에 따라 쉽게 간격 조정과 위치 정렬이

됩니다. 비주얼 가이드라인은 컴포넌트가 폼에

드래그 되는 동안 이미 위치해 있는 다른 컴포넌트들과의 정렬을 위해 컴포넌트 간의 공간

등을 표시해주기 위해 나타나는 컬러 라인입니다.

컴포넌트가 폼에 놓여지면, 그 속성들은 오브젝트 인스펙터를 통해 설정될 수 있습니다. 오브

젝트 인스펙터는 컴포넌트의 모든 속성과 이벤트들을 나열하여 컴포넌트의 형태를 빠르고 쉽

게 조작할 수 있도록 해주며, 컴포넌트에 발생할 수 있는 다양한 이벤트에 코드를 연결할 수

있도록 해줍니다.

예를 들면, 오브젝트 인스펙터를 사용하여 개발자가 모든 컴

포넌트의 크기와 위치를 조절할 수 있습니다. 툴바에 버튼을

추가하고, 에디트 박스의 텍스트를 변경하고, 폼의 백그라운

드 색상을 변경할 수 있습니다. 또한 컴포넌트에 OnClick,

OnMouseOver, OnKeyDown 등의 특정 이벤트가 발생했을

때 코드가 실행되도록 지정할 수 있습니다.

툴 팔레트는 IDE에 인스톨되어 있는 모든 VCL 컴포넌트들

을 표시합니다. 툴 팔레트는 기본적으로 RAD Studio 2010에

포함된 모든 표준 컴포넌트를 포함합니다. 또한, 개발자들이

서드 파티 컴포넌트를 추가 할 수도 있습니다.

툴 팔레트는 완전하게 재정의 할 수 있습니다. 컴포넌트는

원하는 대로 그룹화할 수 있습니다. 필터링 검색을 통해 쉽

게 컴포넌트를 찾을 수 있습니다. 레이아웃과 색상은 유저가

지정할 수 있습니다. 컴포넌트들은 마우스나 키보드로 선택하여 폼에 놓을 수 있습니다.

그림 6 – 폼에서 정렬을 쉽게 하도록 해주는

비주얼 가이드라인을 사용한 폼 디자이너

그림 7 – 툴 팔레트

Page 17: RAD Studio 2010 리뷰 가이드 - softwarecatalog.co.kr · 표준 C++ 힙(heap) 매니저 개선 ... Aspect Oriented Programming (AOP) 동적 타이핑 지원(.NET 4.0 이하)

Embarcadero Technologies / DEVGEAR 17

RAD Studio 2010 리뷰 가이드

애플리케이션 파일 관리 – 프로젝트 매니저

애플리케이션은 많은 폼 및 코드 파일들로 빠르게 복

잡해집니다. 많은 애플리케이션들은 많은 서로 다른

바이너리와 프로젝트로 구성됩니다. RAD Studio 2010

의 프로젝트 매니저는 개발자가 IDE에서 바로 프로젝

트를 관리할 수 있도록 해줍니다. 프로젝트 매니저는

파일과 폼들을 프로젝트로, 그리고 여러 프로젝트들을

프로젝트 그룹으로 구성합니다. 개발자들은 프로젝트

에 새로운 폼과 파일들을 생성하여 추가할 수 있고,

기존의 폼과 파일들을 프로젝트에 추가할 수 있으며,

프로젝트 그룹에 새 프로젝트를 추가할 수도 있습니

다. 프로젝트는 프로젝트 매니저에서 바로 컴파일 및

빌드될 수 있습니다. 프로젝트들을 애플리케이션의 필

도 있습니다. 애플리케이션을 구성하는 파일 및 폼들

을 관리하기 위해 필요한 모든 것들을 프로젝트 매니저에서 처리할 수 있습니다.

추가적으로 프로젝트 매니저는 프로젝트마다

요에 따라 지정된 순서로 컴파일되도록 재정렬할 수

여러 개의 빌드 설정(Build Configuration)을 관리

정 기능이 크게 향상되었습니다. 메뉴의

할 수 있습니다. 프로젝트 매니저는 빌드 설정들을 더욱 쉽게 관리할 수 있도록 특정 옵션 셋

을 관리하고, 저장하고, 재사용할 수 있습니다.

추가적으로, 프로젝트 Open / Reopen에 대한 지

Tools|Options |Reopen을 통해 표시될 프로젝트와 파일들의 수를 지정할 수 있습니다.

그림 9 – Reopen 메뉴 설정 페이지

그림 8 – 프로젝트 매니저

Page 18: RAD Studio 2010 리뷰 가이드 - softwarecatalog.co.kr · 표준 C++ 힙(heap) 매니저 개선 ... Aspect Oriented Programming (AOP) 동적 타이핑 지원(.NET 4.0 이하)

Embarcadero Technologies / DEVGEAR 18

RAD Studio 2010 리뷰 가이드

내부 – 디버거

나 예상치 못한 애플리케이션 오작동이 발생할

경우, 개발자는 애플리케이션 내부 작동을 살펴보고 프로그램 실행 중에 무슨 일이 일어나는

지 살펴볼 수 있어야 합니다.

이션이 실행되는 동안 애플리

접근하고 볼

수 있도록 IDE에 통합 디버

거를 제공합니다.

2010 새로운 디버거 들 중 하나는, 디버그 비주얼라 저 (Debug Visualizer)로서,

이것은 읽을 수 없는 데이터에 대한 특별한 뷰어입니다. 읽지

데이터가 무엇인지 질문할 수 있는데, TDate, TTime,

TDateTime 보통 긴 으로 저장되는 데이터입니

다. 새로운 비주얼라이저를 이용하면 데이터가

표시됩니다 이것은 2진 형식이어서 일반적

으로 알아볼 수 없는 자체 객체 데이터 사용하는 수

많은 개발자들에게 도움을 줄 있습니다

세스를 얻을 수 있도록 해줍니다. 개발자들은 코

정할 수 있습니

활용하기 위해 애플리케이션들 중 다수가 멀티

동작 들여다보기

모든 개발은 문제에 봉착하게 마련입니다. 버그

RAD Studio 2010은 애플리케

케이션에 깊숙히

버전의 기능 이

못하는

객체처럼 형식

사람이 알아볼

수 있는 형식으로 .

정의 나 를

수 .

애플리케이션이 IDE 안에서 실행되면, 디버거가 인계 받아 개발

하고 전체 프로세스에 대한 모든 정보로의 액

자가 실행된 프로세스를 제어

드 안 어떠한 곳에도 브레이크 포인트를 설정하여 실행을 멈출 수 있습니다.

브레이크 포인트는 설정 변경이 가능하며, 매번 작동하도록 하거나, 특정 횟수 이후에 작동하

도록 하거나, 사용자 코드 내에서 변수나 함수의 값의 조건으로 작동하도록 지

다. 예외 등으로 인해 실행이 중단될 때마다 암시적으로 브레이크포인트가 생깁니다. 일단 실

행이 정지되면, 디버거는 영역(scope) 내의 모든 정보를 액세스할 수 있게 해줍니다. 개발자

들은 원하는 변수의 값을 추적하기 위하여 워치(watch)를 설정할 수 있습니다. 개발자는 코드

를 한 줄씩 실행하면서 언제든 변수의 값을 조사할 수 있습니다. 디버거는 현재의 호출 스택

(call stack), 모든 로드된 모듈, 그리고 애플리케이션과 관련된 모든 쓰레드의 상태 등을 표시

합니다. 만일 더 상세한 내용이 필요하다면, 디버거는 CPU 레벨의 뷰를 표시하여 실행 중인

정확한 어셈블리 코드를 보여줄 수 있습니다.

또한 2010에서 새로운 것은 각각의 쓰레드를 얼리고(Freeze) 다시 녹일(Thaw) 수 있다는 것

입니다. 이것은 새로운 멀티 코어 프로세서를

쓰레드로 되어가고 있기 때문에 점점 더 중요해지고 있습니다.

그림 11 – 디버그 비주얼라이저

그림 10 – 브레이크포인트에서 정지한 디버거

Page 19: RAD Studio 2010 리뷰 가이드 - softwarecatalog.co.kr · 표준 C++ 힙(heap) 매니저 개선 ... Aspect Oriented Programming (AOP) 동적 타이핑 지원(.NET 4.0 이하)

Embarcadero Technologies / DEVGEAR 19

RAD Studio 2010 리뷰 가이드

그림 12 – 디버그 얼림(Freeze)과 녹임(Thaw) 인터페이스

인터페이스는 또한 개발자가 각각의 쓰레드에 대해 브레이크포인트를 지정할 수 있도록

세스 – 데이터 익스플로러

. IDE의 패널

빠르고 강

수 있습니다. 테이블들을 데이터

수도 있습니다.

허용합니다.

데이터 액

많은 애플리케이션이 데이터 액세스를 필요로 합니다

중 하나인 데이터 익스플로러는 데이터베이스 데이터에

력하게 액세스할 수 있게 해줍니다. 데이터 익스플로러는 RAD

Studio의 데이터베이스 액세스 기술인 dbExpress에서 지원하는 모

든 RDBMS에 대해 연결을 생성할 수 있습니다. 일단 연결이 생성

되면 데이터 익스플로러를 통해 해당 데이터베이스의 데이터와 메

타 데이터를 살펴볼 수 있게 됩니다. 연결과 데이터를 사용할 수

있게 되고 나면 데이터 익스플로러에서 커넥션과 테이블들을 드래

그하여 폼 디자이너로 드롭 하는 방식으로 데이터 액세스 컴포넌

트를 생성할 수 있습니다.

Firebird와 같은 새로운 데이터베이스도 익스플로러에 추가하여 모

든 강력한 기능들을 함께 사용할

익스플로러로부터 드래그하여 폼이나 데이터모듈에 위치시킬 수

있으며, 자동으로 커넥션과 테이블 컴포넌트가 생성되어 데이터베

이스를 간단히 액세스할 수 있습니다.

추가적으로 데이터 익스플로러로 데이터를 살펴볼 수도 있으며,

비주얼 쿼리 빌더를 사용하여 쿼리를 작성할

Page 20: RAD Studio 2010 리뷰 가이드 - softwarecatalog.co.kr · 표준 C++ 힙(heap) 매니저 개선 ... Aspect Oriented Programming (AOP) 동적 타이핑 지원(.NET 4.0 이하)

Embarcadero Technologies / DEVGEAR 20

RAD Studio 2010 리뷰 가이드

비주얼 컴포넌트 라이브러리

RAD Studio 2010은 거의 모든 유형의 애플리케이션을 개발할 수 있지만, 그 중에서도 윈도우

클라이언트 또는 독립 데스크톱 애플리케이션을 개발할 때 특히 강력합니다. 바로 RAD

Studio 2010이 애플리케이션 개발 프레임워크인 비주얼 컴포넌트 라이브러리 (VCL)을 제공하

기 때문입니다. VCL은 윈도우 애플리케이션 구축을 캡슐화 하기 위해 Win32 API의 광범위한

영역을 모두 포괄하는 클래스 라이브러리입니다. VCL은 컴포넌트 기반으로 설계되어, 개발자

들이 폼 디자이너 상에서 컴포넌트를 구축하여 활용할 수 있도록 되어 있습니다

그림 14 - 폼 위에 여러가지 VCL 컨트롤들이 올라가 있습니다.

VCL 은 RAD Studio 2010에서 윈도우 애플리케이션 개발하는 기반이 됩니다. VCL은 MS 윈도

우 기반의 한 윈도우를 TForm으로 캡슐화 하여 제공합니다. (오래된 명명 규칙, 즉 네이밍 컨

벤션에 따라 오브젝트 파스칼의 클래스는 ‘T’로 시작하게 됩니다). IDE의 폼 디자이너는 “캔버

스 (canvas)”를 제공하는데 개발자는 그 위에다가 UI를 디자인 하게 됩니다. VCL은 모든 윈도

우 표준 UI 컨트롤을 래핑하여 TButton, TEdit, TLabel, TCheckbox 와 같은 컴포넌트로 제공합

니다. VCL 프레임워크는 간단한 상속을 통해 확장될 수 있으므로 사용자들은 자신들이 개발

한 컴포넌트를 사용하여 IDE를 손쉽게 보강하여 사용할 수 있습니다. (그 결과 상업용, 프리웨

어, 오픈 소스의 풍부하고 광범위한 커뮤니티에서 써드파티 개발자들이 VCL 개발자들을 위해

더 많은 기능의 컴포넌트를 광범위하게 제공하고 있습니다)

VCL이 놀라울 만큼 견고하다는 것은 지금까지 수년간에 걸쳐 많은 다양한 플랫폼에서 VCL

Page 21: RAD Studio 2010 리뷰 가이드 - softwarecatalog.co.kr · 표준 C++ 힙(heap) 매니저 개선 ... Aspect Oriented Programming (AOP) 동적 타이핑 지원(.NET 4.0 이하)

Embarcadero Technologies / DEVGEAR 21

RAD Studio 2010 리뷰 가이드

을 채택되어 사용되면서 이미 입증된 바입니다. VCL은 16-비트 윈도우에서 시작하였지만 윈

넘어갔으며, 과거에 이미 리눅스와 .NET 지원이

적용되기도 했었습니다.

Windows의 모든 지원되는 버전에서 동작 (2000, XP, Vista, Windows 7)

터치 하드웨어가 없을 경우 현재 연결된 하드웨어로 동작 (예: 마우스).

기본 VCL에서 터치와 멀티 터치 인터페이스를 위한 통합된 지원

쓰고, 확대하고, 회전하고,또는 다른 작업을 위한 30개 이상의 기본 제스처

사용자 제스처 에디터를 사용하여 자신의 제스처를 작성합니다.

터치 키보드 – 복수개의 위치와 언어를 제공하는 키보드를 사용하지 않는

인터페이스 상호작용을 강화하는 완벽한 가상 키보드

Delphi/C++Builder 2010의 새로운 데이터베이스 및 터치 기능의 예제

다음은 제스처 지원을 사용하여 복수개의 데이터베이스 애플리케이션을 작성하기 위한 단계

별 프로젝트입니다. 이 예제와 같이 머신에 인터베이스와 파이어버드 모두 로드 할 필요가 있

을 수 있습니다. InterBase 2009 개발자들은 패키지에 포함되어 있으며 Firebird는

http://www.firebirdsql.org/

도우 95을 지원하기 위해 곧바로 32-비트로

터치 기능으로 미래 지향적 개발

빠르게 터치 기반의 GUI, 태블릿, 터치 패드, 키오스크 애플리케이션을 작성할 수 있으며 추

가되는 코딩 없이 또는 적은 코딩으로 기존의 애플리케이션 UI를 쉽게 업그레이드 할 수 있

습니다.

플러그 될 수 있는 제스처 엔진 아키텍처

에서 Firebird를 다운로드 받으실 수 있습니다.

주의: RAD Studio의 bin 디렉토리 또는 전체 경로에서 Firebird 클라이언트 라이브러리

(fbclient.dll)를 가지고 있음을 확인하십시오.

(‘VCL Forms Application’)

커넥션을 확장하여 테이블 합니다

4. 툴 팔레트의 Data Access 탭에 있는 DataSetProvider를 드래그합니다.

1. F6 키를 눌러 새로운 VCL 폼 애플리케이션을 시작합니다

2. Data Explorer 탭으로 갑니다

a. Firebird 커넥션을 확장하여 테이블 등이 보이게 합니다

b. InterBase 등이 보이게

3. Firebird 연결로부터 Employee_Project를 화면으로 드래그/드롭 합니다.

폼 위에 두 개의 컴포넌트가 나타날 것입니다.

a. FBConnnection

b. EMPLOYEE_PROJECT

Page 22: RAD Studio 2010 리뷰 가이드 - softwarecatalog.co.kr · 표준 C++ 힙(heap) 매니저 개선 ... Aspect Oriented Programming (AOP) 동적 타이핑 지원(.NET 4.0 이하)

Embarcadero Technologies / DEVGEAR 22

RAD Studio 2010 리뷰 가이드

a. 속성 에디터에서 DataSet을 Employee_Project로 지정합니다.

5. 툴 팔레트의 Data Access 탭에 있는 ClientDataSet을

드래그합니다.

a. Set Provider를 DatSetProvider1로 지정합니다.

오른쪽 마우스를 클릭하여 모든 필드를 추가합니다.

ataSource1가

b. ClientDataSet1 컴포넌트에서 오른쪽 마우스를 클릭하여

필드 에디터를 선택합니다.

c.

d. Emp_NO와 Proj_ID를 화면에 드래그하고, D

추가 되는 것을 확인 하십시오

6. 툴 팔레트 Data Controls에 있는 Navigator를 드래그합니다

a. 속성 에디터에서 DataSource1을 연결합니다.

그림 16 – 지금까지의 화면 배치

7. 데 화면위로 드래그합니다.

8. 서 DataSetProvider2를 추가합니다

a. ProviderName = DataSetProvider2

이터 익스플로러에서 InterBase를 열고 Employee 테이블을

두 개의 테이블이 표시됩니다

a. IBConnection

b. EMPLOYEE

툴 팔레트의 Data Access 에

9. Drop a 툴 팔레트의 Data Access 에서 TClientDataSet2를 드롭합니다

그림 15 – 필드 에디터

Page 23: RAD Studio 2010 리뷰 가이드 - softwarecatalog.co.kr · 표준 C++ 힙(heap) 매니저 개선 ... Aspect Oriented Programming (AOP) 동적 타이핑 지원(.NET 4.0 이하)

Embarcadero Technologies / DEVGEAR 23

RAD Studio 2010 리뷰 가이드

b. MasterSource = DataSource1 (Firebird 데이터베이스)

c. MasterField = Emp_No = Emp_No

그림 17 – 마스터-디테일 구조 설정

10. 툴 팔레트의 Standard에서 GroupBox를 드롭합니다.

11. ClientDataSet2에서 오른쪽 마우스 클릭하여 필드 에디터를 선택합니다

12. 모든 필드를 추가합니다

13. 필드 에디터에서 다음의 필드들만 선택하여 폼으로 드래그합니다.

First_Name, Last_Name, Salary

그림 18 – 마스터-디테일 구조 설정

14 active를 True로 지정합니다 . EMPLOYEE_PROJECT, EMPLOYEE

Page 24: RAD Studio 2010 리뷰 가이드 - softwarecatalog.co.kr · 표준 C++ 힙(heap) 매니저 개선 ... Aspect Oriented Programming (AOP) 동적 타이핑 지원(.NET 4.0 이하)

Embarcadero Technologies / DEVGEAR 24

RAD Studio 2010 리뷰 가이드

15 합니다

수 있습니다

16. 모두 저장합니다

17. Run 클릭하여 실행합니다.

제스처 / 터치 기능 추가

지금 우리는 애플리케이션에 제스처 지원을 추가하기를 원합니다. 터치와 제스처가 VCL에 구

성되었기 때문에, 모든 VCL 애플리케이션들은 이 우수한 특징을 이용할 수 있게 되었습니다.

심지어 터치 스크린 컴퓨터가 없는 유저들도 마우스를 통해서 제스처를 이용할 수 있습니다.

18. 제스처를 추가합니다

19. 툴 팔레트의 Additional 에서 니다

를 선택합니다

. ClientDataSet1, ClientDataSet2 active를 True로 지정

디자인 상태에서 실제 데이터를 볼

ActionManager 컴포넌트를 추가합

20. ActionManager 에서 오른쪽 마우스를 눌러 Customize

그림 19 – 액션 매니저 사용자 정의

a. New Standard Action을 선택합니다

b. DataSet 액션으로 갑니다.

Page 25: RAD Studio 2010 리뷰 가이드 - softwarecatalog.co.kr · 표준 C++ 힙(heap) 매니저 개선 ... Aspect Oriented Programming (AOP) 동적 타이핑 지원(.NET 4.0 이하)

Embarcadero Technologies / DEVGEAR 25

RAD Studio 2010 리뷰 가이드

그림 20 – 제스처로 지원할 액션들

c. First, Prior, Next, Last, 그리고 Insert 을 선택합니다.

d. OK를 클릭합니다

e. ActionManager에 DataSet이 보일 것입니다.

f. Close 버튼을 클릭합니다

21. 어디에서 제스처를 지원할 지 잠깐 생각해봅니다. (개별 컨트롤 혹은 폼)

a. 폼 위의 제스처가 하이라이트 됩니다.

b. 에디터박스의 Touch가 하이라이트 됩니다.

22. 폼에 GestureManager 컴포넌트를 내려 놓습니다.

23. 폼의 Touch 속성의 Gesture 하위 속성을 GestureManager1으로 지정합니다

a. GestureManager1컴포넌트에서 오른쪽 마우스를 클릭하여 Custom Gestures를

선택해봅니다.

24. 폼으로 돌아와서 터치 관련 설정을 합니다

a. Touch 속성 -> Gestures -> Standard를 확장하여 디폴트 제스처를 살펴봅니다

b. Next 및 Prior만 선택할 것입니다

i. LefttoRight = Next 액션

ii. RighttoLeft = Prior 액션

25. 모두 저장합니다

26. 실행합니다

Page 26: RAD Studio 2010 리뷰 가이드 - softwarecatalog.co.kr · 표준 C++ 힙(heap) 매니저 개선 ... Aspect Oriented Programming (AOP) 동적 타이핑 지원(.NET 4.0 이하)

Embarcadero Technologies / DEVGEAR 26

RAD Studio 2010 리뷰 가이드

이 애플리케이션이 실행되면, 왼쪽에서 오른쪽으로 왼쪽 마우스 버튼을 누른 채로 스크린에

드래그하여 다음 레코드로 이동할 수 있는데, 이것은 DBNavigator 컴포넌트의 > 버튼을 누

르는 것과 같은 효과입니다. 또 이전 레코드로 이동하기 위해 왼쪽 마우스 버튼을 누른 채로

오른쪽에서 왼쪽으로 스크린상에서 드래그하여 사용할 수 있습니다.

C++Builder를 위한 새로운 클래스 익스플로러

C++Builder 2010의 또 다른 기능은 새로운 클래스 익스플로러입니다. 클래스 익스플로러는 전

체 프로젝트 안에서 클래스 구조를 볼 수 있는 능력과 클래스 모델링 기능을 가지고 있습니

다. 개발자는 클래스를 보는 방식으로 상향식(top-down) 또는 하향식(bottom-up)을 선택할 수

있습니다. 추가적으로 클래스 익스플로러를 통해 기존의 클래스 라이브러리에 클래스, 메소드,

프로시저들을 등록할 수 있으며 매우 빠릅니다.

그림 21 – 새로운 C++ 클래스 익스플로러 인터페이스

Page 27: RAD Studio 2010 리뷰 가이드 - softwarecatalog.co.kr · 표준 C++ 힙(heap) 매니저 개선 ... Aspect Oriented Programming (AOP) 동적 타이핑 지원(.NET 4.0 이하)

Embarcadero Technologies / DEVGEAR 27

RAD Studio 2010 리뷰 가이드

새로운 아키텍처

를 제공하고 비즈니스

룰을 관리하는 멀티 티어 애플리케이션 서버를 작성할 수 있게 해줍니다. 미들 티어는 데이터

과정에서 비즈니스 룰들을 적용

하고 데이터를 업데이트 합니다. DataSnap은 또한 미들 티어 액세스를 가능하게 해주는 강력

RAD Studio 2010에서, 이러한 COM의 의존성

이 사라지고 서버 메소드라는 강력하면서도 가벼운 구현으로 대체되었습니다. 서버 메소드는

개발자들이 미들 티어에 속하는 메소드를 작성할 수 있게 해줍니다. 이 서버 메소드는 매끄럽

게 클라이언트에서 사용할 수 있습니다. 개발자들은 서버 메소드를 클라이언트 바이너리 안에

서 실행되는 것과 똑같이 호출할 수 있습니다. 서버 메소드를 파리미터로 문자열, 정수형, 데

이터셋, 데이터 리더, 연결, OLEVariants 등 dbExpress 타입 시스템의 모든 타입들을 전달할

수 있습니다. 이것은 클라이언트와 미들 티어 사이에 데이터를 전달하는 대단히 강력한 수단

입니다.

새로운 DataSnap은 또한 기존의 DataSnap 서버에 대한 지원도 제공합니다.

그림 22 - DataSnap 에 대한 새로운 지원 기능들

멀티 티어 데이터베이스 – DataSnap 2010

Delphi는 DataSnap이라는 멀티 티어 데이터베이스 개발 프레임워크를 포함한 첫 번째 개발

툴이었습니다. DataSnap은 개발자들이 싱글 애플리케이션에서 데이터

베이스의 “초병” 역할로서, 데이터의 액세스를 제공하며 처리

한 클라이언트 솔루션과, 클라이언트 상에서 데이터를 관리하고 처리하기 위한 강력한 인 메

모리 데이터 셋을 제공합니다.

RAD Studio 2010에서는 DataSnap 아키텍처에 큰 업데이트가 있었습니다. 이전 버전에서

DataSnap은 COM 기술에 의존하고 있었습니다.

Page 28: RAD Studio 2010 리뷰 가이드 - softwarecatalog.co.kr · 표준 C++ 힙(heap) 매니저 개선 ... Aspect Oriented Programming (AOP) 동적 타이핑 지원(.NET 4.0 이하)

Embarcadero Technologies / DEVGEAR 28

RAD Studio 2010 리뷰 가이드

새로운 DataSnap에서는 HTTP/HTTPS를 통한 액세스, 레스트풀(Restful) 웹 서비스 접근

증과 암호화를 추가 능력을 지원합니다. 추가적으로, IIS 서버에 인-프로세스 배포도 가능

, 인

합니

수도 있습니다. 이러한 모델과 다이어그램은 프로젝트의 도큐

먼트를 자동으로 만들어 주는 목적으로도 사용할 수 있습니다.

다.

검사&메트릭과 UML 통합

프로젝트로부터 직접 모델을 역공학(reverse engineering) 할 수 있습니다. 이렇게 하면 프로젝

트의 클래스들이 트리 구조로 보여지는 계층적인 모델 뷰(Model View)가 생성되며, 또한 UML

클래스 다이어그램으로 표시할

그림 23 – 모델 뷰로부터 작성된 UML 클래스 다이어그램

Page 29: RAD Studio 2010 리뷰 가이드 - softwarecatalog.co.kr · 표준 C++ 힙(heap) 매니저 개선 ... Aspect Oriented Programming (AOP) 동적 타이핑 지원(.NET 4.0 이하)

Embarcadero Technologies / DEVGEAR 29

RAD Studio 2010 리뷰 가이드

UML 통합은 코드 기반 모델과 코드 기반이 아닌 모델 양쪽 모두를 지원합니다. 이것은

개발자는 특정 언어에 대한 고려 없이 모델을 작성할 수 있으며, 그런 후 RAD Studio는 이런

언어

에 의존하지 않는 모델로부터 소스 코드를 생성할 수 있다는 것을 의미합니다. 또한 대상

코드의 상태를 체크하고 잘못된 코딩 관행을 찾아주는 완전한 소스 코드 메트릭과 감사 기능

서는 결과 바이너리는 타입들

( 속성들)에 대한 정보를 가지는 특수한

메타데이터를 포함하게 됩니다. RTTI 유닛에서 제공되는 기능을 이용하면 실행 시에 이 정보

를 얻어낼 수 있습니다. 이런 기능들을 이용하면, RTTI로 노출시킨 모든 타입을 조작할 수 있

는 더 추상적이고 일반화된 프레임워크를 만들어낼 수 있게 됩니다.

검색 명령 변경

여러 검색 명령들이 향상되었으며 다음과 같이 확장되었습니다:

Search > Find 명령어 (^F) 가 재설계되었으며, 이제 다이얼로그 박스로 나타나는 대신

코드 에디터 윈도우의 아래 모서리에 작업표시줄과 비슷하게 나타납니다:

이제 검색한 내용과 매치되는 모든 부분들이 하이라이트 됩니다. 첫 번째 매치되는

위치가 하이라이트 되고, 화면에 보이는 다른 모든 매치 부분들은 다른 색으로

하이라이트 됩니다.

o 하이라이트 하는 두 가지 색은 IDE의 color 설정에서 지정되어 있습니다.

o Tools > Options > Editor Options > Colors의 Additional search match highlight

항목에서 Background color와 Foreground color을 선택하여 이 색들을 사용자 지정할

수 있습니다.

o 모든 검색 매치되는 부분에서 하이라이트 되는 것을 막으려면, Tools > Options >

Editor Options의 Show all search matches 체크박스의 체크를 빼면 됩니다.

검색 바에서 점증 검색(Incremental Search)도 가능합니다:

그냥 바로 타이핑을 하거나, 혹은 입력한 내용과 일치하는 이전의 검색 문자열들에서

선택할 수 있습니다.

Search > Find in Files 다이얼로그에는 *.pas 나 *.cpp 처럼 와일드카드 지정을 할 수

들을 포함하고 있습니다.

세로운 RTTI 와 RTL 지원

RTTI (Runtime Type Information: 런타임 타입 정보)는 실행 중에 얻을 수 있는 타입 정보에

대한 프로그래밍 패러다임입니다. RTTI 생성이 활성화된 상태에

예를 들면, 클래스 조상, 선언된 필드들, annotation 된

Page 30: RAD Studio 2010 리뷰 가이드 - softwarecatalog.co.kr · 표준 C++ 힙(heap) 매니저 개선 ... Aspect Oriented Programming (AOP) 동적 타이핑 지원(.NET 4.0 이하)

Embarcadero Technologies / DEVGEAR 30

RAD Studio 2010 리뷰 가이드

있는 새로운 필드(Directory)가 추가되었습니다. Directory 필드에 세미콜론으로 디렉토리

이름을 분리하여 입력하거나, 혹은 Folders and Groups 버튼을 클릭하여 Select

Directories 다이얼로그를 열어 여러 디렉토리를 지정할 수 있습니다. 더 자세히

알아보려면 온라인 헬프에서 다음의 키워드들을 찾아보면 됩니다.

o Find in Files

o Searching in Direc

습니다. 이 기능

들은 RAD Studio 2010에서 많은 부분이 확장되기도 했습니다.

데이터베이스 설계와 모델링

퍼 에디션을

사용하여 엔티티와 릴레이션 또는 데이터베이스의 물리적 모델을 생성할 수 있습니다. 이렇

만들어진 모델은 ER/Studio 디벨로퍼 에디션이 지원하는 다양한 데이터 베이스로 익스포

:

http://wind

tory Groups

o Searching in a List of Directories

o Select Directories

RAD Studio 2009 의 새로운 기능들 여러분에게, 업그레이드된 제품에서 가장 흥미로운 점은 최신 버전에 있는 새롭게 추가된 것

들일 것입니다. 이 장에서는 RAD Studio 2009에서 도입된 기능들을 살펴보겠

RAD Studio의 아키텍트 에디션은 데이터베이스 디자인과 모델링을 위한 모든 솔루션을 포함

하고 있습니다. 개발자들은 아키텍트 에디션에 포함되어 있는 ER/Studio 디벨로

트 될 수 있습니다.

ER/Studio 디벨로퍼 에디션에 대한 온라인 데모는 아래의 코드기어 Embarcadero 개발자

트워크에서 보실 수 있습니다

emo1.codegear.com/Tiburon/LaunchReplays/ERStudio/ERStudio.html

새로

제네

제네릭 작성할

, 즉 제네릭한 클래스를 작

성하며 구체적으로 명시하지 않은 타입에서 작동합니다. 클래스에서 제네릭을 이용하는 한 예

는 리스트입 타

입을 .

운 Delphi 언어 기능들

릭 (Generics)

을 이용하면 명시적 타입을 일일이 명시하지 않고도 타입을 사용하는 코드를

수 있습니다. 제네릭은 흔히 파라미터 타입이라고 불리는 일반적인

니다. 리스트 클래스의 코드를 작성하는 시점에서 리스트에 포함될 아이템들의

지정할 필요가 없습니다

Page 31: RAD Studio 2010 리뷰 가이드 - softwarecatalog.co.kr · 표준 C++ 힙(heap) 매니저 개선 ... Aspect Oriented Programming (AOP) 동적 타이핑 지원(.NET 4.0 이하)

Embarcadero Technologies / DEVGEAR 31

RAD Studio 2010 리뷰 가이드

그림 t)을 가진 제네릭 클래스

RAD Studio의 제네릭은 제네릭 메소드와 제약조건 (constraint) 모두를 지원합니다. 제약조건

들어 제약

대한 구현 등

익명 메소드 (Anonymous Methods)는 개발자들이 파라미터로 코드 블록을 전달할 수 있게 하

sure) 타입입니다.

24 – 제약조건(Contrain

(constraint)은 제네릭 타입의 한계를 특정 셋으로만 지정하는 데 사용됩니다. 예를

조건을 통해 제네릭 타입을 오직 생성자를 가진 것들 또는 특정 인터페이스에

으로만 한정할 수 있습니다.

또한 RAD Studio에서는 제네릭 리스트, 컬렉션, 스택, 큐 등을 위한 새로운 런타임 라이브러

리 지원을 제공합니다.

익명 메소드 (Anonymous Methods)

는 코드 구조입니다. 이것은 이름이 지정되지 않은 프로시저나 함수를 말합니다. 익명 메소

드는 코드 블록을 변수에 할당하거나 다른 메소드의 파라미터로 지정할 수 있는 것으로 취급

합니다. 또한 익명 메소드는 해당 메소드가 정의된 컨텍스트에서 변수를 참조하고 값을 바인

딩할 수 있습니다. 따라서 Delphi의 익명 메소드는 코드 블록이 전달 될 때 그 상태를 캡쳐하

는 완전한 클로저(clo

그림 25 - 익명 메소드를 보여주는 코드

Page 32: RAD Studio 2010 리뷰 가이드 - softwarecatalog.co.kr · 표준 C++ 힙(heap) 매니저 개선 ... Aspect Oriented Programming (AOP) 동적 타이핑 지원(.NET 4.0 이하)

Embarcadero Technologies / DEVGEAR 32

RAD Studio 2010 리뷰 가이드

새VCL 기능

리본 컨트롤

RAD Studio는 리본 컨트롤이라고 불리는 Office 2007 UI 컨트롤을 완벽하게 구현하고 있습니

다. 이는 기존의 VCL 아키텍쳐를 사용하여 순수하게 오브젝트 파스칼로만 구축되어 있으므

로 개발자들은 세련되고 강력한, 그리고 사용이 편리한 GUI 애플리케이션을 별도의 코딩 없

이 또한 Delphi의 강력한 TActionManager의 기

반 위에 만들어졌으므로 기존의 애플리케이션을 이 새로운 UI 패러다임을 사용할 수 있도록

리본 컨트롤을 사용하여 구축할 수 있습니다.

마이그레이션 하는 것이 매우 쉽습니다.

그림 26 – 폼 디자이너에서 리본 컨트롤을 사용한 Delphi 폼

추가된 새 컴포넌트

TPNGImage

RAD Studio는 이제 PNG (Portable Network Graphics) 이미지를 완벽하게 지원합니다. PNG 이

미지는 TImage 와TImageList 컴포넌트에서 사용될 수 있습니다. 개발자들은 PNG 이미지를

폼에 표시하거나 툴바 또는 메뉴, 버튼 등에서 사용할 수 있습니다.

TCategoryPanelGroup

TCategoryPanelGroup 컴포넌트는 하나의 단독 컴포넌트 안에서 접었다 폈다를 할 수 있는

패널들의 컬렉션입니다. “아웃룻의 툴바”와 유사한 방식 입니다. TCategoryPanelGroup에는 접

히는 패널을 얼마든지 추가할 수 있으며, 각 패널에는 다른 컴포넌트들을 개수와 타입에 제

한 없이 포함할 수 있습니다.

Page 33: RAD Studio 2010 리뷰 가이드 - softwarecatalog.co.kr · 표준 C++ 힙(heap) 매니저 개선 ... Aspect Oriented Programming (AOP) 동적 타이핑 지원(.NET 4.0 이하)

Embarcadero Technologies / DEVGEAR 33

RAD Studio 2010 리뷰 가이드

그림 27 –TCategoryPanelGroup 에 3 개의 CategoryPanel 가 있으며 2 개는 접혀 있습니다

TBallonHint

RAD Studio는 이제 유연하고 설정 가능한 컨트롤

힌트 시스템을 지원합니다. TCustomHint 클래스

를 상속하면 새로운 힌트 모양들을 보다 쉽게 생

성할 수 있습니다. RAD Studio는 기본적으로

TBalloonHint를 제공합니다. 모든 VCL 컴포넌트

는 이제 CustomHint라는 속성을 가지며,

TCustomHint를 상속받은 컴포넌트를 가리킬 수

있습니다.

RAD Studio 다. 모든 VCL 컴포넌트들은

TCustomHint의 하위 컴포넌트로 참조하는 CustomHint 라 불리는 속성을 가지고 있습니다.

BalloonHint 제목과 텍스트를 지정하여 표시할 수 있으며, 이미지도 표시할 수 있습니

에디트 에 이미지를 넣을 수

있습니다. 이 컨트롤의 이미지를 클릭했을 때 발생하는 이벤트도 제공됩니다.

는 디폴트 구현으로 TBalloonHint를 제공합니

는 메인

다.

TButtonedEdit

TButtonedEdit는 컨트롤을 확장한 것으로서, 컨트롤 안쪽 양면

그림 29 – 검색을 위한 TButtonedEdit. 빨간색 X 는 텍스트를 지우기 위해 사용 가능.

그림 2 – BaloonHint가 표시된 VCL 컨트롤8

Page 34: RAD Studio 2010 리뷰 가이드 - softwarecatalog.co.kr · 표준 C++ 힙(heap) 매니저 개선 ... Aspect Oriented Programming (AOP) 동적 타이핑 지원(.NET 4.0 이하)

Embarcadero Technologies / DEVGEAR 34

RAD Studio 2010 리뷰 가이드

기존 컴포넌트의 업데이트

기존의 컴포넌트 또한 많이 업데이트 되었습니다:

TImageList 컴포넌트는 TImage 컴포넌트가 지원하는 모든 이미지 타입을 포함할 수

있습니다.

TButton 의 버튼이 강화되어 이미지를 표시할 수 있게 되었으며 버튼의 상태에 따라

해당 이미지를 보여줄 수 있습니다. 비스타에서 TButton 은 이제 CommandLink 와

SplitButton 스타일을 지원합니다.

TTreeView 는 이제 이미지 확장을 지원합니다. 즉 노드가 접히거나 열렸을 때 서로

다른 이미지를 표시할 수 있습니다.

TListView 는 이제 비스타 그룹을 지원합니다.

TRichEdit 는 이제 윈도우 리치에디트 (RichEdit) 2.0 스펙을 지원합니다.

TProgressBar 는 이제 테마룩, 마키 그리고 스무스 모드 스타일을 지원합니다. 그리고

이제 패스워드 문자를 커스터마이징 할 수 있으며 TextTip 속성을 제공합니다.

TextTip 은 TEdit 가 비어있고 포커스가 없을 때 “힌트”를 텍스트로 표시합니다.

adero 디벨로퍼 네트워크에 있습니다:

DelphiVCL/DelphiVCL.html

비스타에서는 일시정지(Pause) 및 중지 (Stopped) 상태가 지원 됩니다.

TEdit 는

VCL의 새 기능에 대한 전체 데모는 다음 Embarc

http://windemo1.codegear.com/Tiburon/LaunchReplays/

대부분의 윈도우 애플리케이션은 윈도우

커서,

이제 리소스 매니저 (Resource

Manager)를 제공하여 개발자들이 프로

젝트에 리소스를 쉽게 추가하고 관리할

추가하고 이

름을 지정할 수 있으며, 코드 안에서

TResourceStream 클래스를 사용하여 리

소스를 추출할 수 있습니다.

빌드 설정 (Build Configuration)

개별 프로젝트

새로운 IDE 기능

리소스 매니저

리소스들을 포함합니다. 비트맵,

폰트 등의 데이터가 컴파일된 바이너리

안에 포함될 수 있습니다. RAD Studio는

수 있게 해줍니다. 또한 개발자는 모든

표준 윈도우 리소스 유형을

많은 경우에 Delphi 프로젝트는 하나의 애플리케이션을 생성하기 위해 수많은

그림 30 – 리소스 매니저

Page 35: RAD Studio 2010 리뷰 가이드 - softwarecatalog.co.kr · 표준 C++ 힙(heap) 매니저 개선 ... Aspect Oriented Programming (AOP) 동적 타이핑 지원(.NET 4.0 이하)

Embarcadero Technologies / DEVGEAR 35

RAD Studio 2010 리뷰 가이드

를 포함하게 됩니다. 개발자들은 여러 DLL, EXE, 패키지를 한데 모아 하나의 통합된 솔루션

코드 파일 모두를 관리하는 것은 어려운 을 만들 수 있습니다. 이렇게 서로 다른 프로젝트와

일이 될 수 있습니다. 특히 빌드할 때에는 더욱 그렇습니다.

그림 31 – 상속된 설정을 가진 프로젝트옵션 대화상자와 옵션셋의 적용

프로젝트는 여러 목적에 맞게 서로 다르게 빌드되어야 할 필요가 종종 발생합니다. 테스팅,

디버깅, 필드 테스팅, 릴리즈 용 빌드 작업은 각각 서로 다른 설정과 컴파일러 옵션 셋팅을

는 IDE와 커멘드라인 모두에서 동일하게 작동하는 유연한 빌드 설

정 관리 시스템을 제공합니다.

자들이 프로젝트 옵션셋을 생성하여 빌드 옵션을 설정하고 관리할 수 있

도록 합니다. 옵션셋은 다른 옵션셋으로부터 상속받

수 있습니다. 옵션셋은 파일로 저장되므로 특정 프로

습니다.

클래스 익스플로러

Delphi의 클래스 익스플로러는 RAD Studio 2009에서

Delphi의 클래스 모델링 기능을 바탕으로 만들어졌으며 클래

볼 수 있게 해줍니다. 개발자는 클래스를 보는 방식으로

(bottom-up)을 선택할 수 있습니다. 또한 클래스 익스플로 브러리에 클

래스 드, 프로시저를 추가할 때에도 사용될 수 있

필요로 합니다. RAD Studio

RAD Studio는 개발

아 원하는 대로 상속하고 오버라이딩 할

젝트 또는 다른 설정에도 사용될 수 있

소개 되었었습니다. 클래스 익스플로러는

전체 프로젝트 내부의 스 구조를

상향식(top-down) 또는 하향식

러는 기존 클래스 라이

습니다. , 메소

Page 36: RAD Studio 2010 리뷰 가이드 - softwarecatalog.co.kr · 표준 C++ 힙(heap) 매니저 개선 ... Aspect Oriented Programming (AOP) 동적 타이핑 지원(.NET 4.0 이하)

Embarcadero Technologies / DEVGEAR 36

RAD Studio 2010 리뷰 가이드

그림 32 – 클래스 익스플로러

다른 언어로 번역하고 싶을 것입니다. RAD Studio는 업데이

ITE는 메인 프로젝트를 스캔하여 번역 가능한 모든 스트링, 캡션, 텍스트를 추출합니다. 그런

가 스트링을 번역할 수 있도록 해주는 IDE에 통합된 툴을 사용합니

다. 번역된 내용들은 해당 프로젝트 안의 리소스 DLL로 들어가게 됩니다. 일단 리소스 DLL

빌드 설정과 리소스 매니저 등 새로운 IDE 기능에 대한 전체 데모는 아래의 Embarcadero

디벨로퍼 네트워크에 있습니다:

http://windemo1.codegear.com/Tiburon/LaunchReplays/Delphi2009IDE/Delphi2009IDE.html

번역 툴 (Translation Tools)

세계화 (Globalization)는 RAD Studio의 중요한 테마이며, 개발자들은 새로운 세계화 기능을

활용하여 자신의 애플리케이션을

트되고 개선된 통합 번역 환경 (ITE) 과 외부 번역 매니저 (ETM)를 포함합니다.

ITE 는 IDE에 통합되어 있는 도구로서, 개발자들이 애플리케이션의 번역 버전을 쉽게 만들

수 있게 해줍니다. ITE에서는 여러 언어의 프로젝트를 원하는 대로 습니다.

다음 개발자 혹은 번역자

이 만들어지면 그 프로젝트가 실행될 때 적절하게 번역된 스트링이 표시되게 됩니다.

ETM 은 ITE의 작업 결과와 함께 번역자 혹은 번역 서비스 회사 등으로 보내줄 수 있는 재

배포 가능한 도구입니다. ETM을 이용하여 애플리케이션의 번역을 쉽게 아웃소싱할 수 있

니다.

ITE와 ETM 데모는 아래의 Embarcadero 디벨로퍼 네트워크에 있습니다:

Page 37: RAD Studio 2010 리뷰 가이드 - softwarecatalog.co.kr · 표준 C++ 힙(heap) 매니저 개선 ... Aspect Oriented Programming (AOP) 동적 타이핑 지원(.NET 4.0 이하)

Embarcadero Technologies / DEVGEAR 37

RAD Studio 2010 리뷰 가이드

http://windemo1.codegear.com/Tiburon/LaunchReplays/ASCIInew/ASCIInew.html

향상된COM/ActiveX 지원

RAD Studio는 완전히 새로운 아키텍처가 적용된 COM과 ActiveX 개발 프레임워크를 포함합

니다. 이 새로운 프레임워크는 마이크로소프트 IDL 스펙의 서브셋인 새롭게 “축소된 IDL

(Reduced IDL)” 언어에 기반들 두고 있습니다. 이것은 Delphi의 COM 오브젝트를 정의하기

위해 특별히 설계되었습니다. RIDL 파일과 해당 PAS 파일의 조합은 COM 과 ActiveX 오브젝

트가 이제는 순전히 텍스트로 정의될 수 있음을 의미합니다. 이 두개의 파일은 실제 프로젝

트 자체의 외부에 타입라이브러리 파일 (*.TLB)로 컴파일 될 수 있습니다. 이것은 TLB 파일

이 프로젝트의 검파일된 결과일 뿐이지 프로젝트 자체의 일부가 아니라는 것을 의미합니다.

이런 방식으로 Delphi COM 과 ActiveX 오브젝트는 소스코드 관리 툴 안에서 적절하게 관리

되고 병합되고 저장될 수 있습니다. TLB 파일은 이제 더 이상 COM/ActiveX 프로젝트 정보를

저장할 필요가 없습니다.

그림 1 - *.RIDL 파일을 편집하는 타입 라이브러리 에디터

크에 있습니다:

RAD Studio의 새로운 COM 과 ActiveX 기능에 대한 데모는 아래의 Embarcadero 디벨로퍼

네트워

http://windemo1.codegear.com/Tiburon/LaunchReplays/COM/COM.html

Page 38: RAD Studio 2010 리뷰 가이드 - softwarecatalog.co.kr · 표준 C++ 힙(heap) 매니저 개선 ... Aspect Oriented Programming (AOP) 동적 타이핑 지원(.NET 4.0 이하)

Embarcadero Technologies / DEVGEAR 38

RAD Studio 2010 리뷰 가이드

RAD Studio 2007 의 새로운 기능들

Studio 2010

Blackfish SQL

안에서 작동하거나 서버나 윈도우 서비스로 동작할 수도 있습니다.

배포는 너무나 간단합니다. 바이너리, 데이터베이스 파일, 라이센스 파일을 XCOPY하기만 하

면 됩니다.

Blackfish SQL은 .NET 프레임워크를 활용함으로써, RDBMS로서 완벽한 기능을 제공하면서도

임베디드 시스템에서 엔터프라이즈 시스템으로까지 유연하게 확장 가능합니다.

Blackfish는 다음과 같은 3가지 서로 다른 방식으로 동작할 수 있습니다:

1. 윈도우 서비스

2. 독립형 실행

3. 인프로세스 어셈블리 (in-process assembly)

애플리케이션에서는 Blackfish 에 원격 또는 로컬로 연결할 수 있습니다. 원격 연결인 경우

해당 애플리케이션은 정보 전달을 위해 TCP/IP 스택을 사용할 것입니다. 로컬 연결일 경우

에는 해당 애플리케이션은 Blackfish 어셈블리를 바인딩합니다.

Blackfish는 설치될 때 시스템 시작과 함께 자동 실행되는 윈도우 서비스로 설치될 것입니다.

이를 통해 Blackfish는 각 개발자 장비에서 항상 사용될 수 있습니다. Blackfish SQL은 디폴트

로 2508 포트를 사용합니다.

Blackfish SQL

Deploying with Blackfish SQL and Delphi

아래의 특징들은 Delphi 2007 버전에서 추가된 기능들입니다. 물론 이 모든 것들이 RAD

에서도 여전히 적용됩니다.

RAD Studio 2007은 Blackfish SQL Delphi 에디션을 도입하였습니다. Blackfish SQL은 매니지드

코드로 된 SQL-92 호환 관계형 데이터베이스입니다. Blackfish 는 매우 유연한 RDBMS 입니

다. 이것은 독립형 애플리케이션의 임베디드 데이터베이스로 사용될 수 있을 뿐만 아니라

본격적인 엔터프라이즈 데이터베이스 솔루션으로 쉽게 확장될 수 있습니다. 애플리케이션이

나 웹 솔루션의 프로세스

추가 자료 애플리케이션 구축과 배포에 대한 자세한 내용의 아티클

Developing and

http://dn.codegear.com/article/36955

Blackfish 개발자의 Blackfish SQL 데모

http://video.codegear.com/RADStudioDevDaysSep2007/Blackfish/Blackfish.html

Developing and Deploying with Blackfish SQL and Delphi

http://dn.codegear.com/article/36955

Page 39: RAD Studio 2010 리뷰 가이드 - softwarecatalog.co.kr · 표준 C++ 힙(heap) 매니저 개선 ... Aspect Oriented Programming (AOP) 동적 타이핑 지원(.NET 4.0 이하)

Embarcadero Technologies / DEVGEAR 39

RAD Studio 2010 리뷰 가이드

Blackfish SQL 개발자 가이드

http://cc.codegear.com/Item/24980

Blackfish 개발 팀장인 스티브 쇼니시 (Steve Shaughnessy) 의 Blackfish 블로그

http://blogs.codegear.com/steveshaughnessy/2007/09/06/38776

Blackfish SQL R&D 개발자인 레오넬 토그니올리 (Leonel Tognioli) 의 발표

Introduction to Blackfish SQL

m/CodeRageIIArchives/Day2/LeonelTogniolli_IntroToBlackFishShttp://video.codegear.co

QL_english.zip

로운 기능들의 많은 부분들을 즉시적으로 그리고 쉽게 액세스할 수 있게 해줍니

는 비스타 API 지원을 VCL의 에 추가하여 수준을 한단

애플리케이 포함한 비스타 지원 부분은 오직 비스타에서 실행될 경우에만

동작 수 있습니다. XP나 윈도우 2000에서 작동할 경우 이와 같은 비

기능은 연스럽게 하향조정” 되어 XP 기본형으로 표시됩니다.

이 기능을 활용할 수 있습

ass 속성을 True로 설정하여 폼 전체에 글래스 효과를 낼 수

도 있습니다.

애플리케이션이 비스타 아닌 시스템에서 실행되면 글래스 효과는

동작도

비스타

함된 표준 다이얼로그들도 강화되었습니다.

De

새로운 비스타 다이얼로그 컨

트롤들에 로서, Delphi 개발자들이 매우 쉽게 이들 다이얼

비스타 지원

비스타 운영체제의 출시로 비스타의 새로운 기능들을 지원하는 수많은 새로운 API들이 추가

되었습니다. RAD Studio는 이런 새로운 비스타 API들을 직접적으로 이용할 수 있게 한 최초

의 툴입니다. 새 기능들을 VCL 컴포넌트들과 속성들로 래핑함으로써, Delphi는 개발자들에게

비스타의 새

다. RAD Studio 새로운 많은 컴포넌트

계 더 끌어 올렸습니다.

물론 개발된 션이

예상 로 완벽하게 할 대

자스타 고유의 “

글래스 효과

RAD Studio 2007에서는 윈도우 에어로(Aero) 인터페이스를 지원이 도입되었습니다. VCL에서

폼의 테두리에 “글래스” 프레임을 만들어주는 속성들을 TForm에 추가했습니다. 이렇게 해서

네이티브 윈도우 개발자들은 자신의 네이티브 애플리케이션에서

니다. 이 기능을 구현하는 방법은 대단히 쉬워서, TForm.GlassFrame.Enabled 속성을

True로 설정하기만 하면 됩니다. 개발자들은 폼의 바깥쪽 주변의 글래스 프레임의 너비를 지

정할 수도 있으며, SheetOfGl

글래스 효과를 사용하는 가

아무 하지 않습니다.

다이얼로그

새 비스타 운영체제에서는 또한 운영체제에 포

lphi는 이런 새로운 다이얼로그들을 TFileOpenDialog, TFileSaveDialog,

TTaskDialog 컴포넌트로 캡슐화했습니다. 이런 컴포넌트들은

서 제공하는 기능들을 캡슐화한 것들

Page 40: RAD Studio 2010 리뷰 가이드 - softwarecatalog.co.kr · 표준 C++ 힙(heap) 매니저 개선 ... Aspect Oriented Programming (AOP) 동적 타이핑 지원(.NET 4.0 이하)

Embarcadero Technologies / DEVGEAR 40

RAD Studio 2010 리뷰 가이드

로그들을 자신의 애플리케이션에 통합할 수 있게 해줍니다.

이 지원되므로, 이런 새로운 다이얼로그들을 사용하

예외가 지원되는 동작을 불

AJAX

Delphi 2007 for Win32에서는 VCL에 새로운 부분으로 VCL for the Web이 추가되었습니다.

기능은 오직 비스타 기반 시스템에서만

는 애플리케이션이 비스타가 아닌 시스템에서 실행되고 새 다이얼로그를 호출하면 특수한

발생합니다. 개발자들은 이것을 체크하여 해당 운영 OS에 맞게

러낼 수 있습니다.

와 VCL for the Web

AtoZed Software의 IntraWeb 기술을 기반으로 한 VCL for the Web은 개발자들이 (웹 사이트

가 아닌) 웹 애플리케이션을 표준 Delphi 클라이언트를 개발하는 방식과 동일한 방식으로 개

이트가 아닌 웹 애플리케이션을 생성하기 위해 특별히 맞춰진 최초

이자 유일한 툴입니다. 이 기술은 현재 시장에서 구할 수 있는 어떤 다른 툴보다 더 빠르고

을 이용함으

은 컨트롤들을 폼(HTML 페이지와 폼이 합쳐진 것이라고 볼 수 있습니다)에

eb 데모는 아래의 코드기어 디벨로퍼 네트워크 (CDN)에 있습니다:

발할 수 있게 해줍니다. VCL for the Web은 Win32용 VCL과 매우 비슷하게 동작하는 컴포넌

트 기반의 기술입니다. 개발자들은 폼에 컴포넌트를 드롭하고 속성들을 설정한 후 일반적인

Delphi 폼에서처럼 웹 페이지를 디자인할 수 있습니다. 하지만, 이 VCL for the Web 애플리케

이션은 브라우저에서 실행됩니다.

VCL for the Web 은 웹 사

더 쉽게 웹 애플리케이션을 개발할 수 있게 해줍니다. VCL for the Web은 강력한 HTML 엔진

을 기반으로 하므로 개발자들이 일반적인 윈도우 애플리케이션을 디자인하는 것과 동일한

방법으로 웹 애플리케이션을 디자인할 수 있게 해줍니다. 드래그&드롭 접근 방식

로써, 개발자들

드롭하고 이벤트를 만들 속성을 설정할 수 있습니다.

VCL for the Web은 또한 자동으로 비동기 XML 및 Javascript 기술(AJAX)을 광범위하게 활용

합니다. VCL for the web은 가능한 경우에는 자동으로 필요한 AJAX 코드를 애플리케이션에

삽입하여 클라이언트 측 처리의 이점을 이용할 수 있게 해줍니다. 단순히 디자인타임에

Async 이벤트에 코드를 연결하기만 함으로써 개발자들은 Delphi 코드만으로 AJAX 기반 이

벤트를 클라이언트 브라우저에 생성할 수 있습니다.

VCL for the W

http://windemo1.codegear.com/Tiburon/LaunchReplays/D2009Intraweb/D2009Intraweb.html

dbExpress 4

데이터베

반 데이

3

이스 지원과 데이터로의 컴포넌트 기반 액세스는 Delphi의 첫 등장 때부터 Delphi의

특징들 중 핵심적인 부분이었습니다. 오랜 전통을 이어, Delphi 2007에서는 새로운 기

터 액세스 아키텍처인 dbExpress 4 (dbExpress 4, DBX4)가 포함되었습니다. 이전의 dbExpress

와 컴포넌트 레벨에서 완벽하게 하위 호환되는 DBX4는 완전히 새로 구축된 Delphi 데이터

Page 41: RAD Studio 2010 리뷰 가이드 - softwarecatalog.co.kr · 표준 C++ 힙(heap) 매니저 개선 ... Aspect Oriented Programming (AOP) 동적 타이핑 지원(.NET 4.0 이하)

Embarcadero Technologies / DEVGEAR 41

RAD Studio 2010 리뷰 가이드

베이스 액세스 레이어로서, 동일한 소스로 데이터를 다루는 통일된 수단을 제공합니다.

(connection pooling)과 명령 추적(command tracing) 기능도 포함하고 있

습니다. 추가로, DBX4는 개발자들에게 델리게이트 모델을 공개하여 데이터 액세스 과정에 끼

추가 기능을 할 수 있도록 해줍니다. 또한 DBX4는

이전 버전에 비해 현저하게 성능이 높아졌습니다

Delphi 2007 진 또다른 점은 지원되는 9개의 모두에서 데이터베이

메타데이 풍부한 메타데이터 는 것입니다

고 확장성 있게 변경되었습니다. 일반적인 사용자들은

큰 변화를 느끼지 못하겠지만, 속도 개선과 데이터에 대해 더 폭넓은 액세스를 할 수 있게 된

것은 것 .

udio 한 환경입니다. 이 코드 에디터에는

코드를 작성하는 지겨운 작업들을 줄여주는 여러 기능들이 포함되어 있어, 개발자들이 빠르

를 쉽게

Templates)

emplates)은 개발자들이 몇 번의 키 타이핑만으로 공통 코드 블록을 빠

DBX4는 데이터베이스 드라이버를 개발하는 과정을 대단히 단순화시켜주므로, Delphi 개발자

들이 더 많은 범위의 데이터베이스 서버들을 액세스할 수 있도록 해줍니다. 완전히 오브젝트

파스칼로 작성된 DBX4는 네이티브 및 매니지드 코드 사이에서 크로스 플랫폼 개발이 가능하

게 해주며, 연결 풀링

어 들어 데이터의 읽기 및 쓰기 과정에

에서 새로워 데이터베이스 스

터를 읽고 쓸수 있도록 클래스 셋이 있다 .

dbExpress 4 (dbExpress 4)는 저수준의 아키텍처이므로, Delphi 2007 사용자는 애플리케이션

수준에서는 거의 차이점을 느낄 수 없습니다. dbExpress 컴포넌트들, 즉 데이터를 액세스하고

데이터 컨트롤들에 데이터를 제공하는 VCL 컴포넌트들은 그다지 변경되지 않았습니다. 그 대

신, DBX4 아래의 코드는 더 효율적이

분명히 알아챌 입니다

RAD Studio 2009 의 추가적인 엄선 기능들이 장에서는 RAD Studio 2009의 많은 추가 기능 중 RAD Studio 2009를 살펴볼 때 가장 관심

이 갈 수 있는 몇 가지에 대해 살펴봅니다.

통합 개발환경 (IDE)

코드 에디터 (Code Editor)

RAD St 2009의 코드 에디터는 코드 개발을 위한 강력

게 적절한 메소드 이름을 찾고, 템플릿으로 공통 코드 블록을 삽입하고, 코드 에러

알아볼 수 있게 해줍니다.

라이브 템플릿 (Live

라이브 템플릿(Live T

르고 쉽게 작성할 수 있게 해주는 코드 에디터 기능입니다. 라이브 템플릿은 자기 설명적

(self-describing)이고 지능적인 코드 삽입 기능을 제공하며, 템플릿의 변수 부분들을 인터랙티

브하게 오갈 수 있습니다. 라이브 템플릿은 짧은 기호를 큰 코드 블록으로 확장할 수 있게

해주며, 개발자가 직접 필요한 대로 커스터마이즈할 수도 있습니다.

Page 42: RAD Studio 2010 리뷰 가이드 - softwarecatalog.co.kr · 표준 C++ 힙(heap) 매니저 개선 ... Aspect Oriented Programming (AOP) 동적 타이핑 지원(.NET 4.0 이하)

Embarcadero Technologies / DEVGEAR 42

RAD Studio 2010 리뷰 가이드

그림 34 - 라이브 템플릿이 for 루프를 자동으로 만들어주고 있습니다

위의 그림에서, 개발자는 단지 ‘for’라고 타이핑하고 스페이스 바를 누르기만 함으로써 해당

템플릿을 호출하였습니다. 그러면 템플릿이 나타나고 코드 템플릿을 채우기 위한 입력 지점

을 알려줍니다. 개발자는 탭 키를 눌러 한 입력 지점으로부터 다른 입력 지점으로 이동할 수

있으며, 이동한 지점에서 필요한 정보를 채워 넣을

수 있습니다. 이 라이브 템플릿 시스템은

습니다.

.

코드 Code Completion)

n)은 개발자들이 클래스를 이용하려고 할 때 그 클래스에 대한

모든 정보를 제공하는 코드 에디터 기능입니다. 더불어 현재 코드의 범위 내에서 선언된 식

또한 각각의 입력 지점에서 필요한 정보에 대한 힌트도 제공합니다.

라이브 템플릿은 템플릿이 어떻게 동작할지를 지정하는 단순한 XML 파일로 되어있

따라서 개발자들은 특정 목적을 위한 자신만의 라이브 템플릿을 쉽게 만들어낼 수 있습니다

또한 라이브 템플릿은 스크립트 엔진을 이용할 수 있으므로 거의 모든 기능을 수행할 수 있

습니다.

컴플리션 (

코드 컴플리션(Code Completio

별자들에 대한 모든 정보도 제공합니다.

그림 35 - 코드 완성이 복잡한 식별자를 쉽게 완성해 줍니다.

중요한 애플리케이션들의 대부분은 많은 식별자들을 포함하게 되며, 그런 식별자들은 설명적

많습니다. 코드 완성은 그런 식별자들을 빠르고 쉽

게 타이핑할 수 에 정확한 식별자가 입력될 수 있게 해줌으로써 타이핑 실

수도 줄여줍니다 것처럼, 코드 완성 호출되면 개발자가 타이핑을

시작한 쉽게 찾아낼 있습니다. 선택한 후 엔터 키를 누르기만 하면 코드 에디터

에 추가됩니다.

빠르게 찾을 수 있게

인 의미를 가지고 있어 길이가 긴 경우가

있게 해주며, 동시

. 그림에서 보여주는 기능이

식별자를 수

식별자 전체가

이에 더하여, 코드 완성은 클래스나 레코드의 적절한 메소드와 필드를

Page 43: RAD Studio 2010 리뷰 가이드 - softwarecatalog.co.kr · 표준 C++ 힙(heap) 매니저 개선 ... Aspect Oriented Programming (AOP) 동적 타이핑 지원(.NET 4.0 이하)

Embarcadero Technologies / DEVGEAR 43

RAD Studio 2010 리뷰 가이드

해주어 코드 작성을 도와줍니다.

그림 36 – 코드 컴플리션(Code Completion)이 TButton 변수에 해당하는 모든 메소드를 나열합니다

그림 36에서, 개발자는 식별자 Button1을 입력하고, 마침표를 추가하고 CRTL+SPACE를 누르

, 코드 컴플리션이 TButton 클래스의 부분으로 이

용 가능한 모든 표시합니다. 개발자는 원하는 메소드 또는 필드를

된 항목을 코드 에디터에 추가할 수 있습니다.

블록 컴플리션 (Block Completion)

블록 컴플리션은 코드 블록이 항상 정확히 닫히도록 도와줌으로써 코드의 구조를 개선할 수

있도록 도와줍니다. 예를 들면, Delphi에서는 모든 begin에는 그에 해당하는 end 문이 따라와

야 합니다. 모든 case 문도 end를 필요로 합니다. 블록 컴플리션은 이런 문들이 개발자의 노

력 없이도 정확하게 닫히도록 해줍니다. 개발자가 begin 을 타이핑하고 엔터 키를 누르면, 블

록 컴플리션은 end를 추가하여 블록을 닫고 커서를 다음과 같이 ‘|’ 위치에 이동시킵니다 begin | end;

므로 블록 컴플리션을 실행합니다. 그 결과

메소드와 필드를 목록으로

계속 입력할 수 있고(이 경우 타이핑하는 내용에 따라 코드 컴플리션 리스트가 필터 됨), 혹

은 원하는 항목을 찾기 위해 리스트를 스크롤 해볼 수 도 있습니다. 원하는 항목을 찾아낸 후

에는 단지 엔터 키를 누르기만 하면 선택

에러 인사이트(Error Insight)

에러 인사이트는 개발자에게 코드 에디터에서 문법 에러가 있음을 비주얼하게 보여줍니다. 에

러 인사이트는 코드의 문제를 인식하여 맞춤법 검사기에서의 “붉은 구불구불한 선” 기능과 비

슷하게 개발자에게 알려줍니다.

Page 44: RAD Studio 2010 리뷰 가이드 - softwarecatalog.co.kr · 표준 C++ 힙(heap) 매니저 개선 ... Aspect Oriented Programming (AOP) 동적 타이핑 지원(.NET 4.0 이하)

Embarcadero Technologies / DEVGEAR 44

RAD Studio 2010 리뷰 가이드

그림 37 - 에러 인사이트가 코드 에러를 강조합니다

헬프 인사이트(Help Insight)

헬프 인사이트는 식별자에 대한 정보를 알려주는 제공해주는 “툴팁” 형식의 팝업을 보여줍니

다. 이런 툴팁은 개발자의 코드에서 세 개의 연속된 슬래시(///)로 주석 처리된 XML 태그로 정

의할 습니다. 개발자들은 하고 그 주석이 에 의해 처리되어

수 있 자신의 코드를 주석 처리 IDE

해당 식별자 위에 마우스 커서가 위치했을 때 툴팁 헬프가 나타나도록 할 수 있습니다. 개발

자는 툴팁 자체의 스타일을 CSS(Cascading Style Sheets)를 이용하여 형식을 지정할 수 있습

니다.

그림 38 - 헬프 인사이트를 위해 형식을 바르게 지정한 주석과 그 결과로 나타나는 헬프 인사이트 툴팁.

클래스 선언 위의 텍스트가 툴팁 윈도우의 텍스트와 일치합니다.

Page 45: RAD Studio 2010 리뷰 가이드 - softwarecatalog.co.kr · 표준 C++ 힙(heap) 매니저 개선 ... Aspect Oriented Programming (AOP) 동적 타이핑 지원(.NET 4.0 이하)

Embarcadero Technologies / DEVGEAR 45

RAD Studio 2010 리뷰 가이드

비주얼 디자인 관련 기능들

폼 디자이너

RAD Studio의 폼 디자이너는 개발자에게 비주얼하고 이벤트 기반의 개발 인터페이스를 제공

합니다. 폼 디자이너는 폼 위의 컴포넌트들을 비주얼하게 조작할 수 있게 해줍니다. 개발자는

툴 팔레트로부터 컴포넌트를 드래그&드롭하고 폼의 디자인을 조절하여 디자인타임에 유저 인

터페이스를 만들어낼 수 있습니다. 컴포넌트들은 런타임에서 동작하는 것과 매우 비슷하게 동

작하고 집니다. 오브젝트 인스펙터를 이용하여 컴포넌트들의 속성들을 설정하여 해당 컴

변경되는 즉시 비주얼하게 반영됩니다. 폼 디자이너 자체

많은 애플리 은 수많은 컨트롤들을 가진 폼들을 포 있으 , 인해 그 컨트

롤들을 배열하는 개발자들 다. 레이블은 자신이 설명하는

다른 과 정확하게 배열되어야 하는 경우가 종종 있습니다. 잘 디자인된 폼에서는 컨트

롤들이 적절하게 배열되어야 하며 무작위로 흩어져 있어서는 안됩니다.

RAD Studio의 폼 디자이너는 컨트롤들과 컨트롤 안의 텍스트가 정확히 배열되었는지를 보여

주는 비주얼 가이드라인 기능을 제공합니다. 이 기능은 개발자들이 단지 마우스로 컨트롤을

움직이는 것만으로 폼을 빠르고 쉽게 완성할 수 있게 해줍니다.

보여

포넌트를 조작할 수 있으며, 속성이

도 디자인을 위한 그리드나 비주얼 가이드라인 등 폼에 컴포넌트들의 배열하는 작업을 단순

하고 쉽게 해주는 중요한 디자인 도움 기능을 제공합니다.

비주얼 가이드라인

케이션들 함하고 며 그로

일은 에게 어려운 작업들 중 하나입니

컨트롤

그림 39 - 비주얼 가이드라인을 이용하여 레이블들과 에디트 박스들을 정렬합니다

다는 것을 표시합니다. 진홍색 라

은 컨트롤 내부의 텍스트를 기준으로 표시합니다. 그리고 옅은 회색 라인은 컨트롤들이 자

비주얼 가이드라인은 세가지 유형의 정렬 표시를 제공합니다 (위 그림을 보세요). 파란색 라

인은 컴포넌트의 위, 아래, 왼쪽, 오른쪽이 알맞게 정렬되었

Page 46: RAD Studio 2010 리뷰 가이드 - softwarecatalog.co.kr · 표준 C++ 힙(heap) 매니저 개선 ... Aspect Oriented Programming (AOP) 동적 타이핑 지원(.NET 4.0 이하)

Embarcadero Technologies / DEVGEAR 46

RAD Studio 2010 리뷰 가이드

신의 Margin 및 Padding 속성에 따라 정확히 배치되었다는 것을 표시합니다.

오브젝트 인스펙터

터는 두 가지 기능을 수행합니다: 컨트롤의 속성을 표시하고 값을 설정하는 오브젝트 인스펙

것을 허용하며 컴포넌트에 발생하는 이벤트와 그 이벤트에 접근되는 코드 사이의 연결을 제

공합니다.

그림 40 - TButton 컴포넌트의 속성을 표시한 오브젝트 인스펙터

오브젝트 인스펙터는 동적이며 자동으로 선택된 컨트롤의 속성들을 보여줍니다. 하나 이상의

컨트롤이 선택되면 모든 컨트롤들에 공통된 속성들을 보여줍니다. 오브젝트 인스펙터는 기본

값으로부터 변경된 속성들을 볼드체로 표시하여 알려줍니다. 속성들을 알파벳 순서 혹은 분류

별로 정렬할 수 있습니다. 추가로, 오브젝트 인스펙터의 모양은 완전히 스타일 가능합니다.

프로젝트매니저 (Project Manager)

애플리케이션 프로젝트와 코드, 파일들, 그리고 그와 함께 필요한 다른 리소스들을 관리하는

일은 모든 개발툴에 있어 핵심적인 부분입니다. Delphi는 Delphi 개발자들이 코드 파일들, 폼

파일들, 리소스들, 그리고 다른 항목들을 하나의 개발 프로젝트로 관리할 수 있게 해주는 강

력한 프로젝트 매니저를 제공합니다.

그 이상의 프로프로젝트 매니저는 프로젝트의 계층적인 뷰를 제공합니다. 루트는 하나 혹은

젝트들을 포함하는 프로젝트 그룹입니다. 하나의 프로젝트 그룹에 속한 프로젝트들은 그 사

이의 의존 관계를 고려하여 특정 순서대로 재정렬될 수 있습니다. 한 프로젝트 그룹 내의 모

든 프로젝트들은 프로젝트 매니저에서 나타나는 순서대로 컴파일할 수 있습니다.

Page 47: RAD Studio 2010 리뷰 가이드 - softwarecatalog.co.kr · 표준 C++ 힙(heap) 매니저 개선 ... Aspect Oriented Programming (AOP) 동적 타이핑 지원(.NET 4.0 이하)

Embarcadero Technologies / DEVGEAR 47

RAD Studio 2010 리뷰 가이드

빌드 설정 (Build Configuration)

개발자는 프로젝트 최적화, 경로 검색, 기타 옵션 등

특정 변경된 설정을 적용하여 재정의될

수 있습니다.

빌드 설정은 프로젝트 매니저를 통해 액세스 될 수

있으며, 컨텍스트 메뉴에서 한번의 빌드 명령으로 프

로젝트의 모든 설정을 빌드할 수 있습니다.

프로젝트 옵션은 옵션 셋 (Option Set) 으로 저장될

수 있으므로, 동시에 다수의 프로젝트의 빌드 설정

간에 공유할 수도 있습니다.

빌드 설정 매니저(Build Configuration

Manager) 는 현재 프로젝트 그룹 내의

모든 프로젝트에 적용될 수 있는 모든

명명된 설정을 나열합니다. 이름으로 설

정을 선택하고 ‘모두 선택 (Select All)’을

, ‘적용 (Apply)’하여 전체 프로

젝트를 위해 필요한 설정을 쉽게 활성화

제어할 수 있습니다. 디버거가 브레이크포인트에서 실

행을 일시 중지하면, 범위 내의 모든 변수들을 빈틈없이 쉽게 살펴볼 수 있습니다. 항상 스

다.

을 컨트롤하기 위해 다수의 빌드 설정을 만들 수 있

습니다. 빌드 설정은 기본(base) 설정으로부터 옵션

을 상속하고

클릭하고

할 수 있습니다.

그림 42 – 3 개의 프로젝트를 보여주는 빌드

설정 매니저

디버거

RAD Studio에는 완벽하고 완전한 기능을 갖춘 디버거가 통합되어 있습니다. Delphi의 디버거

는 애플리케이션의 실행 동안 완벽한 제어를 할 수 있게 해주며, 실행되고 있는 머신 코드에

대해 모든 정보를 제공합니다. 개발자들은 모든 변수들의 상태를 추적할 수 있으며, 코드 라

인들을 한 라인씩 진행하면서 실행을

택 추적(stack trace) 기능을 사용할 수 있으며, 일반적으로는 스택에 대한 디버그 정보를 살

펴볼 수 있어 개발자들이 역 방향으로 추적하여 어떻게 특정 지점이나 상태에 도착했는지

추적할 수 있게 해줍니다. 요약하자면, Delphi의 디버거는 문제를 찾으려 할 때 실행중인 애

플리케이션의 동작을 들여다보는 데에 개발자에게 필요한 모든 기능과 자유를 제공합니

그림 41 – 프로젝트 매니저에서의 빌드 설정

(Build Configurations)

Page 48: RAD Studio 2010 리뷰 가이드 - softwarecatalog.co.kr · 표준 C++ 힙(heap) 매니저 개선 ... Aspect Oriented Programming (AOP) 동적 타이핑 지원(.NET 4.0 이하)

Embarcadero Technologies / DEVGEAR 48

RAD Studio 2010 리뷰 가이드

브레이크포인트 (Breakpoint)

디버깅 기법들 중 가장 일반적이고 1차적인 방법은 브

것입니다. 브레이크포인트는 특정 지점에서 프로그램의

거에게 지시하는 신호입니다. 디버거가 브레이크포인

리케이션이 종료되거나 어떤 다른 방법으로 프로그램의

거는 실행을 일

레이크포인트(breakpoint)를 이용하는

실행을 일시적으로 정지시키도록 디버

트에서 코드 실행을 정지시켰을 때 애플

실행을 끝내지 않습니다. 대신, 디버

시 정지시키고 개발자들이 애플리케이션의 동작과 상태를 들여다볼 수 있도록

는 방법들에 대해서는 아래에서 설명합니해줍니다. 개발자가 애플리케이션의 상태를 볼 수 있

다.

그림 43 - 디버거가 브레이크포인트에서 중지시킨 상태에서

펼칠 수 있는 와치 (Expandable Watches)

치는 개발자들이 코드의 특정 항목을 계속 지켜보기 위해 사용할 수 있는 애플리케

이션

속 추적하고 . RAD S

추적되고 갈

.

디버거 툴팁을 펼쳐놓았습니다

디버거 와

내부의 특정 변수들에 대한 참조입니다. 디버거는 지정한 모든 와치 변수들의 상태를 계

보고하게 됩니다. tudio 2010은 펼칠 수 있는 와치를 제공하는데, 이것은

있는 복잡한 항목들의 값을 “파고 내려 ” 수 있게 하기 위한 것입니다. 표는 객체

대한 내부 정보를 보여주기 위해 펼쳐진 툴팁 와치를 보여줍니다.

CPU 뷰

디버거의 CPU 뷰는 개발자에게 애플리케이션의 머신 코드 레벨의 완벽한 정보를 제공합니다

개발자는 CPU 뷰 안에서 애플리케이션 내부의 모든 저수준 정보들을 살펴볼 수 있으며, 여

기에는 레지스터들의 상태와 현재 실행중인 실제 ASM 코드, 애플리케이션의 정확한 바이너

리 코드, 그리고 FPU의 상태 등이 포함됩니다. 이 레벨에서는 어떤 정보도 숨겨지지 않습니

Page 49: RAD Studio 2010 리뷰 가이드 - softwarecatalog.co.kr · 표준 C++ 힙(heap) 매니저 개선 ... Aspect Oriented Programming (AOP) 동적 타이핑 지원(.NET 4.0 이하)

Embarcadero Technologies / DEVGEAR 49

RAD Studio 2010 리뷰 가이드

다. 전체 CPU 윈도우는 그림에서 보는 것과 같지만, CPU 뷰의 각각의 사각 영역들은 개별적

으로 보이게 하거나 도킹할 수도 있습니다.

그림 44 – CPU 는 애플리케이션의 원시코드 뷰를 완벽하게 보여줍니다

Page 50: RAD Studio 2010 리뷰 가이드 - softwarecatalog.co.kr · 표준 C++ 힙(heap) 매니저 개선 ... Aspect Oriented Programming (AOP) 동적 타이핑 지원(.NET 4.0 이하)

Embarcadero Technologies / DEVGEAR 50

RAD Studio 2010 리뷰 가이드

통합된 유닛 테스팅 (Integrated Unit Testing)

est-driven Develo TDD)테스트 주도 개발(T pment; 은 최근 몇 년 동안 점점 더 많은 인기를 끌

고 있으며, 유닛 테스팅은 그 방법론 중에서 주요한 부분입니다. RAD Studio는 DUnit (DUnit은

Delphi 코드에 대해 유닛 테스팅을 수행하기 위한 Delphi 기반의 라이브러리입니다). 개발자들

은 특정 라이브러리 코드를 IDE에서 처리하도록 지정할 수 있으며, 그러면 Delphi는 선택된

클래스들의 public 및 published 메소드들을 위한 테스트 프로젝트와 비어 있는 테스트 케이

스를 만들어주게 됩니다. 추가적인 메소드들이 테스트된 클래스에 추가되면, 유닛 테스트 위

저드는 새 메소드들을 인식하고 이들 새 메소드들에 대한 새 스텁(stub) 메소드를 추가합니다.

따라서, 개발자들은 코드 라이브러리에 대한 유닛 테스트를 빠르고 쉽게 생성할 수 있습니다.

그림 45 - 유닛 테스트 위저드가 코드 라이브러리에 대한 유닛 테스트들을 만들기 위해 정보를

수집하고 있습니다

리팩토링

재구성합니다. 코드의

수동 리팩토링은 프로그램밍이 시작된 이후로 행하여져 왔으나 최근에서야 정형화되고 지동

화되었습니다. RAD Studio 2010는 풍부한 툴들을 제공하여 개발자가 리팩토링 코드를 자동적

으로 수행하도록 도와줍니다.

예제처럼, 매개변수 변경 리팩토링이 메소드 선언과 구현 부분에서 빠르게 변경할 것입니다.

이러한 특징들은 기존의 매개변수의 속성을 변경하는 것뿐만 아니라 매개변수를 추가하거나

삭제 가능하도록 해줍니다.

리팩토링은 원래 코드의 동작은 그대로 유지한 채 기존 코드의 구조를

Page 51: RAD Studio 2010 리뷰 가이드 - softwarecatalog.co.kr · 표준 C++ 힙(heap) 매니저 개선 ... Aspect Oriented Programming (AOP) 동적 타이핑 지원(.NET 4.0 이하)

Embarcadero Technologies / DEVGEAR 51

RAD Studio 2010 리뷰 가이드

이러한 특징을 사용하기 위하여, 에디터에서 메소드,함수, 프로시저 등을 선택하고 (작성한 클

선택합니다

에서

래스의 선언이나 구현 부분에서) Refactor | Change Params 메뉴를 . 매개변수 변

경 다이얼로그를 사용하여 shown in 그림 46 보이는 것처럼 필요한 변경을 합니다.

그림 46 – 매개변수 수정 다이얼로그

추가적으로, 대다수 패턴 관련 리팩토링이 RAD Studio 2010에 포함되어 있습니다. RAD Studio

2010에서 Delphi용 모든 리팩토링을 아래 테이블에 소개합니다:

리팩토링 이름 설 명

Move 정적인 메소드를 한 클래스에서 다른 클래스로 이동 시킬 수 있

습니다.

Extract Interface 클래스의 선택한 메소드에 기반한 인터페이스를 만들고 그 클래

스에서 구현되도록 구현해줍니다.

Extract Superclass 선택한 클래스 멤버들을 선택한 클래스의 부모인 새로운 클래스

로 이동시킵니다.

Pull Members Up 선택한 멤버를 선택한 클래스의 바로 상위 클래스로 이동합니다.

Push Members 선택한 멤버를 선택한 클래스의 바로 하위 클래스로 이동합니다. Down

Safe Delete 선택한 항목이 애플리케이션 어디에서도 사용되지 않을 경우 삭

제합니다.

Inline Variable 임시 변수의 인스턴스를 인라인 선언으로 대체 . 합니다

Introduce Field 기존 지역 변수를 지정한 클래스의 필드로 이동합니다.

Page 52: RAD Studio 2010 리뷰 가이드 - softwarecatalog.co.kr · 표준 C++ 힙(heap) 매니저 개선 ... Aspect Oriented Programming (AOP) 동적 타이핑 지원(.NET 4.0 이하)

Embarcadero Technologies / DEVGEAR 52

RAD Studio 2010 리뷰 가이드

Introduce Variable 내부 표현식을 새로운 변수 이름으로 할당함으로 내부 표현식을

변수 선언으로 변경합니다.

Rename 프로젝트 전체에서 지정한 식별자의 이름을 변경합니다.

Declare Variable 사용되었지만 아직 선언되지 않은 지역 변수를 선언합니다.

Declare Field 선택된 아직 선언되지 않은 식별자를 지정한 클래스의 필드로 선

언합니다.

Extract Method 선택된 코드를 기반으로 새로운 메소드를 생성해 주며, 모든 필

요한 매개변수를 전달하도록 해줍니다.

Extract Resource String 선택된 문자열을 기반으로 새 리소스 문자열을 만들고, 내부 문

자열을 새로운 리소스 문자열의 이름으로 대체합니다.

Change Params 해당 메소드에 대한 매개변수를 추가, 변경, 삭제합니다.

리팩토링을 사용하기 위해서는 프로젝트에서 모델링 지원이 활성화되어 있어야 한다는 점을

기억해두십시오.

오브젝트 파스칼 언어 (Object Pascal Language)

오브젝트 파스칼 언어는 아주 오랜 동안 교육계에서 사용되어 왔습니다. 처음에는 프로그래밍

, 현재 오브젝트 파스칼 언어는 완전한 기능을 갖춘 객체

로 구조적 예외 핸들링(SEH)

과 주류 개 . Delphi 개발툴에서 사용하는 오브젝트 파스칼 언

어를 Delphi 언어라고도 하는데, 읽기 쉬운 문법과 쉽고 직관적인 코드 구성을 사용하는

D 쉬우면서도

오 적(procedural)

들어낼 수 있습니다. 이 언어 하여 개발자들이 양쪽 세계에서

최고가 해줍니다. 개발자들은 자신만의 클래스 계층을 할 있고,

VCL 아 새로운 들 수 있으며 동시에 절차적 코드 라

이브러리도 만들어낼 수 있습니다. Delphi는 코딩 기법의 모든 영역을 커버하는 능력을 가지

오브젝트 대한 좋은 자료로 알려져 있는 것은 마르코 (Marco Cantú)의

“에 (Essential P

언어를 가르치는 데 이용되었었지만

지향 개발 언어가 되었습니다. 오브젝트 파스칼은 언어 설계에 있어 최신의 트렌드 및 특징들

의 발전에 보조를 맞추어왔습니다. 사실, 오브젝트 파스칼은 최초

속성들을 구현한 발 언어입니다

elphi는 배우기 동시에 극단적으로 강력한 언어입니다.

브젝트 파스칼은 절차 코드와 객체 지향(object oriented) 코드를 양쪽 모두 만

는 두 가지 방법을 매끄럽게 통합

될 수 있도록

을 사용하고 상속받

만들고 사용 수

클래스를 만 , 일반적인

있습니다.

파스칼 언어에 칸투

센셜 파스칼 ascal)” (PDF 형식으로 배포) 입니다. 또, 데브기어에서 번역하여

언어”에서는

출간한 “델파이 프로그래밍 최신 Delphi 언어에 대한 완벽한 레퍼런스를 제공합

니다.

Page 53: RAD Studio 2010 리뷰 가이드 - softwarecatalog.co.kr · 표준 C++ 힙(heap) 매니저 개선 ... Aspect Oriented Programming (AOP) 동적 타이핑 지원(.NET 4.0 이하)

Embarcadero Technologies / DEVGEAR 53

RAD Studio 2010 리뷰 가이드

비 라

VCL (Visual Component Libr 한 컴

포 라이브 비

주얼 디자이너에서 사용되는 VCL은 1995년까지 그 역사가 거슬러 올라갑니다. VCL은 지금까

지 거쳐

터 닷넷 (.NET)까지가 포함됩니다.

데이터베이스 액세스

RAD Studio는 단순하면서도 aSet이라

는 반으로 또한 매

우 코딩하기 쉽습니다. 커넥션 컴포넌트를 데이터셋 컴포넌트에 간단히 연결함으로써 테이블

데이터를 표시할 수 있습니다.

해줌으로써 개발자들

은 이해하기 코드 쉽게 예를 들면 다음과 같

이런 방식으로, Delphi 개발자들은 비주얼하게 혹은 코드로 데이터를 쉽게 액세스할 수 있으

며 코드 작업이 거의, 혹은 전혀 않습니다. VCL 컴포넌트들은 데이터를 액세스하고

관리하는 데 있어 개발자들이 를 작성하도 강요하지 않습니다.

- VCL for the W b

주얼 컴포넌트 이브러리 (VCL)

ary)은 완전한 기능을 갖추고 확장이 대단히 용이하며 강력

넌트 기반 클래스 러리입니다. 가장 밑바닥에서부터 컴포넌트 기반으로 설계되어

여러 플랫폼 변경을 왔으며, 여기에는 Win16으로부터 Win32까지, 그리고 Win32로부

동시에 강력한 데이터 액세스 모델을 제공합니다. TDat

VCL 클래스를 기 하는 Delphi의 데이터베이스 액세스는, 매우 비주얼하며

형태의 데이터를 쉽게 VCL 데이터 연결 컨트롤들에 공급할 수 있습니다. 사실, 코드를 전혀

작성하지 않고도

그리고 데이터 필드들을 VCL의 TField 상속 클래스에 자동으로 바인딩

쉬운 로 데이터를 가져오고 수정할 수 있습니다.

습니다.:

CustomerTableCustomerNameField.AsString := 'Gary Johnson';

필요하지

코드 록

웹 개발 e

RAD Studio에서 웹애플리케이션을 개발하기 위한 주된 방법은 VCL for the Web 입니다.

AtoZed Software 사의 IntraWeb 기술에 기반한 VCL for the Web은, 디자인타임에는 Delphi와

비슷한 느낌으로 개발하게 되지만 런타임에는 브라우저 기반의 웹 애플리케이션을 만들어내

기 위해 특별히 설계된 컴포넌트 라이브러리입니다. VCL for the Web은 Win32 용 VCL과 매

우 유사하기 때문에, 애플리케이션 개발 방식에 있어 일반적인 Delphi 방식에 익숙한 개발자

으로 AJAX 기능을 구현할 수 있게 해줍니다. 개발자들은 서버에서 동작하는 오브젝트

파스칼 코드 기반 애플리케이션을 개발하여 클라이언트에서 실행시킬 수 있습니다.

들이 자신의 스킬을 브라우저에서 HTML과 자바스크립트를 통해 제공되는 애플리케이션을

개발하는 데에 이용할 수 있도록 해줍니다.

VCL for the Web은 또한 개발자들이 자바스크립트에 대한 지식이 전혀 없더라도 매우 쉽고

직관적

Page 54: RAD Studio 2010 리뷰 가이드 - softwarecatalog.co.kr · 표준 C++ 힙(heap) 매니저 개선 ... Aspect Oriented Programming (AOP) 동적 타이핑 지원(.NET 4.0 이하)

Embarcadero Technologies / DEVGEAR 54

RAD Studio 2010 리뷰 가이드

멀티 티어 개발

VCL은 멀티 티어 아키텍처를 개발하기 위해 DataSnap이라는 강력한 아키텍처를 제공합니다

다양한 통신 프로토콜을 채용하고 강력한 컴포넌트 세트를 제공함으로써 Delphi 개발자들은

데이터를 공급하는 애플리케이션 서버와 애플리케이션 서버로부터 데이터를 받거나 보내는

씬 클라이언트를 적은 노력으로 쉽게 개발할 수 있습니다.

개발자는 TRemoteDataModule 클래스를

.

이용하여 HTTP, DCOM, 혹은 소켓 연결을 통해 인

터페이스를 데이터 프로바이더 컨트롤로 간단히 리모팅할 수 있습니다. 다음으로 클라이언트

대한 레퍼런스를 얻어서 TClientDataset이라는 데이터셋으로

임포트합니다. 데이터가 TClientDataset에 들어오면 클라이언트 애플리케이션은 데이터에 일

ate, Read, Update, and Delete” (CRUD) 모든 동작을 수행할 수

TClientDataset이 변경 내용을 됩니다. 클 리케이션은 심지어 서

버로부터 완전히 연결을 끊을 수도 있으며 서류가방 모델”), 이후에 다시 연결될 수

다. 일단 다시 연결이 aset은 변경된 데이터를 다시 반영하기 위한 모

든 코드를 제공합니다.

Delphi

입니다. 수많은 널리

알려진 애플리케이션들이 Delphi로 작성되었습니다. 아래는 그 중의 극히 일부입니다.

애플리케이션은 원격 데이터에

반적인 “Cre 의 있으며,

모든 캐시하게 라이언트 애플

(“ 있습니

되면, TClientDat 서버로

추가 자료

로 만들어진 애플리케이션

Delphi가 독립 소프트웨어 기업(ISV)들에게 매우 인기 있는 개발 플랫폼인데, 그 이유는 간단

한 배포 요구사항만으로 대단히 강력한 네이티브 개발을 제공하기 때문

FeedDemon (NewsGator)

Skype 윈도우 클라이언트

BeyondCompare (Scooter Software)

The PortableApps Project

FL Studio (Digitial Audio Workstation)

TestComplete 및AQTime (AutomatedQA)

FinalBuilder (VSoft Technologies)

InstallAware 인스톨 툴

MediaMonkey 음악 관리 툴

Copernic Desktop Search

Delphi로 만들어진 애플리케이션들에 대한 더 많은 리스트는 Delphi Wiki에서 찾을 수 있습니

다.

Page 55: RAD Studio 2010 리뷰 가이드 - softwarecatalog.co.kr · 표준 C++ 힙(heap) 매니저 개선 ... Aspect Oriented Programming (AOP) 동적 타이핑 지원(.NET 4.0 이하)

Embarcadero Technologies / DEVGEAR 55

RAD Studio 2010 리뷰 가이드

RAD Studio 2010 제품 정보

데이터 시트, 최신 기능 안내, 제품 에디션 정보, 기능 명세서, FAQ 등의 자세한 정보를 찾아

보려면 아래의 각 제품 페이지를 참고하십시오.

RAD Studio

• Delphi

• C++Builder

• Delphi Prism

다운로드 링크는 다음과 같습니다.

• RAD Studio

트라이얼

• Delphi

C++Builder•

• Delphi Prism

io 2010를 살펴 볼 수 있는 시간을 내어주신 데 대해 감사 드립니다.

터치/제스처 기능을 갖춘 애플리케이션 개발을 포함하여, 확장된 데이터베이스와 DataSnap

로운 기능들을 즐겨보시기를 바랍니다. 이러

더 빠르게 윈도우 애플리케이션 개발을

Embarcadero RAD Stud

지원, 새로운 언어 기능 등 RAD Studio 2010의 새

한 향상된 기능들을 통해 개발자들이 높은 생산성과

할 수 있습니다.

Embarcadero Technologies Inc.는 애플리케이션 개발자 및 데이터베이스 전문가가 자신이 선

빌드 및 실행하는 도구를 사용할 수 있도록

Fortune지 선정 100대 기업 중 90개 기업이

DatabaseGear™ 제품군을 기반으로 하여 생산성을 향상시키

을 추구하고 있습니다. Embarcadero는 1993년에 설립되어

있으며 전 세계에 사무소를 두고 있습니다. Embarcadero

의 구에는 ER/Studio®, DBArtisan®, Rapid SQL® 및 Embarcadero Change Manager™가 있습

니다.

택한 환경에서 소프트웨어 애플리케이션을 설계,

합니다. 전 세계 3백만 이상의 커뮤니티와

Embarcadero의 CodeGear™ 및

고 개방적인 협업 및 자유로운 혁신

캘리포니아 샌프란시스코에 본사가

의 온라인 주소는 www.embarcadero.com입니다. Embarcadero의 주요 제품인 DatabaseGear

도 ®

Page 56: RAD Studio 2010 리뷰 가이드 - softwarecatalog.co.kr · 표준 C++ 힙(heap) 매니저 개선 ... Aspect Oriented Programming (AOP) 동적 타이핑 지원(.NET 4.0 이하)

RAD Studio 2010 리뷰 가이드

Embarcadero Technologies / DEVGEAR 56

데브기어는 미국 Embarcadero Technologies Inc.와 기존의 코드기어 한국 지사의 협력으로 전

Embarcadero 솔루션 전문 공급 기업입니다. 데브기어는 Delphi, C++Builder,

elphi Prism 등 개발툴 제품들과 ER/Studio, PowerSQL, DB Artisan, EA/Studio 등의

데이터베이스 툴 제품들에 대한 한국 시장에 공급은 물론 기술지원 및 교육을 제공합니다. 데

트는 http://www.devgear.co.kr/

략적으로 설립된

JBuilder, D

브기어 웹 사이 이며 제품에 대한 문의는

ro.krask@embarcade 로 하면 됩니다.