 |
|
XUL 개발
지금까지 XUL이 무엇인지, 어떤 배경에서 나왔는지, 현재 어떻게 발전 중인지 알아봤다. 또한 XUL이 개발자들에게 제공하는 장점과 기회도 눈여겨 살폈다. 이제 XUL로 실제 응용 프로그램을 개발해 보자. 가장 먼저, XUL 개발 환경을 설정하겠다.
XUL 개발 환경
앞서 XUL 설명 내용에서 언급했듯이, XUL을 활용하는 방법은 매우 다양하다. 그러므로 모든 요구사항에 만족하는 개발 환경은 없다. 일반적으로, XUL을 사용하려는 목적에 맞게 개발 환경을 설정하는 편이 바람직하다.
기초 지식
기본적으로 XUL은 XML 기반 UI 언어다. 즉, XUL 프로그램을 구현하려면 XML 파일을 작성하면 된다. 또한 XUL 응용 프로그램에서 사용자와 상호작용하려면 자바스크립트를 사용한다. XML 파일과 자바스크립트 파일은 별다른 컴파일러가 필요하지 않다. XUL 런타임이 모든 파일을 해석한다. 하지만 다음 몇 가지를 명심해야 한다.
XUL 응용 프로그램을 구현할 때 반드시 알아야 할 기초 지식 중 하나가 XUL 응용 프로그램 디렉터리 구조다. 이 튜토리얼에서는 xulblogger라는 응용 프로그램을 구현한다. 그림 2는 우리가 구현할 응용 프로그램을 위한 디렉터리 구조다.
그림 2. XUL 응용 프로그램 디렉터리 구조
그림 2는 핵심 파일 세 개를 보여준다. 첫째 파일이 application.ini다. 이 파일은 응용 프로그램 디렉터리 루트에 위치해야 한다. 이 파일은, 가장 중요하게, 응용 프로그램이 필요로 하는 런타임 버전을 XUL 런타임에 알려준다. Listing 1을 참조한다.
Listing 1. application.ini 파일
[App]
Vendor=developerworks
Name=xulblogger
Version=0.1
BuildID=20070927
[Gecko]
MinVersion=1.8
|
다음으로 중요한 구성 파일이 chrome.manifest다. 이 파일은 chrome 디렉터리 안에 있어야 한다. 일반적으로 chrome 디렉터리 안에 하위 디렉터리를 만들어 여러분이 만든 XUL 응용 프로그램 코드를 넣는다. 하위 디렉터리 이름은 마음대로 정해도 좋다. 위 그림에서는 "xulblogger"라고 정했으나, 흔히 "content"라고 많이 사용한다. chrome.manifest는 응용 프로그램 파일이 들어 있는 위치를 XUL 런타임에 알려준다. Listing 2는 chrome.manifest 예다.
Listing 2. chrome.manifest 파일
content xulblogger file:xulblogger/
|
위에서 보듯이, chrome.manifset는 달랑 한 줄짜리 파일이다. 마지막으로 중요한 파일은 prefs.js다. 이 파일은 /defaults/preferences 디렉터리 안에 있어야 한다. 이 파일은 처음에 메모리에 올릴 XUL 파일을 XUL 런타임에 알려준다. Listing 3을 참조한다.
Listing 3. prefs.js 파일
pref("toolkit.defaultChromeURI", "chrome://xulblogger/content/home.xul");
|
이 외에도 extensions 디렉터리와 updates 디렉터리가 있는데, 당장은 신경쓸 필요가 없다. 둘 다 XUL 런타임이 자동으로 생성하는 디렉터리다.
위 디렉터리 구조에서 한 가지 명심할 사항이 있다. 일반적으로 XUL 응용 프로그램은 최상위 디렉터리에서 JAR 파일을 생성하여 배포한다. 자바 개발 키트를 설치했다면 jar 명령으로 JAR 파일을 생성하면 된다. 아니면 zip 명령으로 디렉터리 내용을 묶은 후 확장자를 .zip에서 .jar로 바꾸면 된다.
XUL 응용 프로그램 실행하기
XUL 응용 프로그램을 실행하려면 다음 세 가지 방법 중 하나를 사용한다.
- 간단하게 UI를 테스트하려면 파이어폭스에서 (혹은 맥 OS X의 시몽키나 카미노 같은 모질라 기반 브라우저에서) .xui 파일을 열어본다. 구성요소가 작고 구조가 단순한 응용 프로그램이라면 이 방법이 가장 간편하다. 파이어폭스는 여러분이 만든 chrome.manifest 파일 내용을 모르므로 기본 크롬에서 참조하는 다른 크롬 파일은 찾지 못한다.
- XULRunner를 사용해도 무방하다. XULRunner를 사용하려면 설치 프로그램을 다운로드하거나 직접 빌드한다. 소스에서 XULRunner를 빌드하면 게코 SDK도 함께 빌드된다. XULRunner를 설치한 후에는 XULRunner를 실행하면서 application.ini 파일 위치만 지정하면 충분하다. 그러면 application.ini는 물론 앞서 언급한 나머지 두 구성 파일도 모두 읽어들인다.
- 마지막으로, 가장 최신 방법으로 테스트하려면, 간단히 파이어폭스 3.0을 내려받는다. 사용 방법은 XULRunner와 매우 비슷하다. XULRunner에서
xulrunner <path_to_app>/application.ini라는 명령을 사용했다면, 파이어폭스 3.0에서는 firefox -app <path_to_app>/application.ini라는 명령을 사용한다.
|