NPAPI
NPAPI(Netscape Plugin Application Programming Interface)는 웹 브라우저용으로 플러그인을 개발할 수 있게 허용하는 API이다. 처음에는 1995년 넷스케이프 내비게이터 2.0을 시작으로 넷스케이프 브라우저용으로 개발되었으나 이어서 다른 브라우저들에도 채용되었다.
NPAPI 구조에서 플러그인은 audio/mp3와 같은 처리 가능한 콘텐츠 타입을 선언한다. 브라우저가 네이티브로 처리할 수 없는 콘텐츠 타입을 마주치면 적절한 플러그인을 로드하여 플러그인이 렌더링할 브라우저 콘텍스트 내에 공간을 비치시킨 다음 데이터를 그곳으로 흘려보낸다. 이러한 플러그인은 데이터를 렌더링하는 역할을 하게 된다. 이 플러그인은 페이지 안에 자리를 차지하며 동작하는데 이는 외부 애플리케이션을 실행시켜 알 수 없는 콘텐츠 타입을 처리했던 오래된 브라우저들과는 상반된다.
NPAPI의 요구사항은 각 플러그인이 플러그인 콘텐츠의 초기화, 작성, 삭제, 위치 지정을 위한 약 15개의 기능을 구현, 노출해야 한다는 것이다. NPAPI는 또한 스크립팅, 인쇄, 전체 화면 플러그인, 창없는 플러그인, 콘텐츠 스크리밍을 지원한다.
스크립트 지원
편집- 라이브커넥트(LiveConnect): 자바와 자바스크립트 소프트웨어가 웹 페이지 안에서 상호 통신할 수 있게 해 주는 웹 브라우저의 기능이다.
- 크로스 포인트 커넥트(XPConnect): XPCOM과 자바스크립트 간의 단순한 상호운용을 허용하는 기술이다.
- NPRuntime
브라우저 지원
편집다음의 웹 브라우저들이 NPAPI 플러그인들을 지원한다.
- 파이어폭스 (모질라는 플래시 플레이어를 제외하고[1] 2017년 3월 NPAPI 지원을 제거할 것이다. 윈도우용 64비트 파이어폭스는 플래시와 실버라이트 플러그인용 NPAPI만을 지원한다.[2])
- 페일 문
- Isis (웹OS)
- 캉커러
- 미도리
- 오디세이 웹 브라우저 (MorphOS)
- QupZilla
- 사파리
- 시몽키
- 웹
- 유즈블
다음의 웹 브라우저들은 NPAPI를 지원하지만 개발이 중단되었다:
스크립팅 지원
편집스크립팅은 웹 페이지에서 자바스크립트 코드가 플러그인과 상호 작용할 수 있게 하는 기능이다. 다양한 버전의 넷스케이프, 그 뒤 모질라는 라이브커넥트, XP커넥트, NP런타임을 포함하여 각기 다른 기술들을 사용하여 이 기능을 지원하였다.
- 라이브커넥트
- XP커넥트
- NP런타임
플러그인
편집다음은 NPAPI 기반 플러그인 목록이다.
- 어도비 어크로뱃 뷰어
- 어도비 플래시 플레이어
- 어도비 쇼크웨이브 플레이어
- DivX 웹 플레이어
- 자바 런타임 환경
- 유니티 웹 플레이어
- 윈도우 정품 혜택 플러그인 (파이어폭스용)
유사 기술
편집액티브X
편집PPAPI
편집2009년 8월 12일, 구글 코드의 한 페이지[3]는 새로운 프로젝트 페퍼(Project Pepper)를 선보이면서 페퍼 플러그인 API(PPAPI)와 연계되었다.[4]
PPAPI는 NPAPI의 파생물로서, 플러그인의 포팅을 높이고 더 안전하게 만드는 데 초점을 둔다.[5]
PPAPI는 구글 크롬과 크로미엄에만 지원되었다. 나중에 오페라와 비발디와 같은 다른 크로미엄 브라우저들 또한 PPAPI 플러그인 지원을 추가하였다.
2012년 2월, 어도비 시스템즈는 차기 리눅스 버전의 어도비 플래시 플레이어는 PPAPI를 통해서만 제공될 것이라 발표하였다. NPAPI로 지원되는 이전 릴리스 플래시 플레이어 11.2는 5년 동안 보안 업데이트를 받게 된다.[6] 2016년 8월, 어도비는 이전 발언과는 달리 리눅스에서 NPAPI 플래시 플레이어를 다시 지원하고 새로운 버전을 계속 출시할 것이라고 발표하였다.[7]
같이 보기
편집각주
편집- ↑ Benjamin Smedberg. “Reducing Adobe Flash Usage in Firefox”. Mozilla. 2016년 11월 5일에 확인함.
- ↑ “Bug 1165981 - Whitelist Flash for NPAPI on 64 bit Firefox on Win64”. Mozilla. 2016년 1월 20일에 확인함.
- ↑ “ppapi”. 《Google Code》. Google.
- ↑ “Getting Started: Background and Basics – The Chromium Projects”. 《chromium.org》. 2017년 3월 15일에 원본 문서에서 보존된 문서. 2017년 2월 12일에 확인함.
- ↑ “Concepts - ppapi - Important concepts for working with PPAPI. - Pepper Plugin API – Google Project Hosting”. 《google.com》.
- ↑ “Adobe and Google Partnering for Flash Player on Linux”. 《adobe.com》. 2012년 2월 23일에 원본 문서에서 보존된 문서. 2017년 2월 12일에 확인함.
- ↑ Campbell, Chris (2016년 8월 31일). “Beta News – Flash Player NPAPI for Linux”. 《Adobe AIR and Adobe Flash Player Team Blog》. Adobe Systems. 2016년 11월 18일에 원본 문서에서 보존된 문서. 2016년 9월 8일에 확인함.
외부 링크
편집- 플러그인 개발 문서 Archived 2012년 8월 3일 - 웨이백 머신 - 모질라 개발자 센터 (NPAPI API 포함)