borland kylix 3borlandforum.com/impboard/attach/0000054817/kylix3 리뷰... · 2003. 11. 13. ·...

15
C++과 델파이를 한번에 껴안은 통합 Linux 개발 솔루션 Borland Kylix 3 이갑연 (볼랜드포럼) 선정 이유 윈도우에서처럼 편리하고 빠른 RAD 개발을 할 수 있는 솔루션을 리눅스에서 찾아보면, 볼랜드사의 Kylix가 유일하다. 이 번 Kylix 3 버전에서는 기존의 델파이 언어(파스칼) 외에 C++ 언어 지원이 추가됨으로써, 윈도우에서의 델파이 및 C++ 빌더와의 소스코드 호환을 100% 보장, 더욱더 많은 개발자들에게 각광을 받을 것으로 예상된다. 글쓴이 볼랜드포럼 카일릭스 채널 시삽 이갑연 [email protected] 특징 - 리눅스에서 C/C++ 및 델파이 언어로 RAD 개발 환경 지원 - CLX 크로스플랫폼 라이브러리를 이용, 단일 소스로 윈도우/리눅스 크로스플랫폼 개발 - BizSnap을 사용하여 강력한 웹 서비스 개발 기능 지원 - WebSnap / WebBroker 를 이용한 고성능 웹 애플리케이션 개발 지원 - DataSnap / dbExpress를 통해 강력하고 빠른 데이터베이스 애플리케이션 개발 지원

Upload: others

Post on 15-Feb-2021

0 views

Category:

Documents


0 download

