Термин · Глоссарий B2B-ПО

Java-апплет (Java Applet)

Java-апплет – небольшая программа на языке Java, встраиваемая в веб-страницу и выполняемая в браузере через Java-плагин (Java Runtime Environment). Технология устарела: все основные браузеры удалили поддержку плагинов Java к 2017–2018 годам. Заменена технологиями HTML5, WebAssembly и JavaScript.

Буква «J» В категориях: 3 Платформ: 6+

Введение

Java-апплет – это программный компонент, написанный на языке Java, который встраивался в HTML-страницу и выполнялся непосредственно в браузере с помощью плагина Java Runtime Environment (JRE). Апплеты были разработаны Sun Microsystems в 1995 году и стали одной из первых технологий для создания интерактивных веб-приложений. Они позволяли добавлять на страницы анимацию, игры, финансовые калькуляторы и другие интерактивные элементы, недостижимые с помощью статического HTML.

Сегодня Java-апплеты являются устаревшей технологией. Начиная с 2015 года основные браузеры (Chrome, Firefox, Edge) последовательно удалили поддержку Java-плагина. Oracle официально объявила об устаревании апплетов в Java 9 (2017) и полностью удалила их в Java 11 (2018).

История и контекст

Java и апплеты были представлены Sun Microsystems на конференции SunWorld в мае 1995 года. Браузер Netscape 2.0 стал первым браузером с поддержкой Java. Апплеты быстро завоевали популярность для создания интерактивных карт, игр, финансовых инструментов и приложений для доступа к банковским системам. В пике своей популярности в конце 1990-х – начале 2000-х годов апплеты применялись в интернет-банкинге многих крупных банков, включая российские. Постепенно уязвимости Java-плагина, медленная загрузка и конкуренция со стороны Flash, а затем HTML5 и JavaScript привели к упадку технологии.

Как это работает

Апплет наследовал класс java.applet.Applet и реализовывал методы жизненного цикла:

  • init() – инициализация апплета при загрузке страницы.
  • start() – запуск при активации (каждый раз при показе страницы).
  • stop() – остановка при уходе со страницы.
  • destroy() – освобождение ресурсов при закрытии страницы.
  • paint() – отрисовка графического интерфейса апплета.

Апплет встраивался в HTML тегом <applet> (устаревший) или <object>. Браузер загружал .class-файлы с сервера, запускал их в изолированной песочнице JVM с ограниченным доступом к системным ресурсам.

Где применялось

  • Интернет-банкинг – аутентификация через криптографические токены, работа с электронной подписью.
  • Образовательные ресурсы – интерактивные симуляции физических процессов, математические визуализации.
  • Онлайн-игры – простые браузерные игры до появления Flash.
  • Финансовые приложения – торговые терминалы, биржевые графики в реальном времени.
  • ГИС-приложения – интерактивные карты в браузере.

Преимущества и ограничения

Исторические преимущества: платформенная независимость («Write Once, Run Anywhere»), доступ к полной Java API, изолированная среда выполнения, возможность создания сложных приложений в браузере.

Причины отказа: критические уязвимости безопасности Java-плагина (ставшего основным вектором атак), медленная загрузка, плохая интеграция с DOM страницы, необходимость установки JRE пользователями.

Связь с другими понятиями

Java-апплеты заменены современными технологиями: HTML5 Canvas/WebGL для графики, WebAssembly для высокопроизводительных вычислений в браузере, JavaScript и его фреймворки (React, Angular, Vue) для интерактивных интерфейсов. Технология связана с языком Java и использовала JVM (Java Virtual Machine) как среду выполнения.

Понятия из глоссария Цифрового маркетплейса, которые часто встречаются вместе с термином «Java-апплет».

Платформы класса «Java-апплет»

Решения из каталога Цифрового маркетплейса, относящиеся к этому классу ПО. Карточки ведут на полные карточки платформ с тарифами, обзорами и кейсами внедрения.

Онколинк

Онколинк

Разработка ПО
Платформа для управления онкологическими пациентами и координации медицинского обслуживания. Входит в Единый р...
Цена по запросу
Подробнее →
MO

Moon

Разработка ПО
Moon - platforma avtomatizirovannogo testirovaniya veb-prilozheniy v nastol'nykh i mobil'nykh brauzerakh po pr...
Цена по запросу
★ 4.2
Подробнее →
Модуль обмена C3D Converter

Модуль обмена C3D Converter

Разработка ПО
Модуль обмена C3D Converter отвечает за чтение и запись 3D-моделей в файлах нейтральных форматов и в собственн...
Цена по запросу
Подробнее →
JaCarta АРМ УЦ

JaCarta АРМ УЦ

Разработка ПО
ПО JaCarta АРМ УЦ - приложение, позволяющее генерировать ключевые пары с использованием встроенных криптографи...
Цена по запросу
★ 4.7
Подробнее →
АВ

Автограмма

Разработка ПО
Автограмма — визуальная среда разработки встраиваемых систем управления (No-Code/IDE) для промышленной автомат...
Цена по запросу
Подробнее →

Категории каталога

Разделы каталога Цифрового маркетплейса, в которые входят решения, использующие «Java-апплет».

Где применяется

Отрасли, в которых «Java-апплет» используется на практике. Откройте отраслевой раздел Цифрового маркетплейса, чтобы увидеть подходящие решения, кейсы и новости.

Частые вопросы про Java-апплет

Почему браузеры отказались от Java-апплетов?

Java-плагин стал одним из главных векторов атак: через него массово эксплуатировались уязвимости. Кроме того, HTML5 обеспечил те же возможности без плагинов.

Можно ли запустить Java-апплет сегодня?

В современных браузерах нет. Технически возможно через устаревшие браузеры (IE 11 с плагином) или специальные эмуляторы, но это небезопасно и практически не применяется.

Чем заменили апплеты в интернет-банкинге?

Работа с электронной подписью перешла на криптографические расширения браузеров (КриптоПро ЭЦП Browser plugin, JaCarta), веб-криптографию (Web Crypto API) и нативные приложения.

Что такое JVM и как она связана с апплетами?

JVM (Java Virtual Machine) – виртуальная машина, исполняющая байт-код Java. Java-плагин браузера встраивал JVM для запуска апплетов внутри браузера.

Когда Oracle официально убрала апплеты?

Апплеты объявлены устаревшими в Java 9 (2017) и полностью удалены в Java 11 (2018). Поддержка прекратилась практически полностью.

Что такое WebAssembly как альтернатива апплетам?

WebAssembly (Wasm) – бинарный формат для выполнения кода на низкоуровневых языках (C++, Rust) прямо в браузере без плагинов, с высокой производительностью и безопасностью.