mir.pe (일반/밝은 화면)
최근 수정 시각 : 2024-07-11 00:27:09

Java Applet

1. 개요2. 사용 방법3. 소송전, 그리고 몰락4. 문제점5. 지원 종료6. 기타
6.1. Java Applet 실행

1. 개요

자바 애플릿은 Java 기반의 리치 인터넷 애플리케이션이다.

2. 사용 방법

Java로 작성한 프로그램을 미리 업로드하고 브라우저 상에서 applet 태그로 불러온다.[1] 브라우저에서 애플릿 태그가 실행되면 Java 프로그램을 다운로드한 다음 실행한다. 방식으로 보자면 어도비 플래시 Microsoft Silverlight와 유사하다. 특징은 운영체제 상에서 직접 실행되는 것이 아니라 Java답게 Java Virtual Machine에서 실행된다. 따라서 애플릿을 실행하려면 Java Virtual Machine을 컴퓨터에 미리 깔아놓아야 한다.

3. 소송전, 그리고 몰락

웹 브라우저 초창기에는 당시 양대 웹 브라우저였던 넷스케이프 Internet Explorer가 애플릿 실행용 Java Virtual Machine을 내장하여 제공했기 때문에 따로 설치할 필요가 없었다. 그런데 인터넷 익스플로러를 제작한 마이크로소프트에서 Java를 무단으로 수정하여 Visual J++을 내놓고, 여기에 맞춰 역시 무단으로 수정한 Microsoft Java Virtual Machine을 인터넷 익스플로러에 집어넣어 배포했다. 윈도우에서 네이티브로 돌아가기에 성능이 좋았지만 윈도우 전용이라는 문제가 있었다.

이걸 알게 된 당시 Java의 개발사였던 썬 마이크로시스템즈는 1997년 마이크로소프트에 저작권 침해 소송을 걸었고, 마이크로소프트는 썬에게 2000만 달러를 지불하고 Visual J++을 더 이상 개발하지 않는 대신, 인터넷 익스플로러에 내장된 Microsoft Java Virtual Machine의 사용권을 얻는다.

그러다 2000년대로 들어서면서 넷스케이프가 몰락하고, 인터넷 익스플로러가 웹 브라우저 시장을 거의 독점하는 수준이 되자 2002년 썬은 마이크로소프트에 반독점 및 특허 침해 소송을 걸었다. 이 소송에서 마이크로소프트가 패배하면서 2004년 19억 5천만 달러라는 거액의 돈을 썬에게 물어줌과 동시에, 인터넷 익스플로러에 내장된 Microsoft Java Virtual Machine이 빠졌고, 이때부터 https://www.java.com/에서 Java Runtime Environment를 다운받아 따로 설치를 해야 Java Applet을 실행할 수 있었다.

그리고 이때부터 Java Applet은 리치 인터넷 애플리케이션 시장에서 빠르게 퇴출되기 시작했다. 이미 인터넷 익스플로러에는 ActiveX가 있었으니 Java Applet에 목맬 필요가 없었고, 당시로서는 매우 강력한 멀티미디어 기능을 가진 어도비 플래시라는 경쟁자가 시장을 장악하기 시작한 상태였다. 뒤이어 파이어폭스, 크롬 등이 나오면서 크로스 브라우징이 부각될 때도 주목받았던 건 Java Applet이 아닌 어도비 플래시였다.

4. 문제점

ActiveX보다는 이미지가 좋은 편이지만, Java Applet 역시 보안 취약점이 만만찮게 많았다. 일반적인 ActiveX와는 달리 운영 체제와 통합된게 아니라 Java Virtual Machine에서 돌아가므로 조금 나을 수도 있지만, 초기에는 별 제한 없이 로컬 파일에 접근할 수 있었으므로 보안이 뚫린 적도 꽤 많았다.

지속적으로 보안 패치를 했지만 꾸준히 뚫리고, 막는 창과 방패의 전쟁이 지속됐다.

어도비 플래시와는 다르게 디지털 서명이 되어 있지 않은 프로그램은 보안 경고가 뜨면서 차단된다. 실행하려면 Java 제어판에서 직접 예외 처리를 해 주어야 한다.

Java Virtual Machine을 통해서 실행되기 때문에 네이티브에 비해 실행 속도가 비교적 느리다.

5. 지원 종료

크롬은 2015년 9월에 출시한 버전 45부터 NPAPI 지원을 중단해 자바 애플릿을 사용하지 못하게 됐다. 모질라 재단에서도 2015년 10월 파이어폭스에서 NPAPI 플러그인 지원을 중단하겠다는 발표를 했으나, 실제로 중단한 것은 2017년 3월에 출시한 버전 52부터였다.

오라클에서는 2016년 1월 Java 9부터 애플릿을 위한 자바 플러그인 지원을 중단하겠다고 발표했다. 따라서 자바 애플릿은 Java 9 이후 역사 속으로 사라질 예정이며, 이후 자바 애플릿이 했던 역할은 유사한 기술인 Java Web Start가 대신하게 된다.

사파리도 2018년에 출시한 버전 12부터 NPAPI 지원을 중단하면서 자바 애플릿을 사용할 수 없게 됐다. ActiveX나 NPAPI를 지원하지 않는 브라우저에서는 자바 애플릿을 사용할 수 없다.

결국 오라클이 2021년 9월 14일에 출시한 Java 17에서 Applet API를 완전히 제거했다.

6. 기타

과거 모장 사이트에서 제공했던 마인크래프트 데모 버전이 자바 애플릿으로 만들어졌다. 그래서 최소한 베타버전이 현역이었을 당시까지도 '클래식'이라 불리며 마인크래프트 홈페이지 내에서 플레이 가능했었다.

6.1. Java Applet 실행

일부 웹브라우저에서 자바 애플릿을 실행하는 꼼수가 존재한다.

크롬을 비롯한 크로뮴 계열은 전통적으로 IE TAB 확장을 사용하여, 익스플로러를 불러와서 자바 애플릿을 실행하였다. 일단 JRE 또는 JDK가 설치되어 있어야 한다.

최근에는 크로뮴 계열에서 CheerpJ Applet Runner 확장을 설치하여 자바 애플릿과 자바 프로그램을 웹에서 실행할 수 있다. 테스트용으로 쓰기에는 좋으며, JRE 등을 설치하지 않아도 자바를 에뮬레이션 해준다.


[1] HTML5에서는 폐지되었으며 대신 embed 태그를 쓴다.