2009. 11. 24. 17:18

델파이의 개요

1. 델파이란

(1) RAD(Rapid Application Development) Tool이다.
델파이는 최상의 윈도우 개발 환경을 지원한다. Delphi는 분산된 엔터프라이즈 및 웹에서 운용 가능한 가장 종합적이고 시각 적인, 고성능의 Client/Sever 응용프로그램 개발툴이다. Delphi에서 제공하는 다양한 도구는 리모트 서버 시스템, 그리고 랩 탑 컴퓨터 및 웹 브라우저와 같은 다양한 시스템을 구성할 때 가벼운 클라이언트 응용프로그램 환경을 제공할 뿐만 아니라 확 장성과 유연성을 동시에 갖는다.
Delphi 자체가 Delphi 언어(Object Pascal)로 작성되었으며, 전체환경 은 하나의 델파이 응용프로그램이다.
 

(2) 빠른 통신 기능 및 분배 그리고 확장성

(3) CORBA를 이용한 전사적 데이터 통합

(4) 어떠한 데이터도 언제나 어느 곳에서도 유연한 접속 처리
프로그래머라면 모두 아는 바와 같이 많이 사용되고 있는 RAD 도구로 Visual Basic이 있다. 델파이와 비주얼베이직을 살펴보면 개발환경이 거의 비슷하다는 것을 느낄 수 있다. 두 제품은 마치 형제처럼 보인다. 단지 내부 문법이 다를 뿐이지 외형은 너무 비슷하다. 볼랜드 사가 델파이를 만들게된 동기를 다음과 같이 유추해 볼수 있을 것이 다. 마이크로소프트 사는 윈도우(Windows3.1) 환경에 새로운 기법으로 프로그램을 작성할 수 있는 새로운 형태의 언어를 비주 얼 베이직으로 개발해 출시했고 터보 C로 유명하던 볼랜드사도 이에 자극을 받아 델파이라는 제품을 개발하게 되었을 것이다. 그런데 기본이 되는 언어를 무엇으로 할것 인가에서 옛날에 각광을 받았든 쉬우면서도 강력했던 파스칼 언어를 채용한 것이다. 마이크로소프트 사가 배우기 쉬운 QBASIC을 그대로 사용하면서 객체 개념을 추가하니 볼렌드에서도 파스칼 언어에 객체 기법을 포함한 객체 지향 파스칼 언어(Object Pascal Language)를 사용했다. 지금까지 교육용 언어로 가장 많은 지지를 얻고 있던 파스칼 언어가 비주얼베이직을 이길 수 있을 것이라고 확신하였을 것이다. 


2. 델파이의 성능

성능을 이야기하려면 다른 RAD 제품과 비교해 보는 것이 가장 알기 쉬운 방법이 될 것이다. 

컴파일 속도:
전반적인 컴파일 속도는 이전 버젼(3.0)에 비해 느려졌다. 그러나 체감 속도를 비교했을 때 VB나 PB보다 약간 빠른 것으 로 평가된다. 실제로 델파이는 순수한 컴파일러방식 이기 때문에 다른 RAD계열의 툴보다 빠른 속도를 보인다.
 

실행파일크기:
기장 기본적인 폼을 이용해 창(윈도우)를 화면에 출력하는 형태의 프로젝트를 생성할 경우(단, 컴파일 옵션에서 디버깅 정보를 제외하고 컴파일한 후에 생성된 실행파일의 크기를 기준) 델파이는 별도의 런타임(Run-Time) 라이브러리가 필요하지 않으므로 275KByte이다. 하지만 VB는 생성된 프로젝트 크기16,384Byte 에다 배포용 해당 컨트롤까지 모두 복사해야 하므로 기계어방식으 로 컴파일하든 인터프리터 방식으로 컴파일하든 2MByte의 크기가 넘게 된다. PB도 VB와 비슷하다. 배포해야 할 DLL(PBVM60.DLL) 파일의 크기가 3MB가 넘는다.

Win32 API 지원:
델파이4.0은 Window API를 완벽하게 지원한다. 이점 때문에 C언어에서 파스칼로 포팅이 용이하다. VB은 포인터와 유니온(Union) 의 부재로 인한 모든 API를 100% 사용은 불가능하다. AddressOf 연산자를 이용해 CallBack 함수의 사용이 5.0버젼부터 지원되지 만 6.0버젼에서는 쓰레드 관련 API에서 문제가 보이고 있다. 반면에 Win32 타입 라이브러리를 이용하면 아주 손쉽게 API를 사용 할 수 있기도 하다. PB는 포인터가 없어서 모든 API와 100% 호환이 불가능하다. Win32 API를 사용하는데 문제는 없지만 RECT와 같은 구조체를 자체적으로 지원하지 않아서 사용자가 직접 정의해 사용해야 하는 불편함이 있다.

