Апплет — это тип программного обеспечения, предназначенный для выполнения в контексте более крупной программы, часто веб-браузера, предоставляющий богатые интерактивные функции, которые сама основная программа не предлагает. Написанные на языке программирования Java, апплеты в основном используются в сетевых вычислениях. Они могут реагировать на вводимые пользователем данные, например на щелчки мыши или нажатия клавиш, а также могут взаимодействовать с другими апплетами на той же веб-странице.
Историческая справка об апплете
История апплетов восходит к середине 1990-х годов, когда компания Sun Microsystems впервые разработала язык программирования Java. Термин «апплет» впервые был использован в 1995 году, когда Java была представлена миру как новый язык программирования, предназначенный для Интернета. Идея заключалась в том, чтобы предоставить небольшое приложение (отсюда и термин «апплет»), которое можно было бы встроить в HTML-страницу и запустить в веб-браузере.
Расширение апплетов
Апплеты, как уже упоминалось выше, представляют собой небольшие программы Java, которые можно интегрировать в HTML-страницу, запускать на стороне клиента и выполнять с помощью виртуальной машины Java (JVM). Апплет может работать в любом веб-браузере, поддерживающем JVM. Они используются, чтобы сделать веб-страницы более динамичными и интересными. Например, они могут отображать интерактивную графику или выполнять вычисления на основе ввода данных пользователем.
Жизненный цикл апплета контролируется браузером и JVM. Жизненный цикл включает четыре стадии: инициализацию, запуск, остановку и уничтожение. Аплет начинает свою жизнь, когда он загружается и создается JVM. Затем он инициализируется, запускается и отображается на веб-странице. Когда пользователь уходит со страницы, апплет останавливается, а затем уничтожается JVM.
Внутренняя работа апплета
Апплет состоит из байт-кода Java, который является независимым от платформы представлением программы, и запускается внутри JVM, установленной в браузере. Когда загружается веб-страница, содержащая апплет, подключаемый модуль Java браузера загружает байт-код апплета, запускает JVM, а затем загружает и выполняет апплет внутри JVM.
Апплет взаимодействует с веб-страницей через объектную модель документа (DOM), а также может взаимодействовать с сервером, с которого он был загружен, через HTTP или другие интернет-протоколы. Однако по соображениям безопасности он обычно помещается в изолированную программную среду и ему ограничен доступ к локальным файлам или определенным системным ресурсам.
Ключевые особенности апплета
- Независимость от платформы: Апплеты написаны на языке Java, который не зависит от платформы. Они могут работать на любом устройстве, браузер которого поддерживает JVM.
- Сетевое подключение: Апплеты могут обмениваться данными по сети, что позволяет им быть частью сетевых приложений.
- Безопасность в изолированной среде: Они работают в изолированной программной среде безопасности, чтобы предотвратить несанкционированный доступ к системным ресурсам, обеспечивая тем самым безопасность пользователей.
- Богатый пользовательский интерфейс: Апплеты могут создавать сложные графические пользовательские интерфейсы (GUI) и плавную анимацию, что делает их пригодными для создания интерактивных приложений.
Типы апплетов
В основном существует два типа апплетов:
-
Локальные апплеты: Этим апплетам не требуется подключение к Интернету после загрузки. Они запускаются в браузере пользователя и выполняют функции без необходимости подключения к серверу.
-
Удаленные апплеты: Эти апплеты требуют постоянного подключения к Интернету. Они взаимодействуют с сервером для выполнения своих функций.
Использование апплета и связанные с ним проблемы
Апплеты обычно используются для предоставления интерактивных функций на веб-страницах, таких как игры, калькуляторы, анимация и интерактивные карты. Их также можно использовать для более сложных задач, таких как онлайн-голосование, электронная коммерция и приложения для удаленного рабочего стола.
Однако с годами использование апплетов сократилось из-за нескольких проблем:
- Проблемы с безопасностью: Несмотря на то, что апплеты работают в «песочнице», в прошлом они использовались во вредоносных целях, что заставляло многих пользователей и организации относиться к ним с осторожностью.
- Производительность: Поскольку апплеты выполняются на стороне клиента, они могут загружаться медленно и потреблять значительные системные ресурсы.
- Зависимость от Java: Пользователи должны иметь установленную и правильно настроенную среду выполнения Java (JRE) в своих браузерах, что может оказаться сложной задачей для нетехнических пользователей.
Сравнение апплета с похожими терминами
Вот сравнение апплетов со схожими концепциями:
Срок | Определение | Исполнение |
---|---|---|
Апплет | Небольшое приложение, встроенное в HTML-страницу, запускаемое JVM в веб-браузере. | Сторона клиента |
Сервлет | Программа Java, работающая на сервере и обычно используемая для создания динамического веб-контента. | Серверная часть |
JavaScript | Язык сценариев для веб-страниц, запускаемый движком JavaScript браузера. | Сторона клиента |
Будущие перспективы и технологии, связанные с Applet
Будущее апплетов неопределенно из-за развития современных веб-технологий, таких как HTML5, CSS3 и JavaScript, которые обеспечивают аналогичную функциональность, не требуя от пользователей установки JVM или решения проблем безопасности Java.
Однако есть области, в которых апплеты имеют преимущество, например, сложные приложения, требующие всей мощности Java. Более того, технология Java Web Start позволяет запускать полнофункциональные приложения Java непосредственно из веб-браузера, что может привести к возрождению функциональности, подобной апплету.
Апплеты и прокси-серверы
Хотя апплеты и прокси-серверы представляют собой разные технологии, в определенных ситуациях они могут взаимодействовать. Прокси-сервер может служить посредником между апплетом и сервером, с которым он взаимодействует, обеспечивая такие преимущества, как кэширование, фильтрация и повышенная безопасность. Однако важно отметить, что апплет должен быть разработан для поддержки прокси-серверов, а браузер пользователя должен быть настроен на использование прокси-сервера.
Ссылки по теме
Для получения дополнительной информации об апплетах посетите следующие ресурсы: