맨위로가기

애플릿

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

애플릿은 1990년 PC 매거진에서 처음 사용된 용어로, 사용자가 다운로드하여 실행하는 작은 인터프리터 프로그램의 개념을 의미한다. 웹 애플리케이션에 대화형 기능을 제공하며, 마우스 입력, 버튼, 체크 상자 등의 컨트롤을 통해 사용자와 상호작용한다. 웹 애플릿은 퀵타임 영화, 플래시 영화, 윈도우 미디어 플레이어, 3D 모델링 디스플레이, 브라우저 게임 등 다양한 형태로 활용된다. 자바 애플릿은 웹 브라우저에서 실행되는 자바 프로그램으로, HTML에서 제공할 수 없는 기능을 제공하며, 보안 문제에 대한 다양한 접근 방식이 존재한다.

더 읽어볼만한 페이지

  • 컴포넌트 기반 소프트웨어 공학 - 컴포넌트 오브젝트 모델
    컴포넌트 오브젝트 모델(COM)은 마이크로소프트에서 개발한 소프트웨어 컴포넌트 기술로, 서로 다른 애플리케이션이 객체를 통해 통신하고 기능을 공유할 수 있도록 하는 이진 인터페이스 표준을 제공하며, 다양한 프로그래밍 언어로 작성된 객체들의 상호 운용을 지원한다.
  • 컴포넌트 기반 소프트웨어 공학 - 공통 객체 요구 매개자 구조
    공통 객체 요구 매개자 구조(CORBA)는 객체 관리 그룹(OMG)에서 분산 컴퓨팅 환경에서 객체 지향 기술을 통합하기 위해 제정한 표준 아키텍처로서, 객체 요청 브로커(ORB)를 통해 객체 간 통신을 제공하고 다양한 서비스를 지원한다.
  • 프로그래밍 패러다임 - 지식 표현
    지식 표현은 컴퓨터가 인간의 지식을 이해하고 활용하도록 정보를 구조화하는 기술이며, 표현력과 추론 효율성의 균형, 불확실성 처리 등을 핵심 과제로 다양한 기법과 의미 웹 기술을 활용한다.
  • 프로그래밍 패러다임 - 의도적 프로그래밍
    의도적 프로그래밍은 프로그래머의 의도를 명확히 포착하고 활용하여 소프트웨어 개발 생산성을 향상시키기 위한 프로그래밍 패러다임으로, 트리 기반 저장소를 사용해 코드 의미 구조를 보존하고, WYSIWYG 환경에서 도메인 전문가와 협업하며, 코드 상세 수준 조절 및 자동 문서화를 통해 가독성과 유지보수성을 높이는 데 중점을 둔다.
애플릿

2. 역사

PC 매거진에서 1990년에 ''애플릿''(applet)이라는 단어를 처음 사용하였다.[2] 그러나 애플릿, 더 넓게는 사용자가 다운로드하여 실행하는 작은 인터프리터 프로그램의 개념은 제프 룰리프슨이 1969년에 작성한 RFC 5로 거슬러 올라간다. 이 문서는 ARPANET을 통해 원격으로 사용할 수 있도록 설계된 온라인 시스템의 디코드-인코드 언어(Decode-Encode Language)를 설명하며, 상호 작용을 향상시키기 위해 작은 프로그램을 다운로드하는 방식을 포함했다.[3] RFC 5는 RFC 2555에서 자바의 다운로드 가능한 프로그램의 선구자로 특별히 언급되었다.[4]

3. 다른 소프트웨어의 확장으로서의 애플릿

애플릿은 컴퓨터 프로그램과 달리 독립적으로 실행될 수 없고, 그래픽을 보여주고 사용자와 통신하지만 보안 권한은 제한적이다. 애플릿은 플러그인을 통해 프로그램이 제공하는 컨테이너 안에서 실행되어야 한다.

