2012-08-17 3 views
0

저는 회사의 주요 제품 라인에 대한 Mozilla 플러그인 작업을 시작하려고합니다. 필자는 Gecko SDK를 사용하여 빌드 할 수 있다는 인상을 받았으며, 두 가지 주요 개정판을 전제로하고 있으며, 이는 사람이 합리적으로 사용하는 모든 브라우저를 대상으로합니다. 나는 또한 이것이 크롬과 오페라 (사실 확인 누군가?)를 또한 커버 할 것이라고 가정하고있다.Mozilla 플러그인, Gecko SDK가 업데이트 될 때마다 다시 컴파일해야합니까?

하지만, 난 그냥 설명서를 읽고 있었다 나는 이걸 발견 : 게코 버전

2.0 전에, 당신은 당신이 목표하고자하는 모질라의 초기 버전에 대한 게코 SDK 버전을 선택해야합니다. Gecko 버전 2.0 이상에서는 교차 버전 호환성이 더 이상 지원되지 않으므로 각 릴리스에 대해 구성 요소를 다시 컴파일해야합니다.

누군가 이것이 제게 그것이 의미한다고 생각하는 것은 아닙니다. 그렇다면 배포 후에도 Gecko의 각 버전에 대한 플러그인을 무기한으로 다시 컴파일해야한다는 의미입니까? 그건 모질라의 위대한 팀이 우리에게 줄 것이라고 생각하지 않습니다.

+2

Firefox 확장 프로그램에서 NPAPI 플러그인 또는 XPCOM 구성 요소에 대해 묻는 중입니까? 설명서에 대해 후자에 대해 이야기, 당신은 이전에 대해 걱정할 것 ... –

+0

@WladimirPalant NPAPI, 나는 Gecko SDK가 NPAPI 플러그인 용 SDK라고 생각했습니다. –

+1

아니요, 아니요, SDK는 주로 Firefox 확장 등을 위해 XPCOM 구성 요소를 컴파일하는 데 사용됩니다. 문서는 그 목적을 독점적으로 사용한다고 가정합니다.NPAPI 플러그인은 이전 SDK 버전으로 컴파일 될 수 있으며 계속 작동합니다 (그렇지 않으면 Flash가 각 Firefox 업데이트에서 작동하지 않습니다). –

답변

2

Gecko SDK에는 적어도 두 가지 목적이 있습니다. 인용하려면 documentation :

또한 XULRunner가 SDK로 알려진 도마뱀 붙이 SDK는, XPCOM 컴포넌트를 개발하는 XPIDL 파일, 헤더 및 도구의 집합입니다

하는 수 다음 차례로 예를 들어, JavaScript를 사용하여 XUL에서 액세스 할 수 있습니다.

...

게코 SDK는 XPIDL 컴파일러/링커 및 최신 npapi.h 포함 스크립트 NPAPI 플러그인을 만들기 위해 필요한 도구와 헤더를 제공합니다.

이 페이지에서 인용 한 문장은 SDK의 주요 용도에 적용됩니다. Firefox 확장 프로그램에서 사용할 수있는 기본 XPCOM 구성 요소를 작성하십시오. 이러한 XPCOM 구성 요소는 브라우저의 내부 인터페이스에 액세스 할 수 있으므로 인터페이스 안정성 문제가 발생합니다. Gecko 2.0 (Firefox 4)부터이 문제는 XPCOM 구성 요소가 하나의 Firefox 버전에서만 작동 할 수 있도록 해결되었습니다. 다른 Firefox 버전으로 작업하려면 최신 버전의 Gecko SDK로 다시 컴파일해야합니다.

설명서에는 실제로 명확한 내용이 없지만이 모든 내용은 고정 인터페이스를 통해서만 브라우저와 통신하는 NPAPI 플러그인에는 적용되지 않습니다. Gecko SDK가 NPAPI 플러그인을 컴파일하는 데 아직도 얼마나 필요한지 잘 모르겠습니다. 단지 npapi.h과 다른 몇 가지 헤더 파일 인 것으로 보입니다. 이 파일은 정확히 change often이 아니며 변경 사항은 대부분 상수로 제한됩니다. 따라서 이전 SDK 버전과 비교하여 플러그인을 컴파일하는 데 문제가 없습니다. 부작용 만 있으면 새 NPAPI 기능을 사용할 수 없을 수도 있습니다.

그렇다면 Gecko SDK 대신 NPAPI SDK을 사용할 수 있어야합니다. 다운로드가 훨씬 적으며 NPAPI 플러그인을 만드는 데 명시 적으로 사용됩니다. Gecko SDK의 파일은 기본적으로 NPAPI SDK에서 복사됩니다 (파일 기록에서 "npapi-sdk rNN에 동기화"를 참고하십시오).

+0

다시 한번 감사드립니다. 이것은 훌륭한 대답입니다. –

+0

또한 NPAPI에 너무 많이 파기 전에 FireBreath (firebreath.org)를 살펴보아야합니다. 플러그인에서 처리해야 할 많은 문제를 추상화하고 IE와 NPAPI 호환 플러그인 모두에서 플러그인을 작성합니다. FireBreath를 사용하지 않기로 결정한 경우에도 FireBreath 커뮤니티는 아마도 NPAPI를 파악하기위한 최고의 리소스 일 것입니다. – taxilian