본문 바로가기

철이이야기

라자루스(Lazarus)에 관심을 갖다.


응용프로그램 개발자라면 누구나 크로스 플랫폼 개발에 관심을 가질 것이고 고민할 것입니다. 저도 마찬가지로 게임 개발툴과 관리툴을 만듦에 있어 맥과 윈도우를 동시에 지원하는 툴을 만들고 싶어 졌지요. wxWidgets, wxPython 등을 고려해 보았으나 마땅한 IDE가 없어서 섣불리 배워야 겠다는 맘이 들지 않았습니다.

그러던 중 라자루스를 발견했습니다. 현재 오픈소스로 진행 중인 FreePascal IDE입니다. 라자루스의 특징은 델파이의 컴포넌트 프로그래밍을 그대로 재현해 놓고 있다는 점입니다.


위의 화면은 라자루스를 맥OSX에 설치한 모습입니다. 라자루스는 윈도우즈용, 리눅스용, 맥용 IDE를 제공하기 때문에 One Source, Multi Use입니다. 따라서
편한 곳에서 코딩을 하고 필요한 환경에서 라자루스를 이용해서 컴파일하면 크로스플랫폼을 이루고자 하는 목표를 이룰 수 있습니다.

하지만 아직 완벽한 것은 아닙니다. 맥OSX환경에서는 소스코드 편집기내에서 한글을 제대로 입력할 수 없습니다. 모두 쪼개져서 나옵니다. SynEdit의 구현 내용 때문에 그렇다고 하는데 하루 빨리 버그 패치가 이루어 졌으면 좋겠습니다.

아래 화면은 아래와 같이 폼을 작성하고 버튼의 클릭 이벤트 핸들러를 작성한 화면입니다.


procedure TForm1.Button1Click(Sender: TObject);
var
  filename : String;
begin
     if OpenPictureDialog1.Execute then begin
       filename := OpenPictureDialog1.FileName;
       Image1.Picture.LoadFromFile(filename);
     end;
end;  

이 내용을 맥과 윈도우즈에서 컴파일해 보겠습니다.


위의 그림은 맥에서 실행한 화면입니다. 그리고 아래의 그림은 같은 프로젝트를 윈도우즈에 옮겨서 컴파일한 결과 화면입니다. 동일하게 잘 작동합니다.


델파이의 컴포넌트 조합 기법은 델파이를 RAD툴의 왕으로 만들어 주었습니다.
오픈 소스 프로젝트인 라자루스를 이용해서 RAD툴로 크로스플랫폼이 가능한 프그램을 만들 수 있다는 점은 정말 큰 매력입니다.

아직은 많은 발전점이 보이지만 이런 프로젝트를 오픈소스로 진행해 주는 것에 너무 감사하고 감동할 뿐입니다.

참고로 라자루스로 WinCE, 아이폰 그리고 안드로이드 용 앱도 개발할 수 있습니다!!!

라자루스 참고자료