애플릿은 호스트 프로그램, 플러그인, 또는 애플릿 프로그래밍 모델을 지원하는 모바일 기기 등 다양한 응용 프로그램의 컨테이너를 통해 실행된다.

X Window System용 데스크톱 환경 GNOME에서는 패널에서 실행되는 작은 프로그램을, 마이크로소프트 윈도우 제어판의 개별 아이콘은 제어판 애플릿이라고 부른다.

3. 1. 웹 기반 애플릿

웹 애플릿은 과거 HTML만으로는 제공할 수 없었던 대화형 기능을 웹 애플리케이션에 제공하는 데 사용되었다. 웹 애플릿은 마우스 입력을 캡처할 수 있으며, 버튼이나 체크 상자와 같은 컨트롤도 있었다. 사용자의 작업에 대한 응답으로 애플릿은 제공된 그래픽 콘텐츠를 변경할 수 있었다. 이로 인해 애플릿은 시연, 시각화, 교육에 적합했다. 물리학에서 심장 생리학에 이르기까지 다양한 과목을 연구하기 위한 온라인 애플릿 컬렉션이 있었다. 애플릿은 또한 플레이어가 실시간으로 라이브 상대와 경쟁할 수 있는 온라인 게임 컬렉션을 만드는 데에도 사용되었다.

애플릿은 텍스트 영역만으로 구성될 수도 있으며, 예를 들어 일부 원격 시스템에 대한 크로스 플랫폼 명령줄 인터페이스를 제공할 수 있었다. 필요한 경우 애플릿은 전용 영역을 벗어나 별도의 으로 실행될 수 있었다. 그러나 애플릿은 애플릿 전용 영역 외부의 웹 페이지 콘텐츠를 거의 제어할 수 없었기 때문에 사이트의 외관을 일반적으로 개선하는 데는 덜 유용했다. 뉴스 티커 또는 WYSIWYG 편집기와 같은 애플릿도 알려져 있었다. 애플릿은 또한 브라우저에서 기본적으로 지원하지 않는 형식으로 미디어를 재생할 수 있었다.

HTML 페이지는 애플릿에 전달되는 매개변수를 포함할 수 있었다. 따라서 동일한 애플릿이 전달된 매개변수에 따라 다르게 나타날 수 있었다.

웹 기반 애플릿의 예는 다음과 같다:

  • 퀵타임 영화
  • 플래시 영화
  • Windows Media Player 애플릿, Internet Explorer (및 플러그인을 지원하는 다른 브라우저)에서 포함된 비디오 파일을 표시하는 데 사용됨
  • 3D 모델링 디스플레이 애플릿, 모델을 회전하고 확대/축소하는 데 사용됨
  • 애플릿 기반의 브라우저 게임, 일부는 설치가 필요한 완전한 기능을 갖춘 애플리케이션으로 개발됨

3. 2. 애플릿과 서브루틴

애플릿은 서블릿과 달리 시스템의 "클라이언트" 플랫폼 환경에서만 실행된다. 따라서 애플릿은 해당 컨테이너(브라우저)의 기본 기능을 넘어선 기능이나 성능을 제공한다. 컨테이너는 애플릿의 기능을 제한한다. 애플릿은 이를 호출하는 스크립팅 또는 HTML 언어와 다른 언어로 작성된다. 애플릿은 컴파일된 언어로 작성되는 반면, 컨테이너의 스크립팅 언어는 인터프리터 언어이므로 애플릿의 성능이나 기능이 더 뛰어나다. 서브루틴과 달리 완전한 웹 구성 요소를 애플릿으로 구현할 수 있다.

4. 자바 애플릿

