Java-аплет – це прикладна програма на Java у формі байт-коду. Java-аплети виконуються у веб-браузері з використанням JVM, або в Sun'S AppletViewer, автономному інструменті для тестування аплетів. Java-аплети зазвичай пишуться на мові програмування Java, але можуть бути написані і на інших мовах, які компілюються в байт-код Java, таких, як Jython.
Аплети використовуються для надання інтерактивних можливостей веб-додатків, які не можуть бути надані HTML. Так як байт-код Java платформо-незалежний, Java-аплети можуть виконуватися за допомогою плагінів браузерами багатьох платформ. Такі програми з відкритим вихідним кодом, як applet2app, можуть бути використані для перетворення апплета в самостійні програми на Java або виконувані файли Linux та Windows.
Java-аплети у більшості браузерів виконуються в «пісочниці», запобігаючи їх доступ до локальних даних. Код аплету завантажується з веб-сервера, і браузер або вставляє аплет в веб-сторінку, або відкриває нове вікно з власним інтерфейсом аплету. Аплет може бути відображений на веб-сторінці шляхом використання застарілого HTML елемента applet, або рекомендованого елемента object. Цим визначається місце розташування і джерело аплету.
Головний клас аплету розширює клас java.applet.Applet або, якщо створюється Swing аплет, javax.swing.JApplet. Клас повинен перевизначити методи створення користувальницького інтерфейсу всередині себе (Applet є нащадком Panel, який, у свою чергу, є нащадком Container).
Перевагою використання Java-аплетів є:
кросплатформеність
аплет може працювати на «всіх» встановлених до цього часу версіях Java, а не тільки з останньою версією; проте, якщо аплет вимагає останню версію JRE, то клієнт буде змушений чекати більш тривалого завантаження;
аплет підтримується більшістю браузерів;
він кешується в більшості браузерів, а тому буде швидко завантажуватися при поверненні на веб-сторінку; але аплет може зберігатися в кеші і створювати проблеми після виходу нових версій;
він може мати повний доступ до машини, на якій виконується, якщо користувач згодний на це;
аплет може поліпшити використання: після першого запуску аплету, коли JVM вже виконується і швидко запускається, переважно у постійних користувачів Java, проте JVM доведеться перезавантажувати кожного разу, коли запускається новий браузер.
він може запуститися з порівнянною (але звичайно повільніше) швидкістю на інших компільованих мовах, таких як C + +, але у багато разів швидше, ніж JavaScript
він може перенести роботу з сервера до клієнта, роблячи Інтернет-рішення з, великим числом користувачів.
Java-аплет має деякі недоліки:
він вимагає установки Java-розширення (plug-in), яке не у всіх браузерах доступно за замовчуванням;
він не може запуститися до тих пір, поки не запуститься JVM, і це може зайняти значний час при першому запуску;
створення і дизайн гарного користувальницького інтерфейсу з використанням аплетів вважається більш складним завданням, ніж за допомогою технології, заснованої на HTML;
для підвищення безпеки аплету, обмежується доступ до інформації користувача системи: зокрема, він не має прямого доступу до диска клієнта або буферу обміну;
деякі організації допускають лише програмне забезпечення, встановлене адміністраторами. У результаті багато користувачів не можуть бачити аплети за замовчуванням.
Існують альтернативні технології (наприклад, DHTML, Microsoft Silverlight і Adobe Flash), які реалізують деякі можливості аплетів.
Ще однією альтернативою аплетів для клієнта Java є Java Web Start, який запускається поза браузером. На додаток до функцій, доступних в аплеті, простий доступ до полів надає програмам Java Web Start можливість читання та (або) запису певних файлів, якіі зберігаються у клієнта, а також до буферу обміну клієнта.