컴퓨터 공부/번역

XPCOM

려리군 2009. 10. 20. 14:42

facilitate 용이하게 하다. 촉진하다.



XPCOM

XPCOM (Cross Platform Component Object Model) is a cross platform component model from Mozilla. 

XPCOM은 모질라 재단으로부터 나온 크로스 플랫폼 컴포넌트 모델이다.

It is similar to CORBA and particularly Microsoft COM, whose concepts are strikingly similar. 

CORBA와 특히 그 개념이 상당히 비슷한 마이크로소프트 COM과 비슷하다.

It has multiple language bindings and IDL descriptions so programmers can plug their custom functionality into the framework and connect it with other components.

XPCOM은 다양한 언어 바인딩과 IDL 서술법이 있기에 프로그래머는 그들의 사용자 기능을 프레임 워크와 연결(plug-in)하고 다른 컴포넌트와 그것을 연결할 수 있다.


The Model


XPCOM is one of the main things that makes the Mozilla application environment an actual framework. 

XPCOM은 모질라 응용프로그램 환경을 실제 프레임워크로 만든다.

It is a development environment that provides the following features for the cross-platform software developer:

크로스 플랫폼 소프트웨어 개발자를 위해 다음과 같은 특징을 제공하는 개발환경이다.

Component management

컴포넌트 관리

File abstraction

파일 추상화

Object message passing

객체 메세지 패싱

Memory management

메모리 관리


This component object model makes virtually all of the functionality of Gecko available as a series of components, or reusable cross-platform libraries, that can be accessed from the web browser or scripted from any Mozilla application. 

이 컴포넌트 오브젝트 모델은 가상으로 어떤 모질라 프로그램으로부터 스크립트화나 웹 브라우저로부터 접근될 수 있는 Gecko의 모든 기능을 컴포넌트의 시리즈로서 가능하게 하거나 크로스 플랫폼 라이브러리를 재사용한다.

Applications that want to access the various Mozilla XPCOM libraries (networking, security, DOM, etc.) use a special layer of XPCOM called XPConnect, which reflects the library interfaces into JavaScript (or other languages). 

다양한 모질라 XPCOM 라이브러리를 접근하기 원하는 응용프로그램(네트워크, 보안, DOM등)은 XPConnect라고 불리는 XPCOM의 특별한 계층을 사용한다.

XPConnect glues the front end to the C++ or C programming language-based components in XPCOM, and it can be extended to include scripting support for other languages: PyXPCOM already offers support for Python, PerlConnect [1] and plXPCOM [2] provide support for Perl, and there are efforts underway to add .NET and Ruby language support for XPConnect.

XPConnect는 XPCom에서 프론트 엔드를 C++ 혹은 C 프로그래밍 언어 기반 컴포넌트에 붙이고 다른 언어를 위해 스트립트 지원을 포함하도록 확장될 수 있다.

PyXPCOM은 Python을 지원하고 PerlConnect와 plXPCOM은 펄을 지원하며 XPConnect를 위한 루비 언어 지원과 .NET을 추가하기 위해 노력하고 있다.

On the developer side, XPCOM lets you write components in C++, C, JavaScript, Python, or other languages for which special bindings have been created, and compile and run those components on dozens of different platforms, including these and others where Mozilla itself is supported.

개발자 측변에서 XPCOM은 특별한 바인딩을 한 C++, C, 자바스크립트, 파이썬, 다른 어어에서 컴포넌트를 작성할 수 있게 하고 모질라 스스로가 제공될 수 있는 곳에서 여러 개의 다른 플랫폼과 다른 것을 포함하여 이러한 컴포넌트들을 컴파일하고 실행할 수 있게 한다.

The flexibility to reuse the XPCOM components from the Gecko library and develop new components that run on different platforms facilitates rapid application development and results in an application that is more productive and easier to maintain.

Gecko 라이브러리로부터 XPCOM 컴포넌트를 재사용하고 다른 플랫폼에서 실행가능한 새로운 컴포넌트를 개발하는 융통성은 빠른 응용프로그램 개발을 용이하게 했고 더 생산적이고 유지하기 더 쉬운 응용프로그램을 이끌어냈다. 

The networking library, for example, is a set of XPCOM components that can be accessed and used by any Mozilla application. 

예를 들어 네트워크 라이브러리는 모질라 응용프로그램에 의해 사용되고 접근될 수 있는 XPCOM 컴포넌트 집합이다. 

File I/O, security, password management, and profiles are also separate XPCOM components that programmers can use in their own application development.

파일 입출력, 보안, 비밀번호 관리, 프로필은 프로그래머가 그들의 응용 프로그램 개발에서 사용할 수 있는 분리된 XPCOM 컴포넌트다.


Criticism

비판


XPCOM adds a lot of code for marshalling objects between different usage contexts (eg. different languages). 

XPCOM은 다른 사용 문맥(예,다른 언어)들 사이에서 객체를 마샬링하는데 많은 코드를 추가하였다.

This leads to code bloat in XPCOM based systems. This was one of the reasons why Apple chose KHTML over the XPCOM-based Gecko rendering engine for their Web Browser.

이는 XP 기반 시스템에서 코드를 확장시켰다. 이는 왜 Apple이 그들의 웹 브라우저에서 XPCOM 기반 Gecko 렌더링 엕진보다 KHTML을 선택하였는지에 대한 이유이다.

The Gecko developers currently try to reduce superfluous uses of XPCOM in the Gecko layout engine. This process is commonly known as deCOMtamination [1].

Gecko 개발자는 현재 Gecko 레이아웃 엔진에서 XPCOM의 여분의 사용을 줄이려고 하고 있다. 이 과정은 deCOMtamination으로 알려져 있다.


Discontinuation


On October 13, 2006, Brendan Eich, Mozilla's Chief Technology Officer, wrote about the plans for Mozilla 2.0, the platform on which Firefox 4.0 is likely to be based. 

2006년 10월 13일 모질라 CTO인 Brendan Eich는 모질라 2.0의 계획에 관해 작성했는데 파이어폭스 4.0을 기본으로 둔 플랫폼에 관해서였다.

These changes include improving and removing XPCOM APIs boilerplate, switching to C++ standard library, just-in-time compilation with JavaScript 2 (known as the Tamarin project), tool-time and runtime security checks.

이 변화는 XPCOM API들을 포함하고 C++ 표준 라이브러리로 바꾸고 Javascript2를 바로 컴파일, 툴타임과 런타임시 보안 체크등을 향상하거나 제거하는 걸 포함한다.

'컴퓨터 공부 > 번역' 카테고리의 다른 글

freeTDS(기타자료 등등)  (0) 2010.02.01
서비스 거부 공격(DoS)  (0) 2009.10.15
파밍  (0) 2009.10.15
피싱  (0) 2009.10.15
BHO  (0) 2009.09.30