Апплеты и сервлеты | Computerworld Россия
Апплеты — это программы на Java, которые, как правило, предназначены для того, чтобы загружаться посредством браузера, а затем работать в окне браузера.
Определение
Апплеты — это программы на Java, которые, как правило, предназначены для того, чтобы загружаться посредством браузера, а затем работать в окне браузера. Они могут использоваться для создания богатых графикой и интерактивными возможностями пользовательских интерфейсов, которые не способны выразить средствами обычного языка разметки HTML. Сервлеты — программы на Java, которые работают на Web-серверах Java или серверах приложений Java. Как и программы CGI, сервлеты могут доставлять Web-службы непосредственно в браузер или действовать как промежуточное ПО, которое связывает браузер с серверными службами.
Когда появился язык Java, настоящими звездами этого шоу стали апплеты. И уже тогда было ясно, что HTML-браузер представляет собой превосходную универсальную прикладную платформу, хотя и не отличается богатством выразительных возможностей.
Но до сих пор эти надежды не сбылись. Проведенный недавно опрос, касающийся использования апплетов Java, показал, что они применяются менее чем на 2% из 500 самых популярных Web-сайтов. Почему? Некоторые разработчики неверно оценили накладные расходы при интерпретации байт-кода в виртуальной машине Java. У других множество нареканий вызывает защита, основанная на принципе «песочницы» (sandbox), который не позволяет Java использовать в полной мере локальные и удаленные службы. Третьи отмечают различия между виртуальными машинами основных браузеров, имеющихся на рынке. Так или иначе по прошествии пяти лет апплеты не оправдали ожиданий, и Web-приложения на базе HTML не были вытеснены Web-приложениями с равным уровнем переносимости и мобильности, но функционально более мощным графическим пользовательским интерфейсом.
Тем не менее, хотя апплеты не заслуживают той шумихи, которая была поднята при их появлении, они делают немало полезного. Вот несколько ярких примеров.
- AnywareOffice компании VistaSource (www.anywareoffice.com). VistaSource использует апплет Java для реализации Applixware, своего популярного офисного пакета, в браузерах, ориентированных на Java. Когда провайдер услуг доступа к приложениям использует AnywareOffice, приложения (такие, как текстовый процессор) работают на сервере, но отображаются в апплете.
- QuestAgent компании JObjects (www.jobjects.com). Этот апплет представляет собой кроссплатформенный механизм поиска, часто включаемый в состав компакт-диска с публикациями на базе HTML. Браузер может отображать информационное наполнение таких публикаций, но не может выполнять поиск в своем индексе. QuestAgent предлагает мобильный поиск и позволяет отказаться от необходимости создавать и отображать оригинальный механизм поиска.
- MindTerm компании Mindbright Technologies (www.mindbright.com). Предположим, что пользователь оказался вне офиса и при нем нет мобильного компьютера, а ему необходимо передать файл на домашний сервер. MindTerm — реализация защищенной версии интерпретатора команд Secure Shell (SSH) на базе Java позволяет преобразовать любой ориентированный на Java браузер в клиент SSH, который можно применять для шифрования сеансов передачи файла.
Сервлеты — восходящая звезда
Хотя Java на стороне клиента не оправдал возложенных на него надежд, использование Java на сервере, похоже, имеет неплохие перспективы. Сейчас серверы Java-приложений предлагают огромное и продолжающее расти число Web-служб. И их lingua franca — это API-интерфейс для сервлетов, который определяет, как сервлет Java взаимодействует с хостом на базе Java. Подобное решение применяется очень широко, и хотя Enterprise JavaBeans постепенно превращается в стандарт, намного более простой API сервлета создает общую основу для взаимодействия серверных компонентов Java.
Поскольку сервлеты написаны на Java, они предлагают превосходную платформу для сетевых служб. Программисты Java не управляют памятью напрямую, поэтому сервлеты не порождают ошибки переполнения буфера, которые приводят к изъянам в защите ПО, написанного на Си или C++. Простые механизмы Java для обработки исключений и многониточных программ способствуют разработке надежных и оперативно реагирующих сетевых служб.
Сервлеты также имеют преимущества с архитектурной точки зрения, которые позволяют им в полной мере использовать все присущие Java достоинства. Если апплет, посланный по сети, окажется в несовместимой с ним виртуальной машине Java, то он, скорее всего, корректно работать не будет. Сервлет развертывается в более управляемой среде. Так как параметры JVM известны, проблем совместимости не возникает. Более того, среда, которая окружает данную виртуальную машину, может увеличивать производительность сервлета. Некоторые серверы Java-приложений могут компилировать сервлеты в «родной» для себя код и тем самым значительно увеличивать скорость выполнения. Другие серверы запускают параллельно несколько JVM, иногда в различных процессах хостовой ОС. Эти стратегии увеличивают масштабируемость и отказоустойчивость службы.
Апплеты Java еще могут оправдать надежды. Спрос на более богатый возможностями графический пользовательский интерфейс Web растет, и ни одна из технологий пока не готова предложить кроссплатформенные возможности, сравнимые с возможностями Java. В то же время, однако, сервлеты Java, безусловно, имеют успех.
Апплеты
Можно видеть, что вот эти два приложения, которые мы только что рассматривали, это программы, написанные на языке Java и самостоятельно выполняющиеся в своей среде. Но с другой стороны, особенностью языка Java является то, что с его помощью можно выполнять апплеты под управлением веббраузеров. Рассмотрим какой-либо пример из этой сферы. Рассмотрим ту самую молекулу, которую мы уже видели в наших предыдущих уроках. Для этого опять щелкнем на кнопке Открыть. Перейдем в Мои документы, далее вот эта папка MoleculeViewer. И, как мы видим, здесь у нас находится два файла, которые представляют Java программы. Это, XYZApp и Matrix3D.
Загрузим оба файла. Щелкнем сначала на вот этом. Это в принципе стандартный пример из пакета Java и можно видеть, что он достаточно большой и объемный. Наряду с этим файлом, здесь же находится, если мы
щелкнем на кнопку Open, другой файл, в котором у нас находятся все вспомогательные функции для рисования трехмерного изображения, всякого рода преобразования от трехмерного изображения к двухмерному, к ее проекциям. Попробуем теперь скомпилировать этот апплет и запустить его. Развернем меню Tools. Далее Compile Java. Можно увидеть, что компиляция прошла совершенно успешно.
А теперь попробуем посмотреть этот файл, как он выполняется. Для этого подойдем к пункту меню Tools и здесь у нас есть опять-таки две возможности Run Java Application и Run Java Applet. Правда, если мы его запустим, как Run Java Application, то мы получим просто-напросто ошибку, поскольку это программой, как таковой, не является. Это аплет, который встраивается в HTML страницу, для показа в веб-браузере. Поэтому закроем это окно, далее опять Tools и выберем команду Run Java Applet.
Далее нас спрашивают, из какого HTML файла мы хотим посмотреть этот аплет. Здесь у нас есть три возможности. Это examplel, example2 и example3, в каждой из которых используется этот аплет. Ну, возьмем example2, щелкнем на нем, щелкнем теперь на кнопке Fes, и можно видеть этот апплет в этой вебстранице. Причем, надо сказать, что, так как мы запустили нашу программу, выполняется именно только апплет, без показа содержимого нашей вебстраницы, которая вот эту среду показа апплета просто-напросто игнорирует.
Сейчас у нас есть возможность двигать изображение. Оно трехмерное. Вот таким образом все это будет выглядеть. Закроем теперь это окно, щелкнем на этом крестике. Если же мы теперь развернем меню Tools и вновь выберем команду Run Java Applet, опять появляется тот же самый пример, и на этот раз согласимся с показом examplel. Щелкнем на кнопке Fes, и на этот раз мы можем видеть, что наш апплет выглядит несколько по-другому. Поскольку в примере example1 этот же апплет используется с несколько другими параметрами. В результате чего рисунок выглядит по-другому. Но опять-таки свойства у него те же самые. Мы можем его крутить таким образом. Закроем это окно. Щелкнем на крестике.
Попробуем теперь загрузить эту HTML страницу с примером example1 и посмотреть, как же все это выглядит там. Для этого, опять-таки щелкнем на кнопке Открыть. На этот раз тип файлов выберем не файлы Java, а HTML файлы. Редактор TextPad позволяет это сделать, и откроем первый же пример examplel. Щелкнем на кнопке Open и можем видеть текст нашего текстового редактора, со всеми его тегами и параметрами. Здесь же можем видеть вставку нашего апплета. Вот это место. Именно вот здесь мы вставляем наш апплет и выводим его, как изображение на HTML странице. Но и в принципе, те, кто знаком с HTML страницами, может увидеть ее все достаточно стандартные возможности.
Попробуем теперь посмотреть, как же все это выглядит в виде HTML страницы. Для этого щелкнем на кнопке View in Web Browser. Вот запускается программа Internet Explorer, внутри которой мы можем видеть всякие надписи, MoleculeViewer, example, source и т.д. И среди них изображение нашей молекулы, нашего апплета. Вот этот квадрат и является апплетом, который представляет собой Java программу. И в отличие от всех остальных обычных стандартных рисунков на окне, он является трехмерным и может двигаться. Вот, если мы воспользуемся мышью, нажмем на нее, то можно видеть эту молекулу с разных сторон. Закроем это окно. Щелкнем на кнопке Закрыть.
Конечно же, тот же самый HTML файл можно запустить не только из редактора TextPad, но и обычными стандартными средствами Windows. Для этого, например, подведем курсор к панели задач нашего компьютера, запустим Internet Explorer, далее пункт меню File, Open, Browse, далее перейдем в папку MoleculeViewer и откроем какой-либо из примеров. Ну, откроем первый examplel. Щелкнем на нем дважды. Далее ОК.
И вот появляется то же самое окно, которое мы только что видели. С теми же самыми надписями и с тем же самым апплетом. В принципе этого и нужно было ожидать. Этот апплет выполняет все то же самое. Мы можем схватить его мышью и крутить нашу молекулу. Т.е. апплет, это абсолютно стандартная для веб-страниц часть, которая может на нем отображаться в виде встроенного окна и выполнять различного рода функции.
В частности в нашем случае, это отображать вот такую трехмерную молекулу. Закроем теперь программу Internet Explorer, щелкнем на крестике, вернемся в наше стандартное окно редактирования. Ну, надо, конечно же, сказать, что все то же самое, в том числе и просмотр апплетов, можно, конечно же, организовать и из командной строки. Вот мы активизировали стандартную командную строку и теперь выполним следующие действия.
Во-первых, скроем левую панель, для того чтобы у нас здесь отображалось все то, что мы будем выполнять. Для этого щелкнем на клавишах Ctrl+Fl, и теперь напишем такие строчки. Во-первых, Javac, для того чтобы мы могли скомпилировать. Именно, Javac программа компиляции. Далее XYZApp.Java. Хотя, в принципе процесс компиляции можно и пропустить, поскольку все это здесь уже сделано. А соответствующий файл с расширением Class, уже можно видеть на экране. Перекомпилируем еще раз, щелкнем сейчас на клавише Enter.
Как мы видим, компиляция прошла успешно, никаких, так сказать, предупредительных сообщений не появилось, и теперь выполним эту программу. Т.е. покажем наш апплет на экране. Конечно, мы можем просто-напросто запустить какой-либо из этих HTML файлов, щелкнув на нем дважды. Но мы можем и посмотреть апплет, который входит в эти примеры. Но для этого в стандартном пакете Java, есть специальный просмотрщик апплетов, Appletviewer. Так и напишем. Appletviewer и далее XYZApp.
Щелкнем на клавише Enter. Конечно же, еще раз надо напомнить, что большие и маленькие буквы надо набирать точно так же, как это набрано в соответствующем файле. Расширение Class или Java, здесь уже не нужно. Щелкнем на клавише Enter.
Можно видеть, что в результате всего этого, мы все-таки допустили ошибку, поскольку нам нужно было запускать не файл XYZApp, а именно example. HTML, внутри которого находится наш апплет. Что нам в принципе и указали, при помощи вот этого текста нашей ошибки. В случае необходимости мы можем просмотреть этот текст целиком, для этого надо нажать на клавиши Ctrl+F2, чтобы правая панель тоже исчезла. Вот теперь текст нашей ошибки отображается целиком. Опять нажмем на клавиши Ctrl+F2, чтобы появилась наша панель, и напишем команду Appletviewer еще раз.
Теперь, например, укажем файл examplel.HTML. Причем, надо сказать, что программа Appletviewer устроена таким образом, что она реагирует только на апплеты, которые находятся на этом HTML файле, пропуская все остальные строчки изображения, картинки и т.д. Щелкнем сейчас на клавише Enter, и мы можем увидеть наш апплет, запущенный при помощи командной строки. Но в принципе он выглядит, конечно же, точно также. Щелкнем на крестике. Закроем это окно. И закроем командную строку. Для этого щелкнем на клавише F10. Щелкнем на Yes. И мы вернулись в наше стандартное окно редактирования.
Надо отметить еще одно обстоятельство, а именно, как же наш текстовый редактор TextPad запускает Java программы на компиляцию и выполнение. Для этого мы можем зайти в пункт меню Confgure, далее Preferences (опции) и далее у нас здесь есть пункт Tools, в котором сконцентрированы все те три пункта, которые у нас появляются в пункте меню Tools. Первый из них, это Compile Java, который, как мы видим, состоит из команды javac.exe, той же самой стандартной команды, которую мы выполняли с командной строки. И дальше, в качестве параметра, ему передается имя нашего файла и текущая папка. А у пункта Run Java Application, программой является java.exe, а в качестве параметра, опять-таки имя и папка.
А у третьего пункта Run Java Applet, программой является Appletviewer, та же самая программа, которую мы только что запускали. В качестве параметра, опять передаются имя и директория. Щелкнем теперь на кнопке Cancel. Здесь мы ничего менять не будет. Это мы просто-напросто открывали для ознакомления. И мы вновь вернулись в стандартное окно редактирования.
⇐Текстовый редактор textpad | TeachPro WEB-дизайн | Основные структуры языка 6. 7.з.1. простая программа на языке java⇒
Что такое апплет? – Определение TechTarget
К
- Кэти Террелл Ханна
- Маргарет Роуз
Апплет — это небольшая компьютерная программа, выполняющая определенную задачу. Обычно он встроен в другое более крупное приложение или программную платформу и имеет ограниченную функциональность. Это позволяет апплетам работать быстро и надежно, не требуя большого количества системных ресурсов.
апплета также были связаны с языком программирования Java, а также с If This Then That (IFTTT), программным инструментом с низким кодом / без кода для создания небольших программ, состоящих из триггеров (If This) и действий (Then That). .
Сегодня они чаще всего используются для предоставления дополнительных параметров настройки или специальных функций в более крупном приложении или для обеспечения быстрого доступа к часто используемым функциям, таким как апплет калькулятора в программе для работы с электронными таблицами.
часто используются в корпоративном программном обеспечении, где они позволяют пользователям быстро получать доступ к функциям без необходимости загрузки полного приложения или переключения окон. Их также можно использовать для настройки внешнего вида настольных приложений, предоставляя возможность персонализировать внешний вид приложения.
В веб-разработке апплеты позволяют разработчикам добавлять интерактивные элементы и анимацию на веб-сайты, не требуя слишком много дополнительного кода. Примеры использования аплетов охватывают целый ряд платформ и типов программного обеспечения, что делает их невероятно универсальными строительными блоками для любого приложения или веб-сайта.
Что такое апплеты Java?Как упоминалось ранее, в прошлом апплеты часто писались на Java, которые можно было встраивать в веб-страницы HTML для использования в Интернете. В этом контексте их часто называют плагинами.
Это было полезно для веб-разработчиков, которые хотели добавить на веб-страницу функциональные возможности, которые HTML не мог предоставить сам по себе. На заре Интернета они обычно использовались для создания интерактивных кнопок, флажков, форм и других небольших анимаций на веб-сайтах.
Он также предложил способ добавить расширенные возможности в среду браузера, не заставляя пользователей устанавливать приложения локально. Если браузер конечного пользователя не мог запустить Java, он либо пропускал тег
Однако из-за растущей сложности веб-приложений и популярности JavaScript, C++ и других языков сценариев Java-апплеты в конечном итоге устарели. К 2015 году большинство поставщиков браузеров либо удалили, либо объявили о своем намерении отказаться от поддержки подключаемых модулей Java.
Что такое апплеты IFTTT?IFTTT — это платформа с низким кодом/без кода, используемая для создания апплетов (ранее называемых рецептами). Поскольку апплеты ограничены в возможностях, их можно создавать быстро без большого количества кода или знаний в области разработки. Апплеты IFTTT используют триггеры (If This) и действия (Then That), позволяя пользователям устанавливать пользовательские соединения между различными приложениями и цифровыми сервисами.
Для этого IFTTT использует общую логику программирования, позволяющую определенным событиям, инициируемым одним программным обеспечением как услугой (SaaS), вызывать реакцию в другой облачной службе. Это позволяет конечному пользователю, не являющемуся техническим специалистом, автоматизировать повседневные задачи, программируя эти триггеры и действия.
Например, офис-менеджер может создать апплет, чтобы Alexa Amazon Echo выключала свет, когда входная дверь заперта.
Апплеты — будь то апплеты Java, апплеты IFTTT или апплеты на других языках программирования — предлагают разработчикам программного обеспечения всех уровней опыта возможность быстро расширять возможности своих приложений, не требуя сложных навыков программирования.
Они также предоставляют пользователям удобный доступ к необходимым им функциям в более крупном приложении или на веб-сайте. Таким образом, апплеты упрощают сложные задачи, помогая разработчикам оптимизировать свои программные приложения.
См. также: Элементы управления ActiveX, командлет, VBScript, переносимость
Последнее обновление: декабрь 2022 г.
Продолжить чтение об апплете- Функциональное и объектно-ориентированное программирование: основы
- Возникновение «современных приложений»: зачем они вам
- Мобильный сайт и приложение: в чем разница?
- Как установить JDK в Windows и настроить JAVA_HOME
- 10 наиболее распространенных и предотвратимых ошибок HTML5
когнитивное искажение
Когнитивное искажение — это систематический мыслительный процесс, вызванный тенденцией человеческого мозга к упрощению обработки информации через фильтр личного опыта и предпочтений.
Сеть
- факс
Факс — сокращение от «факсимиле» и иногда называемый «телекопированием» — это телефонная передача отсканированных печатных…
- Закрыть сеть
Сеть Clos — это тип неблокируемой многоступенчатой коммутационной сети, используемой сегодня в коммутационных фабриках крупных центров обработки данных.
- коллизия в сети
В полудуплексной сети Ethernet коллизия возникает в результате попытки двух устройств в одной сети Ethernet передать…
Безопасность
- маскировка
Маскировка – это метод, при котором пользователям возвращается версия веб-контента, отличная от той, которую получают сканеры поисковых систем.
- Вредоносное ПО TrickBot
TrickBot — это сложное модульное вредоносное ПО, которое начиналось как банковский троян, а затем эволюционировало, чтобы поддерживать множество различных типов . ..
- Общая система оценки уязвимостей (CVSS)
Общая система оценки уязвимостей (CVSS) — это общедоступная платформа для оценки серьезности уязвимостей безопасности в …
ИТ-директор
- качественные данные
Качественные данные — это информация, которую невозможно подсчитать, измерить или выразить с помощью чисел.
- зеленые ИТ (зеленые информационные технологии)
Green IT (зеленые информационные технологии) — это практика создания и использования экологически устойчивых вычислительных ресурсов.
- Agile-манифест
Манифест Agile — это документ, определяющий четыре ключевые ценности и 12 принципов, которые его авторы считают разработчиками программного обеспечения…
HRSoftware
- опыт кандидата
Опыт кандидата отражает отношение человека к прохождению процесса подачи заявления о приеме на работу в компанию.
- непрерывное управление производительностью
Непрерывное управление эффективностью в контексте управления человеческими ресурсами (HR) — это надзор за работой сотрудника …
- вовлечения сотрудников
Вовлеченность сотрудников — это эмоциональная и профессиональная связь, которую сотрудник испытывает к своей организации, коллегам и работе.
Служба поддержки клиентов
- распознавание голоса (распознавание говорящего)
Распознавание голоса или говорящего — это способность машины или программы принимать и интерпретировать диктовку или понимать и …
- Облачная служба Salesforce
Salesforce Service Cloud — это платформа управления взаимоотношениями с клиентами (CRM), позволяющая клиентам Salesforce предоставлять услуги и …
- БАНТ
BANT — это аббревиатура от «Budget, Authority, Need, Timing».
Работа с апплетами и типы с пояснениями с примерами
- Апплет определяется как микроприложение, предназначенное для выполнения одной функции или набора простых функций в закрытом фрейме и обычно встроенное в веб-страницу в браузере.
- Апплеты обычно пишутся на Java.
- В этой статье описаны его типы, работа и наиболее известные примеры.
Содержание
- Что такое апплет?
- Типы апплетов
- Примеры апплетов
Что такое апплет?
Апплет — это микроприложение, предназначенное для выполнения одной функции или набора простых функций в закрытом фрейме и обычно встроенное в веб-страницу в браузере. Апплеты обычно пишутся на Java.
Простой апплет, работающий в веб-браузере Firefox
Источник: MediumOpens a new window интерпретируемая программа, загружаемая и выполняемая пользователем, восходит к статье Джеффа Рулифсона RFC 5 (1969). В нем описывается язык декодирования-кодирования (DEL), разработанный, чтобы помочь ARPANET загружать крошечные приложения для улучшения взаимодействия с пользователем.
Сегодня эта фраза часто используется для обозначения апплета Java, программы, созданной на языке Java и предназначенной для размещения на веб-странице. Но технически апплеты могут быть написаны на разных языках и могут быть разных типов, как мы обсудим позже.
Апплеты — это классические экземпляры временных и дополнительных приложений, которые не требуют полного внимания пользователя. Эти приложения не являются полнофункциональными и предназначены для быстрого доступа.
Понимание значения апплетов
Апплеты — это крошечные компьютерные программы, выполняющие определенную функцию. Они имеют ограниченную функциональность и обычно встроены в более крупную программу или программную платформу. Это позволяет апплетам работать быстро и последовательно, не используя значительный объем системных ресурсов.
Апплеты также связаны с языком программирования Java и оператором If This Then That (IFTTT). IFTTT — это программное приложение с низким кодом/без кода для создания простых программ, созданных с помощью триггеров (если это) или ответов (тогда это). Также совместимы Jython, JRuby, Pascal, Scala, NetRexx и Eiffel (через SmartEiffel).
Если апплет создан на языке Java, его жизненный цикл будет состоять из следующих этапов:
- Метод инициализации для извлечения апплета : Эта функция предназначена для любой инициализации, которая требуется вашему апплету. Он вызывается после анализа тегов param (или параметров) тега апплета.
- Метод запуска для активации апплета : Этот метод вызывается автоматически, когда браузер запускает метод инициализации. Кроме того, он вызывается, когда пользователь повторно посещает страницу с апплетом после посещения других сайтов.
- Метод остановки для деактивации апплета при сохранении его включенным : Эта функция автоматически вызывается, когда пользователь уходит со страницы, содержащей апплет. Поэтому он может вызываться несколько раз внутри одного и того же апплета.
- Метод уничтожения для полного выключения апплета : Эта функция вызывается только при нормальном закрытии браузера. Поскольку апплеты предназначены для размещения на HTML-страницах, обычно не следует оставлять ресурсы позади, когда пользователь покидает страницу, содержащую апплет.
- Метод paint для обновления апплета : вызывается вскоре после функции start() и всякий раз, когда апплет требует обновления браузера. Функция paint() унаследована от java.awt.
В настоящее время апплеты чаще всего используются для предоставления дополнительных возможностей настройки или уникальных функций внутри более крупного приложения или для обеспечения быстрого доступа к регулярно используемым функциям, таким как апплет расчета в программном обеспечении для работы с электронными таблицами.
Подробнее: Что такое CSS (каскадные таблицы стилей)? Значение, типы и свойства
Как работает апплет?
Поскольку большинство апплетов создаются с использованием Java, вот краткий обзор того, как работают апплеты Java.
Инициируется HTML и выполняется в интернет-браузере. Он выполняет серверный код в браузере. Он может предлагать интерактивные возможности, которые HTML не может предоставить для веб-приложений. Поскольку байт-код Java не зависит от платформы, апплеты Java могут выполняться браузерами, работающими, в частности, на Windows, Unix, macOS и Linux.
Код апплета передается в браузер и запускается виртуальной машиной Java браузера, когда браузер с поддержкой Java сканирует страницу с апплетом.
Веб-страница может ссылаться на апплет, используя либо несуществующий тег
Апплеты часто включаются в корпоративные системы, поскольку они позволяют пользователям получать доступ к возможностям, не загружая все приложение или переключая окна. Их также можно использовать для настройки внешнего вида настольных приложений, что позволяет персонализировать приложение.
Апплеты позволяют веб-разработчикам создавать интерактивные функции и анимацию на веб-страницах без дополнительного кода. Апплеты — это легко адаптируемые строительные блоки для любого приложения или веб-сайта, поскольку варианты их использования охватывают широкий спектр программных решений и платформ.
Однако доступные пользователю апплеты Java больше не используются.
В чем разница между апплетом и приложением?
Вот основные отличия приложений от апплетов:
- Апплеты, в отличие от приложений, предназначены для встраивания в HTML-страницу.
- Когда пользователь посещает HTML-страницу, содержащую апплет, код апплета передается на компьютер пользователя. С приложениями такого нет.
- Для отображения апплета необходима виртуальная машина Java (JVM). JVM может быть подключаемым модулем веб-браузера или автономной средой выполнения. В течение срока действия апплета JVM в системе пользователя создает копию типа апплета и выполняет несколько функций. Для приложения не требуется JVM.
- Апплеты подчиняются строгим правилам безопасности, которые реализуются веб-браузерами. Конфиденциальность апплета широко известна как безопасность песочницы, приравнивая апплет к ребенку, играющему на детской площадке со строгими правилами.
- Приложения — это исполняемые приложения, которым не нужен веб-браузер. Апплеты — это крошечные приложения, предназначенные для встраивания только в веб-страницы HTML. Они не работают без браузера.
- Пакеты приложений Java имеют полный доступ к сети и файловой системе. Апплетам не хватает доступа к локальным дискам и сетям. Им разрешен доступ только к службам, зависящим от браузера.
Подробнее: Что такое ООП (объектно-ориентированное программирование)? Значение, концепции и преимущества
Типы апплетов
Апплеты можно классифицировать по следующим категориям:
1. Апплеты Java
Как упоминалось ранее, апплеты часто создавались на Java, которые можно было вставлять в HTML-страницы для использования. в Интернете. В этом контексте их обычно называли плагинами. В первые годы существования Интернета они часто использовались для создания интерактивных кнопок, контрольных списков, форм и других второстепенных анимаций на веб-сайтах.
Апплеты Java в конечном итоге устарели из-за растущей сложности онлайн-программ и популярности JavaScript, C++ и других языков сценариев. К 2015 году большинство разработчиков браузеров либо отказались от поддержки подключаемых модулей Java, либо объявили о своих планах сделать это. Они по-прежнему могут быть актуальны при создании частных или настраиваемых веб-интерфейсов, таких как интранет.
2. Апплеты IFTTT
В контексте IFTTT апплеты относятся к автоматизации, которая использует интеграцию между двумя сервисами. Апплеты IFTTT состоят из подсказок и ответов — они предписывают апплету начать работу, а действия представляют собой результат работы апплета. В начале IFTTT (около 2010 г.) апплеты были известны как рецепты автоматизации.
Апплеты теперь могут содержать несколько действий («если это, то это и т. д.») и/или зависимые проверки («если это, то это»). IFTTT делает это, используя стандартную логику программирования, позволяющую определенным событиям, инициируемым SaaS, запускать ответ в другой облачной службе. Создавая эти триггеры и действия, нетехнический конечный пользователь может автоматизировать обычные задачи.
В отличие от апплетов Java, работа апплетов IFTTT полностью скрыта, а внутренние классы, функции, методы, объекты и т. д. невидимы. Это делает их более доступными для нетехнических пользователей.
3. Апплеты Grail
Grail — это бесплатный кроссплатформенный веб-браузер с открытым исходным кодом, разработанный на Python. Он поддерживает все стандартные интернет-протоколы и работает аналогично Netscape или Internet Explorer. Этот браузер позволяет создавать апплеты Python. Следовательно, апплеты Grail — это всего лишь фрагменты кода Python, которые находятся на сервере и запускаются на клиентской машине.
Если на странице HTML упоминается класс Python, Grail может немедленно загрузить и выполнить код Python (апплет) в клиентской системе. Назначение апплетов Grail идентично назначению апплетов Java.
4. Локальный апплет
Это тип апплета, характерный для апплетов Java. Локальные апплеты создаются и сохраняются в локальной системе. Когда файл HTML содержит локальный апплет, веб-странице не нужно получать данные из Интернета. Имя файла или путь в коде указывает или определяет его.
5. Удаленный апплет
Другой разработчик (а не пользователь) создает и разрабатывает удаленный апплет. Он находится или доступен на удаленном компьютере, подключенном к Интернету. Основная система должна быть подключена к Интернету для запуска апплета на удаленном компьютере. Чтобы идентифицировать и загрузить удаленный апплет, пользователю необходимо знать унифицированный указатель ресурса (URL) апплета.
6. Веб-приложения и мобильные апплеты
Апплеты могут быть значительно изменены при использовании через веб-браузер без необходимости повторной компиляции программы. Это достигается с помощью HTML, включая более новые версии, такие как HTML5. Можно отправить несколько параметров из HTML-кода, когда программа вызывается из HTML-страницы для браузера. Этот метод обеспечивает простую настройку одного апплета на нескольких веб-сайтах.
Апплеты используются мобильными устройствами совершенно по-другому. Многие устройства имеют программную основу, позволяющую апплетам работать независимо от других приложений. Этот метод обеспечивает тот же уровень безопасности и переносимости, что и типичное решение, без необходимости использования отдельного программного контейнера.
7. Подписанные апплеты
Подписанный апплет имеет процесс проверки, который браузер должен проверить с помощью удаленного независимого сервера центра сертификации. Как только подпись проверена и пользователь настоящей системы дал согласие, подписанный апплет может получить дополнительные разрешения и стать эквивалентным обычному автономному приложению. Обоснованием этого является то, что создатель апплета уже установлен и будет нести ответственность за любой умышленный вред. Подписанные апплеты должны быть безопасными по своей конструкции, но они могут получить неправомерный доступ к системе пользователя.
8. Самоподписанные апплеты
Самоподписанные апплеты подписаны разработчиком. Если программисту не доверяют, он может представлять угрозу безопасности. Вот почему браузеры выдают предупреждение, когда самоподписанный апплет запрашивает авторизацию. Как правило, эти сертификаты используются только на этапе разработки перед выпуском. Большинство создателей апплетов запрашивают стороннюю подпись, чтобы гарантировать потребителям безопасность апплета.
9. Неподписанные апплеты
Поскольку не существует авторизованного лица, неподписанные апплеты имеют серьезные ограничения. Например, они не могут получить доступ к локальной файловой системе, системным атрибутам, собственному коду или внешним командам. Фрейм апплета будет дополнительно содержать заголовок, указывающий на ненадежность апплета. Неподписанные апплеты потенциально могут попытаться загрузить вредоносное ПО. Однако они не могут выполнить атаку и могут только сохранить эти файлы во временном хранилище файлов.
Подробнее: Разработчик программного обеспечения и инженер-программист: 10 основных различий
Примеры апплетов
Апплеты сегодня в значительной степени являются устаревшей технологией, а это означает, что трудно найти реальные примеры апплетов. Тем не менее, есть много популярных примеров использования апплетов в мире вычислений, с которыми вы должны быть знакомы:
1. Фильмы QuickTime
QuickTime — это мультимедийная платформа, которую Apple запустила в 1991 году. его внешний интерфейс, QuickTime Player, фреймворк может поддерживать различные типы мультимедиа в многочисленных интерфейсах, включая браузеры. Для встраивания видео QuickTime в браузеры разработчики использовали апплет QuickTime в 1990-х-начало 2000-х. Это было особенно полезно при воспроизведении видео QuickTime на компьютерах с Windows XP. Пользователи могли включать и выключать апплет для управления автоматическим повтором видео.
2. Проигрыватель Windows Media
Как и QuickTime, проигрыватель Windows Media от Microsoft также использует технологию апплетов для встраивания и отображения видеофайлов на веб-страницах. Это было совместимо с Internet Explorer и любым другим веб-браузером, поддерживающим подключаемые модули Java. С тех пор Microsoft отказалась от проигрывателя Windows Media в пользу более продвинутых систем. Однако на протяжении многих лет апплеты оставались важным элементом видеоэкосистемы Microsoft.
3. Апплет Game of Life
Несколько браузерных игр, разработанных в первые годы существования Интернета, используют технологию апплетов. Это связано с тем, что апплеты могут эффективно воссоздавать графику и анимацию с минимальной нагрузкой на ресурсы. При правильном подписании апплеты также могут сохранять информацию в локальной системе, что улучшает игровой процесс. Game of Life — игра без игроков, разработанная математиком Джоном Х. Конвеем в 1970 году. Пользователь просто проектирует конфигурацию и наблюдает, как она развивается, живет или умирает. Игра была широко доступна в виде апплета в 1990-е и 2000-е годы, заменены версией JavaScript в 2012 году.
4. Трехмерная визуализация для исследований и образования
Как уже упоминалось, апплеты могут отображать анимацию и графику с относительно высоким качеством, особенно для 1990-х годов. В результате его часто использовали для обучения студентов визуальным концепциям в Интернете. Университет Теннесси в Ноксвилле разработал апплет химической инженерии как часть образовательного веб-модуля.
В химической инженерии двухмерные диаграммы часто не соответствуют реальному поведению трехмерных структур. Этот апплет использует технические возможности Java и языка NVIDIA OpenGL для 3D-рендеринга для создания 3D-апплетов. Студентам просто нужно было установить подключаемый модуль Java, чтобы просмотреть молекулярное моделирование химических смесей. Для этой цели до сих пор широко используются апплеты, например, Chemis3D.
5. Oracle Java 3D API
Это пример интерфейса прикладного программирования (API), используемого для написания 3D-приложений и апплетов. Oracle поддерживает Java 3D как часть своего пакета API, который помогает разработчикам создавать и управлять сложной трехмерной геометрией. Это имеет широкий спектр приложений, от построения трехмерного мира, как в играх, до разработки файлов трехмерного автоматизированного проектирования (CAD).
Java 3D имеет множество функций, которые делают его чрезвычайно мощным инструментом для разработки приложений. Он имеет несколько режимов рендеринга, обладает широкими возможностями расширения и поддерживает практически все аппаратные платформы.
6. Апплеты для обучения фотографии
Это еще один пример использования апплетов для обучения. На уроке фотографии в Стэнфорде исследователь компьютеров Марк Левой, студенты Нора Уиллетт и Кэти Дектар, а также доктор философии. студент Эндрю Адамс разработал серию апплетов, которые визуализировали бы фотографический объектив, эффекты экспозиции, работу автофокуса, смешивание цветов и другие аспекты фотографии.
Примечательно, что Марк Левой известен своей работой в Adobe и Google и своей специализацией в области вычислительной фотографии.
Используя эти апплеты, студенты, изучающие фотографию, могут укрепить уроки живых лекций. Они могут визуализировать сложные концепции, такие как свет, проходящий через линзу, и математические переменные, влияющие на глубину резкости. Эта библиотека апплетов была запущена в 2010 году, когда трудно было найти передовые интерактивные 3D-медиа для образовательных целей.
Подробнее: Что такое JSON? Значение, типы, использование и примеры
Вывод
Хотя апплеты в настоящее время в основном устарели, их наследие остается в виде микропрограмм, выполняющих определенные функции в Интернете. Вот почему IFTTT принял номенклатуру апплетов, чтобы указать на простоту установки и использования. В дальнейшем JavaScript, бессерверная архитектура и веб-приложения в значительной степени устранили необходимость в том, что мы когда-то знали как апплеты в Java. Однако можно продолжать использовать эту технологию для простых аудиовизуальных представлений, особенно в сфере образования.
Ясно ли вам объяснила в этой статье принцип работы апплетов? Сообщите нам на FacebookОткрывается новое окно , TwitterОткрывается новое окно и LinkedInОткрывается новое окно .