TRANSCRIPT

  • C++과 델파이를 한번에 껴안은 통합 Linux 개발 솔루션

    Borland Kylix 3

    이갑연 (볼랜드포럼)

    선정 이유

    윈도우에서처럼 편리하고 빠른 RAD 개발을 할 수 있는 솔루션을 리눅스에서 찾아보면, 볼랜드사의 Kylix가 유일하다. 이

    번 Kylix 3 버전에서는 기존의 델파이 언어(파스칼) 외에 C++ 언어 지원이 추가됨으로써, 윈도우에서의 델파이 및 C++

    빌더와의 소스코드 호환을 100% 보장, 더욱더 많은 개발자들에게 각광을 받을 것으로 예상된다.

    글쓴이

    볼랜드포럼 카일릭스 채널 시삽 이갑연 [email protected]

    특징

    - 리눅스에서 C/C++ 및 델파이 언어로 RAD 개발 환경 지원

    - CLX 크로스플랫폼 라이브러리를 이용, 단일 소스로 윈도우/리눅스 크로스플랫폼 개발

    - BizSnap을 사용하여 강력한 웹 서비스 개발 기능 지원

    - WebSnap / WebBroker 를 이용한 고성능 웹 애플리케이션 개발 지원

    - DataSnap / dbExpress를 통해 강력하고 빠른 데이터베이스 애플리케이션 개발 지원

  • 사용환경

    - CPU : 인텔 펜티엄 II/500 MHz 이상

    - 메모리 : 256 MB RAM 이상

    - 하드디스크(전체설치): 엔터프라이즈 500MB/ 프로페셔널 350MB / 오픈에디션 250MB

    - OS : Linux (Red Hat 7.2 / Mandrake 8.2 / SuSe 7.3)

    문의처

    - 업체명 : 볼랜드코리아

    - TEL : 02-6001-3195

    - URL : www.borland.co.kr

    - 가격 : (문의)

    윈도우에서의 델파이나 비주얼베이직처럼 빠르고 쉽게 개발을 할 수 있도록 해주는 RAD 형 개발툴은 수많은 기존의

    리눅스 개발자 및 리눅스 개발에 관심을 가진 윈도우 개발자들의 오랜 바람 중 하나였다. 그런 오랜 갈증 속에서 여러

    개발툴이 등장하기는 하였으나, 편리한 윈도우 개발툴에 익숙해진 개발자들의 갈증을 해소하기에는 무리가 있었던 것이

    사실이다.

    개발툴 분야에서 독보적인 위치를 점하고 있는 전문 개발툴 업체 볼랜드에서는 2001년 초에 혁신적인 리눅스 개발툴

    Kylix의 첫버전을 내놓은 이래 수많은 각종 리눅스 관련 시상을 석권하면서 리눅스 개발툴 시장에 선풍을 일으키고 있다.

    더욱이 이번에 새로 발표한 카일릭스 3에서는 C++ 언어에 대한 지원이 추가됨으로써 그동안 파스칼 언어만 지원함으로

    써 C++ 개발자들의 아쉬움을 샀던 부분을 일거에 해소해주고 있다.

    Kylix 3의 새로운 기능들

    C++ 및 델파이를 위한 2개의 개발환경 지원

    카일릭스3에서 무엇보다 돋보이는 새로운 기능은 역시 C++ 언어에 대한 지원이다. 그동안 이전 버전인 카일릭스 1, 2

    에서 카일릭스는 델파이만 지원함으로써 리눅스용 델파이라고 부를만했는데, 이번의 카일릭스 3에서는 C++ 지원이 전세

    계 C++개발자에게 기존의 코딩 경험으로 리눅스에서 RAD 개발을 가능하도록 해주고 있다.

    카일릭스 3를 설치하면 하나의 IDE에서 C++과 델파이를 지원하는 것이 아니라, 프로그램 그룹에 각각 C++과 델파이

    를 위한 아이콘이 생기는데, 실행해보면 C++과 델파이 언어가 별도의 IDE로 분리되어 있음을 알 수 있다. 물론 두개의

    IDE가 별도로 설치되더라도 대부분의 라이브러리는 공유된다.

    카일릭스3의 C++ IDE는 연초에 발표되었던 윈도우용 RAD C++ 개발툴인 C++빌더 6와 완벽한 소스코드 호환이 가능

    하다. (카일릭스의 델파이 IDE가 윈도우용 델파이와 호환되는 것과 마찬가지이다) 그러므로 C++빌더에서 CLX 애플리케

    이션으로 작성된 소스코드를 리눅스의 카일릭스에서 컴파일만 하면 리눅스 애플리케이션으로 되는 것이다.

    C++빌더는 기존의 터보 C, 볼랜드 C++의 뒤를 잇는 볼랜드의 C++ 개발툴로서, 비주얼한 C++ 개발툴로서는 현재까

    지 유일하며 코딩만으로 개발을 해왔던 C++ 개발자들에게 비주얼한 개발로 생산성을 대폭 올릴 수 있는 길을 제공하는

    개발툴이다. 카일릭스 C++ IDE는 이런 C++빌더와 100% 호환(시스템 API 등 OS 의존적인 코드는 제외)이 가능함으로

    써, C++ 및 파스칼 개발자들에게 개발툴 수준에서 완전한 크로스플랫폼 프로그래밍이 가능하도록 해준다.

    http://www.borlandkorea.co.kr/

  • 그림 1. 카일릭스 3의 C++ IDE, 윈도우의 C++빌더와 동일하다

    또한 카일릭스 3의 C++ 지원에는 C++ 표준 템플릿 라이브러리(STL)의 지원도 포함되는데, 무료로 개발/배포할 수 있

    는 STL 버전인 STLport 4.5를 지원하고 있다.

    Object TreeVew와 Data Diagram

    오브젝트 트리뷰는 현재 활성화된 모듈의 컴퍼넌트들의 논리적인 연결 관계를 보여주는 트리 형식의 윈도우로서, 데이

    터베이스 컴퍼넌트들과 같이 복잡한 관계로 얽혀있는 컴퍼넌트들의 관계를 한눈에 보여준다. 오브젝트 트리뷰는 오브젝

    트 인스펙터 및 폼 디자이너와 연동되므로, 한쪽에서 특정 컴포넌트를 선택하면 다른 쪽에서도 해당 컴포넌트가 동시에

    활성화되어 IDE 작업이 더 편해졌다.

  • 그림 2. 오브젝트 트리뷰

    데이터 다이어그램은 컴포넌트들 사이의 논리적인 연관성을 다이어그램으로 표시하기 위한 것이다. 데이터 다이어그램

    은 코드 에디터 아래쪽에서 Diagram 탭을 선택하면 나타나며, 오브젝트 트리뷰에 나타난 객체들을 드래그&드롭하여 개

    발자가 간편하게 시각적으로 논리적인 연결 다이어그램을 그릴 수 있게 해주는 것이다.

    그림 3. 데이터 다이어그램

  • Web Application Debugger

    그림 4. 웹 서버 애플리케이션 타입 선택

    웹 애플리케이션 디버거는 개발단계에서의 디버깅 편의를 위해 카일릭스3에 새로이 추가된 유틸리티이다. Web App

    Debugger를 이용하여 디버깅을 하려면 먼저 웹 애플리케이션을 생성할 때 기존의 CGI나 아파치 DSO 대신 ‘Web App

    Debugger executable’ 이라는 새로운 형식을 선택해야 하는데, 이 형식의 웹 애플리케이션은 실제 서비스에는 사용할

    수는 없지만 매우 강력한 웹 애플리케이션 디버깅 방법을 제공한다. 일단 개발 중에는 이 Debugger executable 형식을

    이용하여 디버깅을 모두 마친 후, 실제 서비스를 위해서는 기존의 CGI나 Apache DSO 등의 형식으로 손쉽게 변경이 가

    능하다.

    그림 5. 웹 애플리케이션 디버거

    Web App Debugger executable 디버거 형식으로 생성된 프로젝트에는 웹모듈 외에 빈 폼이 하나 포함되어 있다. 이

    Debugger executable 형식으로 컴파일된 애플리케이션을 실행시키면 빈 폼만 나타나며, 첫번째 실행때 그 자신을 서비

    스로서 등록시킨다.

    데이터베이스 지원 강화

    카일릭스는 데이터베이스 프로그래밍을 위해 가볍고 빠른 dbExpress라는 크로스플랫폼 데이터베이스 엔진을 이용한다.

    이전의 2 버전까지는 dbExpress에서 Oracle 8, DB2, MySQL, Informix, InterBase, PostgreSQL 까지만 지원되었으나, 이

    번 카일릭스 3에서부터는 Oracle9i와 Informix SE의 지원이 추가되어 더욱 넓은 데이터베이스 선택범위를 가지게 되었다.

  • Indy 9 및 파일/디렉토리 컴포넌트

    Indy는 이전부터 많은 카일릭스 및 C++빌더, 델파이 개발자들의 사랑을 받아왔던 강력한 인터넷 컴포넌트 라이브러리

    이다. 카일릭스 3에서는 Indy의 최신 버전인 Indy 9.0을 포함하고 있다. 또한 카일릭스 3에서는 파일 및 디렉토리 관련

    컴포넌트들이 새로 추가되어, 파일시스템의 구조를 보여주려는 경우 편리하게 사용할 수 있다.

    기타 주요 추가 기능

    카일릭스의 강력한 웹 개발 기능을 뒷받침하기 위해, HTML 코드를 손쉽게 코딩할 수 있도록 해주는 HTML 코드 인사

    이트가 추가되었다. 카일릭스의 웹 개발 기능이 강화되면서 HTML까지 편리하게 IDE 내에서 편집할 수 있도록 해준 것

    이다. 또 기본적인 코드 인사이트 기능도 속도가 개선되었으며, 또한 웹서비스 개발 기능의 많은 부분들에 크고 작은 개

    선이 되었다.

    그림 6. HTML 코드 인사이트

    Kylix 프로그래밍 예제

    카일릭스의 개발분야는 너무 방대하기 때문에 중요한 부분에 실무에 적용된 사례와 간단한 예제 프로그램을 만들어 보

    면서 간략하게 카일릭스의 소개를 할려고 한다.

    리눅스상의 GUI 프로그램개발

    카일릭스 프로그래밍은 델파이나 비주얼 베이직을 사용해보았으면 금방 작업을 시작할 수 있을 정도로 똑 같은 방식으

    로 개발이 가능하다.

    먼저 사용할 데이터베이스는 MyBase를 이용한다. MyBase는 카일릭스 및 델파이, C++빌더에서 사용가능한 XML 로컬

    데이터베이스 프로그래밍 방법으로서, 별도의 데이테베이스 엔진 없이도 데이터베이스 구축이 가능하다. 여기서는 카일

    릭스 델파이 IDE에서 파스칼 코드로 작성해본다.

    1. 폼 디자인

    먼저, 폼 위에 TClientDataSet와 TDataSource 컴포넌트를 하나씩 배치하고, TClientDataSet의 이름은 TblCust로 변

  • 경한다. 그리고 필드의 개수만큼의 DBEdit 컴포넌트를 적당히 배치한 후, 각각 레이블로 화면상의 이름을 정해준다.

    카일릭스에는 ActionList라는 콤포넌트가 있는데, 이 액션리스트 컴포넌트를 이용하면 데이터베이스를 다루는 기본적인

    로직을 코딩없이 디자인만으로 간단히 추가할 수 있다. 먼저 폼에 TActionList 컴포넌트를 하나 놓고, 더블클릭하여 액션

    리스트 에디터를 띄운다. 에디터의 아래쪽에서 오른쪽 클릭하여 팝업메뉴를 띄우고, ‘New Standard Action..’ 을 선택하

    여 여러가지 스탠더드 액션들이 리스팅되는 윈도우를 띄운 후, 아래쪽으로 스크롤하여 ‘Dataset’이라는 노드를 찾는다.

    이 노드의 하위 노드들을 모두 한꺼번에 선택(컨트롤 키를 누르고 클릭)하고 OK를 누르면, 액션리스트 에디터에 데이터

    베이스 동작과 관련된 액션아이템들이 일괄적으로 생성된다.

    그림 7. 액션 생성

    마지막으로 폼의 상단에 TToolBar를 하나 얹고, 툴바의 ShowCaptions를 True로 변경한 후, 마우스 오른쪽 버튼

    으로 팝업메뉴를 보이게 하고, 가장 위의 ‘New Button’ 아이템을 선택하여 필요한 만큼의 버튼들을 생성시킨다. 그리

    고 각각의 버튼들을 선택하고 Action 프로퍼티를 이전에 생성시켰던 액션아이템들에 연결시키면 된다. 마지막으로 기

    호에 따라 버튼들의 캡션을 ‘등록’, ‘수정’, ‘삭제’, ‘저장’, ‘취소’, ‘처음’, ‘이전’, ‘다음’, ‘마지막’, ‘닫

    기’ 등으로 세팅한다.

    2. 코드 작성

    폼의 OnCreate 이벤트에 핸들러를 생성시키고, 프로그램이 실행시점에서 table이 존재하는지 점검해서 없으면 새로

    만들고 있으면 기존 파일을 로딩하는 구조로 구현을 한다.

    void __fastcall Tfmainfrm::FormCreate(Tobject * Sender)

    {

    if(!FileExists("./cust.xml"))

    {

    TblCust->FieldDefs->Add("code", ftInteger, 0);

    TblCust->FieldDefs->Add("name", ftString, 12);

  • TblCust->FieldDefs->Add("company", ftString, 20);

    TblCust->FieldDefs->Add("part", ftString,10);

    TblCust->FieldDefs->Add("tel", ftString, 14);

    TblCust->FieldDefs->Add("post", ftString, 7);

    TblCust->FieldDefs->Add("address", ftString, 60);

    TblCust->FieldDefs->Add("email", ftString, 50);

    TblCust->FieldDefs->Add("rel", ftString, 10);

    TblCust->FieldDefs->Add("memo", ftMemo, 1);

    TblCust->CreateDataSet();

    TblCust->SaveToFile("./cust.xml");

    system("chmod 666 ./cust.xml"); //리눅스에 권한을 읽기쓰기를 가능하게 해줌

    }

    else

    TblCust->LoadFromFile("./cust.xml");

    }

    그리고, 다음과 같이 종료시에 테이블을 저장하도록 폼의 OnClose 이벤트에 핸들러를 달아 코딩한다.

    void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)

    {

    TblCust->SaveToFile("./cust.xml");

    system("chmod 666 ./cust.xml");

    }

    이로서 모든 개발작업은 끝났다. F9를 눌러 컴파일 및 실행시켜보면, 아래와 같은 완성된 간단한 데이터베이스 애플리케

    이션을 볼 수 있다.

    그림 8. 완성된 화면

  • 데몬 프로그램 개발

    카일릭스에서는 Daemon 이라는 함수가 있어서 데몬프로그램을 쉽게 구현할수 있다. 여기서는 간단한 예를 들어보겠

    다. 이번에는 델파이 IDE에서 작성해본다. 물론 C++로 작성하더라도 언어만 다를 뿐, 코딩의 방법은 동일하다.

    program daemontest;

    {$APPTYPE CONSOLE}

    uses SysUtils, Libc;

    begin

    if daemon(0,0) = -1 then

    Writeln('Error!')

    else

    While True do Sleep(60);

    end.

    daemon 함수의 선언은 다음과 같다.

    function daemon(NoChdir: Integer; NoClose: Integer): Integer; cdecl;

    NoChdir 인자를 0 으로하면 현재 디렉토리를 루트로 설정하며, 그 외의 수일 경우 현재 디렉토리를 변경하지 않는다.

    그리고 NoClose 인자를 0 으로하면 stdin, stdout, stderr 을 /dev/null 로 지정하게 된다. 그리고 daemon 함수가 0을

    돌려주면 성공적으로 데몬이 생성되었음을 의미하며, -1 을 돌려주면 에러가 발생하였음을 뜻한다.

    DB-pool과 쓰레드 소켓을 사용하여 약간만 수정하면 어떤 복잡한 데몬도 쉽게 구현이 가능하다. 이달의 소스로 주만

    호님이 공개한 표준 데몬을 첨부하므로 참고하기 바란다.

    참고로 국내에서 리눅스상에서 카일릭스의 데몬을 사용해서 개발하여 상용화에 성공, 서비스중인

    메신저 프로그램이 있다. 이 메신저는 서버는 카일릭스로, 클라이언트는 윈도우와 리눅스 버전이 각각

    델파이와 카일릭스로 작성되어있다. 물론 하나의 소스로 개발하여 윈도우와 리눅스에서 각각 델파이

    와 카일릭스로 컴파일한 것이다. 델파이-카일릭스 간의 크로스플랫폼 프로그래밍의 훌륭한 예제라 할

    수 있다.

  • 그림 9. 리눅스-윈도우 크로스플랫폼 메신저, 메신조

    웹개발 – 웹브로커

    리눅스 서버에서 웹 개발을 하려면 보통 PHP나 JSP, 혹은 Perl을 많이 사용해왔다. 그러나 카일릭스도 이제 웹 개발

    에 있어서는 다른 어떤 방법보다도 뒤지 않는 강력한 기능을 자랑하게 되었다. 카일릭스는 웹브로커(WebBroker)와 웹스

    냅(WebSnap)의 2가지 웹 개발 방법을 제공한다.

    웹브로커는 cgi개념의 웹개발환경인데 다른방법보다 우수한점은 카일릭스 IDE를 통해 쉽게 코딩이가능하고, 강력한 컴

    포넌트들ㅇ르 활용하여 DB연결이나 오브젝트파스칼이나 C/C++클래스를 쉽게 만들수 있어 생산성이 아주 뛰어나다.

    또하나의 웹 개발 방법은 웹스냅으로, 웹스냅은 다중 모듈과 서버사이드 스크립트를 지원하여 개발자와 웹디자이너에

    게 코딩과 웹디자인의 분리된 작업을 가능하게 해주므로 생산적으로 애플리케이션을 만들 수 있다.

    다음은 웹브로커와 앞에서 잠깐 다루어보았던 MyBase를 이용하여 웹 상으로 데이터베이스의 정보를 보여주는 간단한

    카일릭스 웹 개발의 예이다. (델파이 코드이다)

    카일릭스의 메인 메뉴에서 ‘New -> Other...’를 선택하여 앞에서 보았던 New Items 다이얼로그를 띄운다. 여기서

    ‘Web Server Application’ 항목을 선택하고 OK를 누른다.

  • 그림 10. 웹서버 애플리케이션 프로젝트 선택

    그러면 앞에서 보았던 것과 같이 웹 서버 애플리케이션의 타입을 선택하는 다이얼로그가 뜰 것이다. 여기서 ‘CGI

    Stand alone executable’ 혹은 ‘Apache Shared Module(DSO)’ 중 어떤 것을 선택해도 무방하다. (나머지 항목인 ‘Web

    App Debugger executable’은 디버깅 목적으로만 사용한다고 언급한 바 있다)

    그러면 폼과는 모양이 조금 다른 웹모듈을 가진 웹 애플리케이션 프로젝트가 생성되는데, 적당한 XML 테이블을 연결

    하는 클라이언트데이터셋과 데이터소스 컴포넌트를 하나씩 배치한다. 클라이언트데이터셋의 이름은 cds로 바꾸어주고,

    필드 이름으로 title, memo를 치환시킬 HTML 템플릿도 준비한다.

    그런 다음 웹모듈을 더블클릭하여 웹액션 에디터를 띄운다. 거기서 ‘Add New’ 버튼을 눌러 액션을 생성시키고, 액션

    의 Default 속성을 True로 설정한 후 핸들러를 다음과 같이 코딩한다.

  • 그림 11. 웹액션 에디터 조작

    procedure TWebModule1.WebModule1WebActionItem1Action(Sender: TObject;

    Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);

    var

    ResultHtml: string;

    vcode,vtitle,vmemo: string;

    i: integer;

    begin

    ResultHtml := LoadFile(HomePageRoot + '/tax100/error.html');

    ResultHtml := LoadFile(HomePageRoot + '/tax100/popup/popup.html');

    vcode := Request.QueryFields.Values['code'];

    if vcode '' then

    begin

    with cds do

    begin

    close;

    LoadFromFile('./db/hint.cds');

    if Locate('code', vcode, []) then

    begin

    vtitle:= fieldbyname('title').AsString;

    vmemo:= FieldByName('memo').AsString;

    end;

  • close;

    end;

    ResultHtml := StringReplace(ResultHtml, '@title', vtitle, [rfReplaceAll, rfIgnoreCase]);

    ResultHtml := StringReplace(ResultHtml, '@memo', vmemo, [rfReplaceAll, rfIgnoreCase]);

    end;

    Response.Content := ResultHtml;

    end;

    컴파일하여 아파치 웹 서버에 올려놓은 다음 웹브라우저로 본 결과는 다음과 같다.

    그림 12. 웹브라우저에서 띄운 결과 화면

    카일릭스의 미래

    윈도우의 개발사인 MS까지도 윈도우의 가장 강력한 경쟁자라고 인정하는 리눅스가, 왜 아직 데스크탑 시장에서 주목

    할 만한 성과를 보이지 못하는 걸까? 많은 관련 전문가들은 그 이유를 리눅스 지원 애플리케이션의 부족에서 찾고 있다.

    윈도우에서 오랫동안 익숙해있던 각종 애플리케이션을 대체할 만한 리눅스 애플리케이션이 아직까지는 충분하지 않기 때

    문이라는 말이다.

    사실 리눅스는 오랫동안 에디터 수준의 전통적인 개발툴밖에 없었던 반면, 윈도우에는 델파이나 비주얼베이직 등 개발

    자 생산성을 극대화시키는 많은 개발툴이 있었기 때문에 수많은 지원 애플리케이션들이 출시될 수 있었다. 이것은 90년

  • 초반, MS 윈도우의 초창기에 강력한 경쟁자였던 OS/2를 주류 시장 밖으로 몰아냈던 것에서 전례를 찾아볼 수 있다. 당

    시에 초거대 업체였던 IBM의 OS/2와 시장에서 정면으로 부딛혔던 MS 윈도우는 윈도우 애플리케이션을 빠르게 개발할

    수 있는 RAD 툴 비주얼베이직을 발빠르게 출시함으로써, 불과 1년여 사이에 OS/2와의 지원 애플리케이션 차이를 엄청

    나게 벌여놓았고, 덕분에 지원 애플리케이션이 많지 않았던 OS/2는 시장의 주류에서 쫓겨날 수 밖에 없었다.

    카일릭스의 출시로 리눅스 개발에서의 성능이나 생산성은 어떤 윈도우 개발툴에도 뒤지지 않게 되었다. 사실, 카일릭

    스는 윈도우의 유력한 RAD 개발툴인 델파이나 C++빌더와 완벽하게 똑같은 프로그래밍 인터페이스를 제공하므로, 개발

    방법에서 윈도우와 리눅스는 완벽하게 대등해졌다고 할 수 있겠다.

    웹서버 시장에서 리눅스 서버가 경제적 이점 때문에 급속도로 퍼지고 있는데, 이런 시점에서 카일릭스의 강력한 웹개

    발 능력은 다른 어떤 스크립트 언어보다도 훨씬 우위에 있으며 생산성 또한 대단하다. 또, 델파이나 C++빌더로 개발된

    윈도우 애플리케이션을 리눅스에서 웹으로 전환시킨다면, 기존 함수나 클래스들은 그대로 사용가능하며 GUI부분만

    HTML로 변환하면 되기 때문에 쉽게 웹으로 전환이 가능하다.

    카일릭스는 수많은 수상 경력으로도 리눅스 환경에서 가장 강력하고 편리한 개발툴이라는 점이 증명되고 있다. 그런

    만큼 수많은 기능을 배우는데 시간이 많이 필요하긴 하지만 기존의 윈도우 개발 경험을 가지고 있는 개발자라면 지금 바

    로 카일릭스 프로그래밍을 시작하는 데 큰 무리가 없을 것으로 생각된다.

    물론 카일릭스가 단점이 없는 것은 아니다. 아직까지는 카일릭스로 개발된 GUI 프로그램에서 한글입력이 자소단위로

    안되는 등 자잘한 문제점들을 안고 있지만, 카일릭스는 CLX콤포넌트 기반이어서 공개된 콤포넌트 소스를 수정하여 해결

    할 수도 있을 것이며, 카일릭스의 다음 버전에는 개선될 것으로 기대되고 있다.

    이상으로 카일릭스3 소개를 마치려고 한다. 카일릭스란 그리스신화에 나오는 넓은 접시를 뜻하는 개발 초기의 코드명

    이었는데, 이제 카일릭스라는 개발자의 그릇에 무었을 담을것인가는 개발자 여러분에게 달려있는 것이다.

  • 강화된 도움말

    카일릭스 3에서 개선된 특징들 중 주목할 만한 것 하나가 대폭 강화된 도움말이다. 이전 버전에서 카

    일릭스의 도움말은 내용이 불충분한 경우가 많고 예제가 적어 개발자들의 불만을 샀었다. 이번 3버전

    에서는 도움말의 내용이 많이 추가되고 풍부한 예제를 제공하고 있을 뿐 아니라, C++ 및 델파이 문법

    을 동일한 도움말에서 한번에 표시해줌으로써, 도움말의 가용도를 이전 버전보다 대폭 높였다.