Java-апплет
Необходимо проверить качество перевода и привести статью в соответствие со стилистическими правилами Википедии. Вы можете помочь улучшить эту статью, исправив в ней ошибки.
Оригинал не указан. Пожалуйста, укажите его. Эта отметка стоит на статье с 2008-03-20. |
Java-апплет — это прикладная программа на Java в форме байт-кода. Java-апплеты выполняются в веб-браузере с использованием виртуальной Java машины (JVM), или в Sun's AppletViewer, автономном инструменте для тестирования апплетов. Java-апплеты были внедрены в первой версии языка Java в 1995. Java-апплеты обычно пишутся на языке программирования Java, но могут быть написаны и на других языках, которые компилируются в байт‐код Java, таких, как Jython.
Апплеты используются для предоставления интерактивных возможностей веб-приложений, которые не могут быть предоставлены HTML. Так как байт-код Java платформо-независим, то Java-апплеты могут выполняться с помощью плагинов браузерами многих платформ, включая Microsoft Windows, UNIX, Apple Mac OS и GNU/Linux. Такие программы с открытым исходным кодом, как applet2app[1], могут быть использованы для преобразования апплета в самостоятельные программы на Java или исполняемые файлы Linux и Windows.
Java Servlet иногда неофициально сравнивают с серверным апплетом, но он отличается своим языком, функциями и каждой из описанных здесь характеристик апплетов.
Техническая информация
Java-апплеты в большинстве браузеров выполняются в «песочнице», предотвращая их доступ к локальным данным. Код апплета загружается с веб-сервера, и браузер либо вставляет апплет в веб-страницу, либо открывает новое окно с собственным пользовательским интерфейсом апплета. Апплет может быть отображен на веб-странице путем использования устаревшего HTML элемента applet
[1], или рекомендуемого элемента object
[2]. Этим определяется месторасположение и источник апплета.
Главный класс апплета расширяет класс java.applet.Applet
или, если создаётся Swing апплет, javax.swing.JApplet
. Класс должен переопределить методы создания пользовательского интерфейса внутри себя. (Applet
является потомком Panel
, который, в свою очередь, является потомком Container
).
Преимущества апплетов
Преимущества использования Java-апплетов
- кроссплатформенность
- апплет может работать на «всех» установленных к этому времени версиях Java, а не только с последней версией; однако, если апплет требует последнюю версию JRE, то клиент будет вынужден ждать более длительной загрузки;
- апплет поддерживается большинством браузеров;
- он кэшируется в большинстве браузеров, а потому будет быстро загружаться при возвращении на веб-страницу; но апплет может сохраняться в кэше и создавать проблемы после выхода новых версий;
- он может иметь полный доступ к машине, на которой выполняется, если пользователь согласен на это;
- апплет может улучшить использование: после первого запуска апплета, когда JVM уже выполняется и быстро запускается, преимущественно у постоянных пользователей Java, однако JVM придется перезапускать каждый раз, когда запускается новый браузер.
- он может запуститься с сопоставимой (но обычно медленнее) скоростью на других компилируемых языках, таких как C++, но во много раз быстрее, чем JavaScript
- он может перенести работу с сервера к клиенту, делая Интернет-решение с, большим числом пользователей / клиентов.
Недостатки апплетов
Java-апплет обладает следующими недостатками:
- он требует установки Java-расширения (plug-in), которое не во всех браузерах доступно по умолчанию;
- он не может запуститься до тех пор, пока не запустится виртуальная Java-машина, и это может занять значительное время при первом запуске;
- создание и дизайн хорошего пользовательского интерфейса с использованием апплетов считается более сложной задачей, чем с помощью технологии, основанной на HTML;
- для повышения безопасности апплета, ограничивается доступ к пользовательской системе: в частности, он не имеет прямого доступа к диску клиента или буферу обмена;
- некоторые организации допускают только программное обеспечение, установленное администраторами. В результате многие пользователи не могут видеть апплеты по умолчанию.
- апплеты могут потребовать использования определенного JRE.
1.Однако, доступны свободно распространяемые реализации, такие как GCJ-plugin, Blackdown Java-plugin.
Вопросы совместимости
Компания Sun предприняла значительные усилия для обеспечения совместимости между Java-версиями по мере их появления. Например, Microsoft Internet Explorer, самый популярный браузер с конца 1990х, имел обыкновение загружать собственную JVM для Microsoft по умолчанию. MS JVM имеет ряд дополнительных функций, не входящих в Java, которые, будучи использованы, будут препятствовать выполнению MS JVM-апплетам в среде Sun’s Java (но не наоборот). Sun предъявила Microsoft иск за нарушение прав на товарный знак, так как суть Java заключается в том, что не должно быть никакого собственного расширения и что код должен работать везде. Развитие MS JVM было заморожено до правового урегулирования, оставив многих пользователей с чрезвычайно устаревшими виртуальными Java-машинами. Позже, в октябре 2001 года, MS остановил включение Java в Windows, и в течение ряда лет было оставлено на усмотрение производителей компьютеров устанавливать Java или нет, независимо от операционной системы. Большинство новых машин сейчас поставляется с официальной Sun Java.
Некоторые браузеры (в частности, Netscape) не очень хорошо обеспечивают 100%-ую совместимость, что затрудняет выполнение апплета большинством браузеров (JavaScript может с трудом использоваться для этой цели). Поскольку апплет создает свое собственное главное окно, это не является хорошим решением, так как это оставляет окно браузера в значительной степени бесполезным и приводит к тому, что увеличивается шанс непреднамеренного закрытия апплета пользователем путем закрытия исходного окна браузера.
Альтернативы
Существуют альтернативные технологии (например, DHTML, Microsoft Silverlight и Adobe Flash), которые реализуют некоторые возможности апплетов.
Еще одной альтернативой апплетов для клиента Java является Java Web Start, который запускается вне браузера. В дополнение к функциям, доступным в апплете, простой доступ к полям предоставляет программам Java Web Start доступ по чтению и-или записи определенных файлов, хранящихся у клиента, а также к буферу обмена клиента.
Примечания
См. также
Внешние ссылки
- Information about writing applets from Sun Microsystems
- Applet section of Wikibook’s Java book
- Demonstration applets from Sun Microsystems (JDK 1.4 — include source code)
- Latest version of Sun Microsystems Java Virtual Machine (includes browser plug-ins for running Java applets in most web browsers).
- Examples of interactive Java Applets from physics, biology and social systems
- examples for Java Applets with sourcecode
- Апплеты и сервлеты Java как средства расширения возможностей браузера и Web-сервера
Java |
||
---|---|---|
Платформы | Java Card · Java ME · Java SE · Java EE | Файл:Wave.svg |
Технологии Sun | Java · Java Development Kit · OpenJDK · WTK · Java Virtual Machine · JavaFX · JAXP | |
Основные сторонние технологии | GNU Classpath · GNU компилятор для Java · Kaffe · TopLink · Apache Harmony · Apache Struts · Spring Framework · Hibernate · JBoss · Processing · Dozer · AspectJ | |
История | История версий Java · Критика Java · Java Community Process · Sun Microsystems · Свободные реализации Java | |
Свойства языка | Байткод · Синтаксис · Апплеты · Сервлеты · Мидлеты · JavaServer Pages · Web Start · Enterprise JavaBeans | |
Скриптовые языки | Java Tcl · Jython · JRuby · BeanShell · Groovy · Judoscript · Sleep · Bean Scripting Framework · Yoix · Rhino | |
Конференции Java | JavaOne |
Ошибка: неверное или отсутствующее изображение |
У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их (с соблюдением правил использования изображений).
Для поиска иллюстраций можно:
|
ar:بريمجات جافا bn:জাভা অ্যাপলেট ca:Miniaplicació de Java de:Java-Applet en:Java applet es:Applet Java fa:جاوا اپلت fi:Java-sovelma fr:Applet java id:Java applet it:Java applet ja:Javaアプレット ko:자바 애플릿 nl:Java-applet pl:Aplet Javy pt:Applet Java zh:Applet
Если вам нравится SbUP.com Сайт, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....