포인터지원:
델파이4.0부터는 자체적인 지원으로 기존의 DB툴을 사용하지 않고 단지 링크드리스트(Linked List)나 더블 링크드 리스트(Double Linked List) 같은 자료구조용 알고리즘을 이용한 데이터베이스 구축이 가능하다. 이것으로 인해 게임 제작이시 유용성이 크다. VB는 자체 포인터 개념이 없다. MS사는 VB를 최대한 안정성에 역점을 두고 제작했기 때문에 포인터를 제공하지 않았다고 한다. PB도 포인터를 사용할 수 없다. 그러나 구조체나 배열을 이용하면 어느 정도 포인터를 대신한 역할이 가능하다.

다양한 컴포넌트 지원:
매우 편리하고도 다양한 컴포넌트를 지원한다.


3. 델파이의 장점

멀티-티어(Multi-Tier) DB 아키텍처 마이다스(MIDAS):
100개 이하의 DB클라이언트를 관리하는 경우 C/S 모델의 2-티어 만으로 충분하겠지만, 1천 개 또는 1만 개 이상의 클라이언트가 접속하면 병목현상이 일어난다. 델파이에서는 미들 서버를 통해 DB서버의 부하를 줄이고 자원을 효율적으로 관리함으로써 보다 많은 클라이언트의 연결을 가능하게 하는 마이다스 아키텍처를 제공한다. 마이다스는 DCOM,CORBA, OLEnterprise, Socket 등 많은 프로토콜을 제공하며 부분적으로 균형과 실패 복구(Fail-over) 기능을 지원하다.

CORBA 지원:
개발환경에서 CORBA 지원이 잘 통합되어 있는 유일한 개발 툴(RAD 툴中)이다. CORBA 객체와 멀티-티어를 위한 DB CORBA 서버 객 체(Data Module)를 생성하는 위저드를 제공한다.

인라인 어셈블리(Inline Assembly):
소소코드에 어셈블리어를 포함시켜 컴파일할 수 있기 때문에 속도를 원하거나 보다 직접적인 제어가 필요한 부분은 에셈블리어 를 사용해서 최적화할 수 있다. 델파이 런타임 라이브러리의 많은 부분이 인라인 어셈블리로 코딩되어 있어서 델파이의 응용프 로그램은 그만큼 빠르다.

순수한 컴파일러방식:
순수한 컴파일러 방식을 사용하기 때문에 VCL(Visual Component Library)이 없이도 자체 언어와 Window API 함수만으로도 윈도 우용 응용프로그램을 제작할 수 있으며 또한 C언어와 유사한 점이 많아서 C로 작성된 프로그램을 파스칼로 포팅이 가능하다.
 

독자적인 실행 파일:
별도의 배포용 동적연계라이브러리(DLL: Dynamic Linked Library)가 없이 실행 파일만으로 완전 동작을 한다. 다만, 데이터베이 스사용시 볼랜드 데이터베이스 엔진(BDE)을 사용한 경우 실행 파일과 함께 BDE를 배포해야 한다.


4. 델파이의 단점

한글지원이 없다:
소스코드에서 문제가 없는 한글이 실행 파일로 가면서 문제가 발생 될 수도 있으며 변수나 속성 등을 한글로 사용할 없다.
한글 처리가 취약한 편이다. 

자체분석/설계 모델링 툴이 없다:
최근 들어서 대부분의 개발툴은 자신이 작성한 응용프로그램의 분석,설계에 관한 모델링 툴을 지원하고 있다.

로컬 SQL은 다음의 경우 테이블(Table)의 수정이 불가능하다:
3개 이상의 테이블을 조인(Join)한 경우.
UNION, INTERSECT 또는 MINUS를 사용한 경우.
서브 쿼리(Sub Query)를 사용한 경우.
색인이 없는 데이터베이스의 필드를 Order By 구문에 사용한 경우.

 
5. 델파이 프로그램의 개발 방법

(1) 시스템 분석과 설계

(2) 화면(Form) 디자인
화면에 출력할 사용자 인터페이스를 디자인한다.

(3) 컴포넌트 배치 및 속성 설정
이것에 배치할 각종 컴포넌트 종류와 기능을 사용자가 숙지해야 한다.

(4) 코딩
델파이는 코드 작성을 쉽게 하도록 마련한 여러 가지 위저드와 도우미가 있다.
이런 것들을 이용해서 코딩하면 보다 편리한 작업 환경에서 프로그램을 작성할 수 있다.

(5) 컴파일 및 테스트
프로그램을 컴파일하고 에러를 수정한다.

(6) 실행
프로그램을 실행한다.

'Delphi' 카테고리의 다른 글

단축키 모음  (0) 2010.03.22
TDateTime형 - 3  (0) 2009.12.01
TDateTime형 - 2  (0) 2009.12.01
TDateTime형 - 1  (0) 2009.12.01
델파이의 데이터형  (0) 2009.11.24