Java 애플릿은 HTML에서 실행되어 웹 브라우저에서 실행되는 Java 프로그램이다. 서버에서 코드를 가져와 웹 브라우저에서 실행한다. HTML에서 제공할 수 없는 대화형 기능을 웹 애플리케이션에 제공할 수 있다. Java의 바이트코드는 플랫폼 독립적이므로 Java 애플릿은 Windows, 유닉스, macOS, 리눅스를 포함한 여러 플랫폼에서 실행되는 브라우저에서 실행될 수 있다. Java 기술이 활성화된 웹 브라우저가 애플릿을 포함하는 페이지를 처리하면 애플릿의 코드가 클라이언트 시스템으로 전송되어 브라우저의 자바 가상 머신에 의해 실행된다.[5] HTML 페이지는 applet 태그(사용 중단됨) 또는 대체 태그인 object 태그를 통해 애플릿을 참조한다.[6]

5. 보안

최근 모바일임베디드 시스템을 포함한 응용 프로그램 코딩의 발전으로 인해 애플릿 보안에 대한 인식이 높아지고 있다. 애플릿을 지원하는 웹 브라우저에서는 악성 애플릿으로부터 보호하기 위해 여러 가지 방법을 사용할 수 있다. 악성 애플릿은 서비스 거부, 개인 정보 침해, 불쾌감 등 여러 방식으로 컴퓨터 시스템을 감염시킬 수 있다.[8] 일반적인 해결책은 웹 브라우저가 애플릿의 활동을 감시하여 악성 애플릿을 수동 또는 자동으로 중지하는 것이다.[8]

5. 1. 오픈 플랫폼 애플릿

오픈 플랫폼 환경의 애플릿은 서로 다른 애플리케이션 간의 안전한 상호 작용을 제공해야 한다. 구성적 접근 방식을 사용하여 오픈 플랫폼 애플릿의 보안을 제공할 수 있다.[7] 안전한 애플릿 상호 작용을 위해 고급 구성적 검증 방법이 개발되었다.[7]

5. 2. 자바 애플릿

Java 애플릿은 HTML에서 실행되어 웹 브라우저에서 실행되는 Java 프로그램이다. 서버에서 코드를 가져와 웹 브라우저에서 실행한다. HTML에서 제공할 수 없는 대화형 기능을 웹 애플리케이션에 제공할 수 있다. Java의 바이트코드는 플랫폼 독립적이므로 Java 애플릿은 Windows, 유닉스, macOS, 리눅스를 포함한 여러 플랫폼에서 실행되는 브라우저에서 실행될 수 있다. Java 기술이 활성화된 웹 브라우저가 애플릿을 포함하는 페이지를 처리하면 애플릿의 코드가 클라이언트 시스템으로 전송되어 브라우저의 자바 가상 머신에 의해 실행된다.[5] HTML 페이지는 사용 중단된 `` 태그 또는 대체 태그인 `` 태그를 통해 애플릿을 참조한다.[6]

Java 애플릿은 서명되지 않은 Java 애플릿 보안, 서명된 Java 애플릿 보안, 자체 서명된 Java 애플릿 보안과 같은 다양한 보안 모델을 포함하고 있다.

5. 3. 웹 기반 애플릿

웹 애플릿은 역사적으로 HTML만으로는 제공할 수 없었던 웹 애플리케이션에 대화형 기능을 제공하는 데 사용되었다. 웹 애플릿은 마우스 입력을 캡처할 수 있으며, 버튼이나 체크 상자와 같은 컨트롤도 있었다. 사용자의 작업에 대한 응답으로 애플릿은 제공된 그래픽 콘텐츠를 변경할 수 있었다. 이로 인해 애플릿은 시연, 시각화 및 교육에 적합했다. 물리학에서 심장 생리학에 이르기까지 다양한 과목을 연구하기 위한 온라인 애플릿 컬렉션이 있었다. 애플릿은 또한 플레이어가 실시간으로 라이브 상대와 경쟁할 수 있는 온라인 게임 컬렉션을 만드는 데에도 사용되었다.

