브라우저별 플러그인 방식이 궁금합니다.

프로젝트에 건의 할 사항, 일반적인 토론 등을 위한 자유로운 마당입니다.
Post Reply
초보자

브라우저별 플러그인 방식이 궁금합니다.

Post by 초보자 »

몇가지 궁금한게 있습니다...

1. FF가 NPAPI라는 플러그인 방식을 지원한다면 다른 브라우저(오페라, 사파리, 크롬등)도 자신들만의 방식으로
제공하는 API가 따로 있나요? 아 물론 오페라, 사파리, 크롬도 NPAPI를 지원하는건 알고있습니다.
그러니까 제가 말하고자 하는거는 오페라, 사파리, 크롬이 각각 제공하는 전용 API가 있냐는것 입니다.
만약 각각 제공하는 전용 API가 없다면 모두 NPAPI 플러그인 방식만을 지원하는걸까요?

2. 만약 1번에서의 대답이 전용 API가 없고 전부 NPAPI방식만을 지원한다면 엔진이 다른데(NPAPI는 게코만 지원)
어떤 방식으로(기술을 써서) NPAPI를 사용할까요? FF는 XPCOM기술을 사용하는걸로 알고있습니다...
(이 질문은 1번의 답이 오페라, 사파리, 크롬에서 각각 제공해주는 전용 API가 없다면 어떻게 NPAPI를 사용하는가
입니다.)

3. 리눅스에서도 FF를 사용해도 IE Tab 기능을 사용할 수 있나요?

4. NPAPI는 게코 SDK로 개발한다는게 맞나요?

5. FF에서 NPAPI를 사용하려면 XPCOM을 사용해야 하잖아요...XPCOM은 XPConnect라는 스크럽터블한 인터페이스를
사용해야 한다던데...예를 들면 구현된 프로그램이 MFC(C++)이라면 자바스크립트로(자바개체로) 가져올 때
서로 다른 명령어를 어떻게 연동시키나요? 얘를들면 C++은 파일오픈 명령어가 fopen인데 자바에서는
JFileChooser라는 명령어를 쓴다고 하면 엄연히 두개의 명령어가 다른데(기능은 같지만) 어떻게 연동시키게
될까요? XPCOM 자체에 fopen=JFileChooser 이다 라는 식으로 정의가 되어있나요???
warmstar
Posts: 41
Joined: 2007 04 03 12:44 36
Contact:

Re: 브라우저별 플러그인 방식이 궁금합니다.

Post by warmstar »

