logo
Проектирование инт-прил / лекции / Проектирование инет приложений

Java Applets

Все языки программирования можно условно разделить на две группы. Первая из них с помощью компилятора преобразует текст программы в код, непосредственно исполняемый процессором. Вторая группа не имеет компиляции, вместо этого при помощи интерпретатора выполняет написанный текст программы построчно (уже рассмотренные выше так называемые "скрипты"). Javaне относится ни к одной из этих групп. У нее есть процесс компиляции, но в результате получаются не машинные коды, а так называемые "байт-коды", которые для своего выполнения требуют "виртуальной машины" (интерпретатора). Данное обстоятельство одновременно является и плюсом, и минусом языка. Минусом - потому, что в отличие от машинных кодов, программа в байт-кодах будет выполняться дольше. Плюсом - потому, чтоJavaявляется кросс-платформенным языком. Виртуальная машина Java (JVM) существует практически на всех имеющихся в настоящее время операционных системах. Проще говоря, написанный код будет выполняться в любой операционной системе. Данное обстоятельство послужило одной из причин широкого распространения Java как языка программирования.

Java- это высокоуровневый объектно-ориентированный язык программирования, изначально ориентированный на сетевую работу. На языке Java могут быть решены практически все существующие на сегодняшний день задачи: создание приложений с графическим интерфейсом, консольных приложений, написание системных программ, сервисов и так далее. А кроме того,Javaпозволяет создавать еще и апплеты (applet), то есть "небольшое приложение". Апплет специально создан для того, чтобы выполняться внутри окна браузера.

Для того, чтобы создать апплет, необходимо написать свой собственный класс, являющийся потомком от java.applet.Applet(при использовании библиотекиAWT), либо javax.swing.JApplet при использовании Swing. Родительский класс предоставляет 4 виртуальных метода, которые вызываются в ответ на события "жизненного цикла" апплета.

Чтобы вставить объект на страницу, используются два тэга - <applet>и<object>. Тэг<applet>считается устаревшим, однако используется более широко (в силу исторических причин) и поддерживается браузерами до сих пор. Более современный подход - это использование тэга<object>, который позволяет вставить в HTML-страницу вообще любой объект, не только апплет. При этом нужно указать, как обрабатывать данный объект (какой он имеет тип).

Апплет (точнее - архив, его содержащий) можно подписать электронной подписью. В этом случае браузер попытается проверить достоверность подписи и спросит пользователя, доверяет ли он организации, от имени которой был получен апплет. Если пользователь выразит свое доверие - все ограничения "песочницы" снимаются, апплет вправе выполнять любые действия на компьютере пользователя. Отсутствие ограничений на клиентской стороне, безусловно, является сильным плюсом технологии апплетов.

А один из серьезных минусов апплетов заключается в том, что для их работы клиент должен иметь на своем компьютере установленную виртуальную машину Java, которая входит в базовую поставку - не во всех операционных системах. В частности, виртуальной машины Java нет по умолчанию в Microsoft Windows.

Примеры апплетов Вы можете найти в Приложении 2 к данному курсу.