애플릿은 텍스트 영역만으로 구성될 수도 있으며, 예를 들어 일부 원격 시스템에 대한 크로스 플랫폼 명령줄 인터페이스를 제공할 수 있었다. 필요한 경우 애플릿은 전용 영역을 벗어나 별도의 으로 실행될 수 있었다. 그러나 애플릿은 애플릿 전용 영역 외부의 웹 페이지 콘텐츠를 거의 제어할 수 없었기 때문에 사이트의 외관을 일반적으로 개선하는 데는 덜 유용했다 (뉴스 티커 또는 WYSIWYG 편집기와 같은 애플릿도 알려져 있음). 애플릿은 또한 브라우저에서 기본적으로 지원하지 않는 형식으로 미디어를 재생할 수 있었다.

HTML 페이지는 애플릿에 전달되는 매개변수를 포함할 수 있었다. 따라서 동일한 애플릿이 전달된 매개변수에 따라 다르게 나타날 수 있었다.

웹 기반 애플릿의 예는 다음과 같다.

  • 퀵타임 영화
  • 플래시 영화
  • Windows Media Player 애플릿, Internet Explorer (및 플러그인을 지원하는 다른 브라우저)에서 포함된 비디오 파일을 표시하는 데 사용됨
  • 3D 모델링 디스플레이 애플릿, 모델을 회전하고 확대/축소하는 데 사용됨
  • 애플릿 기반의 브라우저 게임, 일부는 설치가 필요한 완전한 기능을 갖춘 애플리케이션으로 개발됨


애플릿을 지원하는 웹 브라우저에서는 악성 애플릿으로부터 애플릿의 보안을 제공하기 위해 여러 가지 방법을 사용할 수 있다. 악성 애플릿은 서비스 거부, 개인 정보 침해, 불쾌감 등 여러 방식으로 컴퓨터 시스템을 감염시킬 수 있다.[8] 악성 애플릿에 대한 일반적인 해결책은 웹 브라우저가 애플릿의 활동을 감시하도록 하는 것이다. 이렇게 하면 악성 애플릿을 수동 또는 자동으로 중지할 수 있는 웹 브라우저가 만들어진다.[8]

6. 예제

자바 애플릿플래시 동영상을 예로 들 수 있다. 또 다른 예로는 인터넷 익스플로러 및 다른 플러그인을 지원하는 브라우저에 소속된 윈도 미디어 플레이어가 있다. 어떠한 플러그인들은 웹 브라우저에서 3차원 모델들을 보여 주기도 하는데, 이러한 모델들은 대개 자유롭게 변형할 수 있다. 많은 브라우저 게임들은 애플릿 기반이므로 대부분 완전한 기능을 위해 따로 무언가를 설치하지 않아도 된다.

영어권에서는 Macromedia Flash와 같이 웹 페이지에 포함되는 것도 애플릿으로 간주하는 경우가 있다.

X Window System용 데스크톱 환경 GNOME에서는 패널에서 실행되는 작은 프로그램을 애플릿이라고 부른다.

마이크로소프트 윈도우에서 시스템 관련 각종 설정을 하는 제어판의 개별 아이콘을 제어판 애플릿이라고 부른다.

참조

[1] 웹사이트 AskOxford: applet https://web.archive.[...] 2009-07-21
[2] 웹사이트 Oxford English Dictionary http://www.oed.com 2011-08-23
[3] 간행물 DEL Network Working Group 1969-06-02
[4] 간행물 30 Years of RFCs Network Working Group 1999-04-07
[5] 웹사이트 Applets https://www.oracle.c[...] 2023-10-05
[6] 웹사이트 HTML applet tag https://www.w3school[...] 2009-07-21
[7] 서적 Fundamental Approaches to Software Engineering
[8] 서적 Proceedings 14th Annual Computer Security Applications Conference (Cat. No.98EX217)
[9] 웹사이트 AskOxford: applet http://www.askoxford[...] 2009-07-21
[10] 웹사이트 applet: Definition from Answers.com http://www.answers.c[...] 2009-07-21



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com