Java Applet


Джава аплет (на английски: Java applet) е малък приложен софтуер написан на Джава или друг език за програмиране който може да се компилира до специфичен за езика код, наречен байт код, подаващ команда към виртуалната машина на програмния език Java. Програмата се компилира във вид на .class файл или съвкупност от такива компилирани Java класове, записани в .jar файл.
Аплетът се изпълнява от Java виртуална машина JVM и затова браузърите, които поддържат аплети, имат вградена или допълнително инсталирана виртуална машина. Програмата като междуплатформен софтуер се вгражда като обект в уебстраница и по време на разглеждането на тази страница се изпълнява от уеб браузъра или от приставки на други клиенти. Потребителят може да влияе на програмата без да изпраща информация към сървъра.
За графичния си потребителски интерфейс аплетът може да използва правоъгълната област, която браузърът ѝ е дал; нов приложен прозорец; самостоятелен интерфейс с команден ред от Sun (на английски език: Sun's AppletViewer) или самостоятелен инструмент за тестване на аплети.
Джава аплетите притежават почти цялата мощ на Java платформата, но с известни ограничения, наложени главно от съображения за компютърна сигурност. За да се осигури безопасността на потребителя, на аплетите е позволено да извършват само операции, които не могат да осъществят достъп до потребителската информация на машината, на която се изпълняват.
Освен Джава аплет има и програма Джава сървлет, която роботи върху уеб сървър.
Преглед
[редактиране | редактиране на кода]Аплетът е малко приложение, което изпълнява специфична задача в рамките на друга по-голяма програма.[3][4] Джава аплетите се използват за интерактивни функции на уеб приложенията, които не могат да бъдат предоставени само от HTML. Те могат например да улавят движенията на мишката, или да получават входни данни от бутони, полета или квадратчета с отметки. В отговор на действията на потребителя, аплетът може да промени своето графично изображение. Това прави аплетите много подходящи за демонстрации, визуализации и обучения. Съществуват онлайн колекции от аплети за изучаване на различни теми – от физика до сърдечна физиология.
Аплетът може да представлява и само текстов прозорец, например осигуряващ междуплатформена връзка с отдалечена система посредством интерфейс с команден ред. Ако е нужно, аплетът може да работи в отделен прозорец. Въпреки това, аплетите имат много малък контрол върху съдържанието на уеб страницата извън тяхната зона, затова не са много полезни за подобряване на външния вид на сайта, за разлика от други типове разширения на браузъра. Аплетите могат също да стартират медийни файлове във формати, които по подразбиране не се поддържат от самия браузър.
В страниците, написани на HTML, могат да се вграждат различни параметри, които се подават към аплета. Така един и същи аплет може да изглежда различно в зависимост от подадените му параметри.
Аплетите са познати още преди CSS и DHTML да бъдат стандартизирани. Били са използвани за тривиални ефекти като бутони за временна визуализация (т.н. rollover buttons). Силно критикувани, днес използването им все повече намалява.
Техническа информация
[редактиране | редактиране на кода]Джава аплетите се изпълняват по начин, който разделя изпълняващите се програми една от друга (т.нар. Пясъчник). Това пречи да се достъпва информация от клипборда или файловата система. Кодът на аплета се тегли от уебсървър, след което браузърът или закрепва аплета към уебстраницата, или отваря нов прозорец, показващ потребителския интерфейс.
Първите имплементации са включвали теглене на аплет клас по клас. Макар че класовете са малки файлове, често те са много, затова аплетите имат репутацията на бавнозареждащи компоненти. Но след въвеждането на .jars, аплетът обикновено е представен като един-единствен файл с размер, подобен на този на изображение.
Домейнът, от който изпълнимият файл на аплета се изтегля, е единственият, с който аплетът може да си комуникира. Този домейн може да е различен от домейна, на който е хостнат основният HTML документ.
За да може да се пише код, който може да се изпълни и на текущи и на бъдещи версии на Джава виртуалната машина, се ползват Джава системни библиотеки и рънтайм.
Подобни технологии
[редактиране | редактиране на кода]Много джава разработчици, блогове и списания препоръчват вместо джава аплети да бъде използвана Java Web Start технология. Тя позволява пускането на непроменен аплет код, който после се изпълнява в отделен прозорец (не се закрепва за браузъра).
Понякога Джава сървлет е неформално сравняван със server-side аплет, но той има различен език, функции и характеристики от описаните тук.
Пример
[редактиране | редактиране на кода]Долният пример илюстрира използването на Java аплети посредством „java.applet“ пакета. Примера използва класове и от java.awt, за да изпише „Hello, world!“.
import java.applet.Applet;
import java.awt.*;
// Applet code for the "Hello, world!" example.
// This should be saved in a file named as "HelloWorld.java".
public class HelloWorld extends Applet {
// Print a message on the screen (x=20, y=10).
public void paint(Graphics g) {
g.drawString("Hello, world!", 20, 10);
// Draws a circle on the screen (x=40, y=30).
g.drawArc(40, 30, 20, 20, 0, 360);
}
}
Прости аплети се споделят свободно в интернет за персонализиране на приложения, които поддържат плъгини.
След компилацията се получава .class файл, който може да бъде поставен на уеб сървър и да бъде стартиран от HTML страница чрез таговете <applet> или <object>. За пример е даден следният HTML код: