{{위키데이터 속성 추적}}
'''NPAPI'''(Netscape Plugin Application Programming Interface)는 [[웹 브라우저]]용으로 [[플러그인]]을 개발할 수 있게 허용하는 [[API]]이다. 처음에는 1995년 [[넷스케이프 내비게이터 2.0]]을 시작으로 [[넷스케이프]] 브라우저용으로 개발되었으나 이어서 다른 브라우저들에도 채용되었다.

NPAPI 구조에서 플러그인은 audio/mp3와 같은 처리 가능한 [[미디어 타입|콘텐츠 타입]]을 선언한다. 브라우저가 네이티브로 처리할 수 없는 콘텐츠 타입을 마주치면 적절한 플러그인을 로드하여 플러그인이 렌더링할 브라우저 콘텍스트 내에 공간을 비치시킨 다음 데이터를 그곳으로 흘려보낸다. 이러한 플러그인은 데이터를 렌더링하는 역할을 하게 된다. 이 플러그인은 페이지 안에 자리를 차지하며 동작하는데 이는 외부 애플리케이션을 실행시켜 알 수 없는 콘텐츠 타입을 처리했던 오래된 브라우저들과는 상반된다.

NPAPI의 요구사항은 각 플러그인이 플러그인 콘텐츠의 초기화, 작성, 삭제, 위치 지정을 위한 약 15개의 기능을 구현, 노출해야 한다는 것이다. NPAPI는 또한 스크립팅, 인쇄, 전체 화면 플러그인, 창없는 플러그인, 콘텐츠 스크리밍을 지원한다.

== 스크립트 지원 ==
* 라이브커넥트(LiveConnect): 자바와 자바스크립트 소프트웨어가 웹 페이지 안에서 상호 통신할 수 있게 해 주는 웹 브라우저의 기능이다.
* 크로스 포인트 커넥트(XPConnect): [[XPCOM]]과 자바스크립트 간의 단순한 상호운용을 허용하는 기술이다.
* NPRuntime

