모질라 애플리케이션 프레임워크

모질라 애플리케이션 프레임워크(Mozilla Application Framework)는 모질라 응용 프로그램을 구성하는 크로스 플랫폼 소프트웨어 컴포넌트의 꾸러미이다. 네트워크를 기반으로 한 응용 프로그램 개발을 쉽게 할 수 있도록 다양한 기술이 포함되었다. Gecko라는 레이아웃 엔진과 XUL(XML User Interface Language)을 통해 GUI를 구성할 수 있으며 JavaScript와 XPCOM이라는 컴포넌트 기술을 이용해서 코딩을 할 수 있다. 그 밖에 Necko, XBL, XPConnect, XPInstall과 같은 기술을 제공하고 있다.

제공되는 기술 
 Gecko  성능과 이식성을 위해 설계된 표준기술 기반의 레이아웃(layout) 엔진이다. 단순히 HTML을 위한 레이아웃 엔진이 아닌 대화상자, 위젯과 같이 브라우저를 구성하는 기본 GUI까지 표시할 수 있다. 현재 다음과 같은 표준기술을 지원한다.

 HTML 4.0
 XML 1.0
 XHTML 1.1
 MathML
 XForms (via an official extension)
 SVG (Partial SVG 1.1 support*)
 CSS Level 1 (partial support for CSS 2 and 3, see Mozilla CSS support chart for details)
 DOM Level 1 and 2 (partial support for DOM 3)
 RDF
 자바스크립트 1.7

 XPCOM(Cross Platform Component Object Model)  XPCOM은 크로스 플랫폼 컴포넌트 모델이다. 코바(CORBA)나 마이크로소프트 COM가 유사하다고 보면 된다. XPCOM은 다중언어바인딩과 IDL을 제공하여 개발자로 하여금 자신이 만든 기능을 프레임워크에 끼워 넣고 다른 컴포넌트와 연결시킬 수 있도록 한다. 이 기술은 Gecko의 모든 기능을 가상적으로 컴포넌트화하여 브라우저나 다른 모질라 애플리케이션에서 스크립트를 이용해서 접근할 수 있도록 한다. 다양한 모질라 XPCOM 라이브러리(네트워킹, 보안, DOM, 등)에 접근하려면 XPConnect라는 XPCOM의 레이어를 사용하면 된다. XPConnect를 이용하면 자바스크립트로 XPCOM 라이브러리를 이용할 수 있다. XPCOM 컴포넌트는 C,C++, Java Script로 개발할 수 있다.

 XUL(XML User Interface Language)  모질라 애플리케이션 프레임워크에서 사용되는 사용자 인터페이스 기술 언어이다. XML로 작성되었으며 대화상자, 위젯, 템플릿 등 다양한 사용자 인터페이스 구성 요소를 정의할 수 있다. CSS, 자바스크립트, DTD, RDF와 같이 이미 존재하는 표준 기술을 사용하여 웹개발이나 디자인 배경을 가진 사람들이 쉽게 배울 수 있도록 하였다.

 Necko  Necko는 네트워크 프로토콜과 파일 시스템 접근을 다루기 위한 추상 레이어를 제공하는 역할을 한다. 이 역시 크로스 플랫폼을 지원하기 위해 개발되었다. 개발자는 운영체제에서 제공하는 네이티브 인터페이스를 고려하지 않고 Necko에서 제공하는 API를 이용해서 네트워크나 파일에 접근할 수 있다.

 XBL(XML Binding Language)  사용자는 XBL을 이용하여 XUL 위젯의 모습과 동작을 새로 정의할 수 있다.

 XPInstall  XPInstall는 XPI라고 알려진 설치 아카이브 형식으로 확장기능과 테마와 같은 작은 패키지를 모질라에 설치하기 위한 기술이다.

 웹서비스  모질라 애플리케이션 프레임워크에서는 XML-RPC, SOAP(그란 파라디소 알파 7부터 지원 중단), WSDL와 같은 여러 다양한 웹서비스 표준을 기본 지원할 뿐만 아니라 인터넷 익스플로러와 유사한 XMLHttpRequest 개체도 지원하고 있다. 이들 표준 기술 지원을 통해 서버와의 XML 데이터 연동 기능을 지원하고 있다.

 기타  그 밖에 DTD, RDF, XSLT/XPath, MathML, SVG, JavaScript, SQL, LDAP 등과 같은 표준 기술을 지원하고 있다.

모질라 애플리케이션 프레임워크를 사용하는 응용 프로그램 
 넷스케이프 내비게이터 9 - 웹 브라우저
 모질라 파이어폭스 - 웹 브라우저
 플락 - 웹 브라우저
 시몽키 - 인터넷 스위트
 모질라 선더버드 - 이메일 클라이언트
 챗질라 - IRC 클라이언트
 엔뷰 - 위지위그 웹 저작 소프트웨어
 모질라 선버드 - 달력
 액티브스테이트 코모도 - 통합 개발 환경
 송버드 - 미디어 플레이어
 주스트 - IPTV 클라이언트
 셀틱스 - 각본 작성 프로그램

각주

외부 링크 
 모질라 애플리케이션 프레임워크에 대한 자세한 정보 
 모질라 플랫폼 
 MozDev.org— 모질라 애플리케이션 프레임워크 기반의 프로젝트를 위한 개발자 사이트

모질라
API