제가 아는 한도에서 답변드리겠습니다.
초보자 wrote: 1. FF가 NPAPI라는 플러그인 방식을 지원한다면 다른 브라우저(오페라, 사파리, 크롬등)도 자신들만의 방식으로
제공하는 API가 따로 있나요? 아 물론 오페라, 사파리, 크롬도 NPAPI를 지원하는건 알고있습니다.
그러니까 제가 말하고자 하는거는 오페라, 사파리, 크롬이 각각 제공하는 전용 API가 있냐는것 입니다.
만약 각각 제공하는 전용 API가 없다면 모두 NPAPI 플러그인 방식만을 지원하는걸까요?
각각 제공하는 전용 API는 없고 NPAPI 만을 지원하는 것으로 알고 있습니다.
초보자 wrote: 2. 만약 1번에서의 대답이 전용 API가 없고 전부 NPAPI방식만을 지원한다면 엔진이 다른데(NPAPI는 게코만 지원)
어떤 방식으로(기술을 써서) NPAPI를 사용할까요? FF는 XPCOM기술을 사용하는걸로 알고있습니다...
(이 질문은 1번의 답이 오페라, 사파리, 크롬에서 각각 제공해주는 전용 API가 없다면 어떻게 NPAPI를 사용하는가
입니다.)
이것은 기본적으로 플러그인 아키텍쳐를 좀 더 살펴보시면 될 듯 싶습니다. 질문에서도 언급하셨듯이 파이어폭스는 XPCOM 기술을 이용해서 지원을 해 주고 있는 것처럼 각 브라우져마다 플러그인을 지원하기 위한 엔진은 조금씩 차이가 있는 것으로 알고 있습니다. 그래서 NPAPI로 개발한 플러그인을 마치 ActiveX처럼 사용하려고 하면 브라우져마다 조금씩 차이나 문제점이 있는 것으로 알고 있습니다.
초보자 wrote: 3. 리눅스에서도 FF를 사용해도 IE Tab 기능을 사용할 수 있나요?
무언가 좀 이상한 질문인 것 같은데 IE Tab은 플러그인이 아니라 확장기능입니다. 그리고 리눅스에서 IE가 없으니 확장기능을 설치해도 소용없겠죠?
초보자 wrote: 4. NPAPI는 게코 SDK로 개발한다는게 맞나요?
게코 SDK로 개발하면 편리하긴 하나, 파이어폭스에서만 잘 동작할 겁니다. 정확하게는 NPAPI SDK가 따로 있습니다. 게코 SDK는 NPAPI SDK를 Wrapping 해서 사용하는 형태입니다. 그러니 XPCOM 아키텍쳐에서 잘 동작하겠죠? 경험상으로 오페라에서 특히 잘 동작하지 못합니다. 오페라 개발자 사이트에서 마치 게코 SDK를 이용해서 개발하면 된다는 식이긴 하지만, 실제 게코 SDK로 개발하면 문제가 많습니다.
초보자 wrote: 5. FF에서 NPAPI를 사용하려면 XPCOM을 사용해야 하잖아요...XPCOM은 XPConnect라는 스크럽터블한 인터페이스를
사용해야 한다던데...예를 들면 구현된 프로그램이 MFC(C++)이라면 자바스크립트로(자바개체로) 가져올 때
서로 다른 명령어를 어떻게 연동시키나요? 얘를들면 C++은 파일오픈 명령어가 fopen인데 자바에서는
JFileChooser라는 명령어를 쓴다고 하면 엄연히 두개의 명령어가 다른데(기능은 같지만) 어떻게 연동시키게
될까요? XPCOM 자체에 fopen=JFileChooser 이다 라는 식으로 정의가 되어있나요???
질문하신 내용이 정말 광범위(?)하다고 할 수 있는데요. 일단 위 내용은 IDL 파일을 생성하고 해당 IDL 파일을 XPT 파일과 pure virtual 인터페이스 파일을 생성해야 합니다. 그리고 해당 pure virtual 인터페이스 파일을 상속받아 구현체를 만들어야 하는데요. 이와 같은 내용은, http://developer.mozilla.org <- 여기에 해답이 있습니다. ^^;;
User avatar
후니미닉
해커
해커
Posts: 1393
Joined: 2004 12 11 20:01 26
Contact:

Re: 브라우저별 플러그인 방식이 궁금합니다.

Post by 후니미닉 »

초보자 wrote:3. 리눅스에서도 FF를 사용해도 IE Tab 기능을 사용할 수 있나요?
확장 기능 자체에서 타 OS에 설치하는 것을 막고 있을 텐데요...
설치가 된다 해도 IE 엔진을 사용하려면 와인을 통해야 할 겁니다.
설정을 바꿔서 오페라/컹커러의 엔진 등을 사용하는 것은 가능할 것으로 보이는데
굳이 그럴 필요가 있을지 의문입니다.
warmstar wrote:무언가 좀 이상한 질문인 것 같은데 IE Tab은 플러그인이 아니라 확장기능입니다. 그리고 리눅스에서 IE가 없으니 확장기능을 설치해도 소용없겠죠?
IE Tab 확장 기능이 전용 IE Tab 플러그인을 설치해서 돌리는 것으로 알고 있습니다.
warmstar
Posts: 41
Joined: 2007 04 03 12:44 36
Contact:

Re: 브라우저별 플러그인 방식이 궁금합니다.

Post by warmstar »

후니미니 wrote:
warmstar wrote:무언가 좀 이상한 질문인 것 같은데 IE Tab은 플러그인이 아니라 확장기능입니다. 그리고 리눅스에서 IE가 없으니 확장기능을 설치해도 소용없겠죠?
IE Tab 확장 기능이 전용 IE Tab 플러그인을 설치해서 돌리는 것으로 알고 있습니다.
거의 리눅스에서만 살다보니 IE Tab에 대해 잘 몰랐었는데 소스 받아서 확인해보니... 발상이 매우 인상적이네요.
FF 브라우져에 IE Application을 삽입하려고 플러그인으로 만들었을 줄은 몰랐습니다.
Post Reply

Who is online

Users browsing this forum: Ahrefs [Bot] and 0 guests