== 브라우저 지원 ==
다음의 [[웹 브라우저]]들이 NPAPI 플러그인들을 지원한다.
* [[파이어폭스]] (모질라는 [[플래시 플레이어]]를 제외하고<ref>{{웹 인용 |url=https://blog.mozilla.org/futurereleases/2016/07/20/reducing-adobe-flash-usage-in-firefox/ |title=Reducing Adobe Flash Usage in Firefox |author=Benjamin Smedberg |publisher=Mozilla |accessdate=2016-11-05}}</ref> 2017년 3월 NPAPI 지원을 제거할 것이다. 윈도우용 64비트 파이어폭스는 플래시와 실버라이트 플러그인용 NPAPI만을 지원한다.<ref>{{웹 인용 | url=https://bugzilla.mozilla.org/show_bug.cgi?id=1165981 | title=Bug 1165981 - Whitelist Flash for NPAPI on 64 bit Firefox on Win64 | publisher=Mozilla | accessdate=2016-01-20}}</ref>)
* [[페일 문]]
* Isis ([[웹OS]])
* [[캉커러]]
* [[미도리 (웹 브라우저)|미도리]]
* [[오디세이 웹 브라우저]] ([[MorphOS]])
* [[QupZilla]]
* [[사파리 (웹 브라우저)|사파리]]
* [[시몽키]]
* [[웹 (웹 브라우저)|웹]]
* [[유즈블]]

다음의 웹 브라우저들은 NPAPI를 지원하지만 개발이 중단되었다:
* [[카미노]]
* [[모질라 애플리케이션 스위트]]
* [[넷스케이프 내비게이터]], [[넷스케이프 커뮤니케이터]]

== 스크립팅 지원 ==
스크립팅은 웹 페이지에서 [[자바스크립트]] 코드가 플러그인과 상호 작용할 수 있게 하는 기능이다. 다양한 버전의 넷스케이프, 그 뒤 [[모질라]]는 라이브커넥트, XP커넥트, NP런타임을 포함하여 각기 다른 기술들을 사용하여 이 기능을 지원하였다.
* 라이브커넥트
* XP커넥트
* NP런타임

== 플러그인 ==
다음은 NPAPI 기반 플러그인 목록이다.
* [[어도비 어크로뱃]] 뷰어
* [[어도비 플래시 플레이어]]
* [[어도비 쇼크웨이브 플레이어]]
* [[DivX|DivX 웹 플레이어]]
* [[자바 런타임 환경]]
* [[유니티 (게임 엔진)|유니티]] 웹 플레이어
* [[윈도우 정품 혜택]] 플러그인 (파이어폭스용)

== 유사 기술 ==
=== 액티브X ===
{{본문|액티브X}}
=== PPAPI ===
{{본문|구글 네이티브 클라이언트#페퍼}}
2009년 8월 12일, 구글 코드의 한 페이지<ref>{{웹 인용|url = https://code.google.com/p/ppapi/|title = ppapi|date = |accessdate = |website = [[Google Code]]|publisher = [[Google]]|last = |first = |archiveurl = |archivedate = }}</ref>는 새로운 프로젝트 페퍼(Project Pepper)를 선보이면서 페퍼 플러그인 API(PPAPI)와 연계되었다.<ref>{{웹 인용|url=http://www.chromium.org/nativeclient/getting-started/getting-started-background-and-basics#TOC-Pepper-Plugin-API-PPAPI-|title=Getting Started: Background and Basics – The Chromium Projects|work=chromium.org|확인날짜=2017-02-12|보존url=https://web.archive.org/web/20170315210439/http://www.chromium.org/nativeclient/getting-started/getting-started-background-and-basics#TOC-Pepper-Plugin-API-PPAPI-|보존날짜=2017-03-15|url-status=dead}}</ref>

PPAPI는 NPAPI의 파생물로서, 플러그인의 포팅을 높이고 더 안전하게 만드는 데 초점을 둔다.<ref>{{웹 인용|url=https://code.google.com/p/ppapi/wiki/Concepts|title=Concepts -  ppapi -   Important concepts for working with PPAPI. -  Pepper Plugin API – Google Project Hosting|work=google.com}}</ref>

PPAPI는 구글 크롬과 [[크로미엄 (웹 브라우저)|크로미엄]]에만 지원되었다. 나중에 [[오페라 (웹 브라우저)|오페라]]와 [[비발디]]와 같은 다른 크로미엄 브라우저들 또한 PPAPI 플러그인 지원을 추가하였다.

2012년 2월, [[어도비 시스템즈]]는 차기 리눅스 버전의 어도비 플래시 플레이어는 PPAPI를 통해서만 제공될 것이라 발표하였다. NPAPI로 지원되는 이전 릴리스 플래시 플레이어 11.2는 5년 동안 보안 업데이트를 받게 된다.<ref>{{웹 인용|url=http://blogs.adobe.com/flashplayer/2012/02/adobe-and-google-partnering-for-flash-player-on-linux.html|title=Adobe and Google Partnering for Flash Player on Linux|work=adobe.com|확인날짜=2017-02-12|보존url=https://web.archive.org/web/20120223062713/http://blogs.adobe.com/flashplayer/2012/02/adobe-and-google-partnering-for-flash-player-on-linux.html|보존날짜=2012-02-23|url-status=dead}}</ref> 2016년 8월, 어도비는 이전 발언과는 달리 리눅스에서 NPAPI 플래시 플레이어를 다시 지원하고 새로운 버전을 계속 출시할 것이라고 발표하였다.<ref>{{웹 인용|last1=Campbell|first1=Chris|title=Beta News – Flash Player NPAPI for Linux|url=https://blogs.adobe.com/flashplayer/2016/08/beta-news-flash-player-npapi-for-linux.html|website=Adobe AIR and Adobe Flash Player Team Blog|publisher=Adobe Systems|accessdate=8 September 2016|date=31 August 2016|archive-date=2016-11-18|archive-url=https://web.archive.org/web/20161118231652/http://blogs.adobe.com/flashplayer/2016/08/beta-news-flash-player-npapi-for-linux.html}}</ref>

== 같이 보기 ==
* [[NSAPI]](Netscape Server Application Programming Interface)
* [[액티브X]]

== 각주 ==
{{각주}}

== 외부 링크 ==
* [https://developer.mozilla.org/en/Plugins 플러그인 개발 문서] {{웨이백|url=https://developer.mozilla.org/en/Plugins |date=20120803092052 }} - 모질라 개발자 센터 (NPAPI API 포함)

{{웹 인터페이스}}
{{모질라}}
{{넷스케이프}}

[[분류:넷스케이프]]
[[분류:API]]
[[분류:웹 브라우저]]