Эта статья является продолжением встраивания апплета в веб-приложение . В этой статье я перечислю некоторые темы, связанные с java и апплетами Java, которые дадут сильные стороны об их использовании с соответствующими ресурсами. Некоторый другой связанный контент для апплетов Java также будет обсуждаться здесь.
Java считается желанным навыком среди программистов во всем мире. Поскольку Java-апплет является приложением Java, поэтому я хотел бы начать с некоторой информации о приложениях Java в реальном мире:
Реальные приложения Java
- Amadeus, крупнейшая туристическая компания в мире, использует Java для графического интерфейса пользователя.
- GWT (Google Web Toolkit) — это инструментарий разработки, написанный на Java.
- Устройства Android запускают приложения Java на виртуальной машине Java
- Dalvik является неотъемлемой частью Android.
- Поиск в Твиттере использует Java-сервер под названием Blender ( https://blog.twitter.com/2011/twitter-search-now-3x-faster )
- В Java есть инструменты высокого качества; Maven, Swing Explorer, Archiva, JMockit и т. Д.
- GDA — это структура, используемая для создания специализированного программного обеспечения для сбора данных в научных целях.
- В больших проектах Java предпочтительнее. Примеры включают в себя:
- Сложные веб-приложения, такие как http://www.tdameritrade.com
- Интернет-банкинг, как Kotak Mahindra http://www.kotak.com
- Сайт интернет-магазина http://www.ebay.com/
- Google Plus написан на Java и JavaScript: https://plus.google.com/
- Java ME (Micro Edition) предоставляет гибкую среду и пользовательский интерфейс для мобильных устройств, датчиков, принтеров и т. Д.
- Oracle SQL Developer написан на Java.
- Платформа быстрой разработки веб-приложений ColdFusion написана на Java.
- Платформа управления жизненным циклом программной системы (SSLM) и управления жизненным циклом приложений (ALM), известная как «целостность», написана на Java.
- Google Guice — это программная среда с открытым исходным кодом, написанная на Java.
Приведенная ниже статистическая информация взята с: http://www.java.com/en/about/
Реальные приложения Java-апплетов
- ThinkFree: Профессиональный онлайн офисный костюм на основе Java-апплетов и Ajax.
- JPC Emulator: Это эмулятор x86, написанный на Java и использующий Java-апплеты.
- Статистика: использование апплетов при разработке веб-приложений в статистике еще не устарело.
- Образование: До сих пор учился в университетах в рамках курса учебной программы.
- Yahoo Games: использует Java-апплеты для игр.
- Небольшие приложения: хорошая платформа для разработки небольших приложений
- Клиентский компьютер: когда клиентский компьютер должен использоваться, апплеты могут считаться хорошим выбором, например, при создании приложения для аутентификации и т. Д.
- Android: миллиарды Android-устройств работают на виртуальной машине Java
- Java Web Start: это среда, разработанная для запуска приложений вне браузера, описанная ниже.
Java Web Start
Это также известно как челюсти или челюсти . Он был разработан для запуска в качестве самостоятельного приложения. Это позволяет работать с программным обеспечением Java в Интернете с помощью веб-браузера. Программное обеспечение не работает внутри браузера, как апплеты.
Преимущества Java Web Start по сравнению с апплетами
Java Web Start преодолевает многие проблемы совместимости с браузерами, плагинами Java и различными версиями JVM. Программы Web Start — это независимые приложения, которые запускаются в отдельном фрейме. Они также могут запускать неизмененные апплеты, упакованные в файлы .jar.
Устранение «ограниченного доступа» приложениями Signed Web Start
Приложения Java Web Start работают в ограниченной среде, которая не позволяет им получать доступ к системным ресурсам, таким как локальные файлы, сеть и т. Д. Издатели могут легко снять эти ограничения, подписав свои приложения Web Start с помощью инструмента, названного jarsigner, который поставляется с Java Development Kit. ,
Использование в реальном мире:
Приложения | Описание / Использование |
CrossFTP | FTP-клиент и сервер. |
Jake2 | Java порт Quake 2. |
PowerTeacher | Программа успеваемости учеников, используемая школами |
Wurm Online | 3D Многопользовательский онлайн симулятор фэнтези. |
Buho21 | Игра разработана с использованием технологии Java Webstart. |
AutoPlot | Инструмент для черчения различных форматов файлов, таких как ASCII, CDF и NetCDF |
Бегущая реальность | Исторический атлас и модель человеческой истории, которая включает национальные границы, армии и людей. |
Genevestigator | Онлайн-платформа для исследователей для изучения данных для исследований и клинических применений. |
Включение веб-старта (в продолжение предыдущего проекта)
Выполните следующие действия, чтобы включить Web Start в качестве разумного способа запуска программного обеспечения вне браузера, в отличие от апплетов:
Щелкните правой кнопкой мыши-> AmitJavaApplication -> Свойства , затем перейдите к веб-запуску в разделе Приложение:
Нажмите «Включить веб-запуск» и выберите «CodeBase» в качестве локального выполнения.
После этого нажмите «Настроить…» в разделе «Подписание» и выберите «Самоподписаться сгенерированным ключом».
Теперь выберите «Смешанный код» как «Включить защиту программного обеспечения». После этого нажмите «ОК»:
Создайте проект для тестирования Java Web Start Local. Теперь вы можете заметить некоторые изменения в каталоге, т.е. два новых файла создаются (launch.html и launch.jnlp) с файлом jar проекта AmitJavaApplication «AmitJavaApplication.jar»:
Как показано выше для Java Web Start, создаются три файла:
- launch.jnlp — JNLP — протокол запуска сети Java. Это файл XML с элементами и атрибутами, которые инструктируют браузеры, как запускать приложение. Некоторые атрибуты файлов JNLP: версия спецификации JNLP, название приложения, название поставщика и т. Д.
- launch.html — это автоматически генерируемая HTML-страница, которая имеет ссылку на файл JNLP. Пользователи нажимают эту ссылку, чтобы запускать приложения через Java Web Start.
- AmitJavaApplication.jar: файл проекта JAR.
Чтобы протестировать Web Start из любого другого места, скопируйте показанные выше три файла в свой WebApplicationProject для запуска WebStart из любого другого места. После копирования каталог выглядит так: «AmitWebApplication»:
Запустите проект и откройте файл launch.html, после выполнения будет отображена следующая страница:
Ссылка: http: // localhost: 8080 / AmitWebApplication / launch.html
Нажмите Launch, после этого вам будет предоставлена возможность загрузить файл launch.jnlp. Загрузите этот файл в любом месте вашей системы:
Теперь дважды щелкните «launch.jnlp», и вы увидите, что тот же апплет виден при использовании Web Start в качестве независимого программного обеспечения. Эта работа показывает, что он не работает в браузере, как показано в моей предыдущей статье . Итак, это альтернативный способ предоставить пользователям возможность загружать программное обеспечение и запускать его:
Две формы Java-апплетов
- Набор абстрактных окон (AWT): классы и компоненты AWT содержатся в иерархии пакетов java.awt. Это набор API, который предоставляет графический интерфейс для Java-программы, такой как кнопки, флажки и т. Д. AWT считаются устаревшими. Качели предпочтительнее, чем компоненты AWT.
- Swings: классы и компоненты Swing содержатся в иерархии пакетов javax.swing. Компоненты Swing известны как облегченные, потому что они не требуют выделения собственных ресурсов в инструментарии оконной операционной системы, тогда как компоненты AWT называются тяжелыми компонентами.
В соответствии с Java 6 Update 12 можно смешивать виджеты Swing и AWT без проблем z-порядка (z-порядок — это порядок перекрывающихся двумерных объектов). До Java 6 Update 12 смешивание компонентов Swing и базовых виджетов AWT приводило к нежелательной стороне.
Качели считаются лучше чем AWT:
- Компоненты Swing не реализуются специфичным для платформы кодом, они полностью написаны на Java и поэтому не зависят от платформы в отличие от компонентов AWT,
- Он имеет более гибкие компоненты, чем AWT.
- В J2SE 1.2 Swings заменил виджеты AWT, поскольку он предоставляет более богатый набор виджетов пользовательского интерфейса.
- Swing рисует свои виджеты
- Еще не устарел, так же, как я использовал в предыдущей статье.
Oracle Java Updates
В этом разделе представлена важная информация, касающаяся обновлений Java и некоторых внешних источников на веб-сайте. Это состоит из улучшений безопасности, исправлений безопасности, подписывания кода, изменений в диалоговых окнах и т. Д., Реализованных Oracle Java:
История версий Java
Прежде чем идти дальше, я бы хотел, чтобы вы просмотрели историю версий Java, как упоминалось в Википедии.
Java SE 6, обновление 10
Исправления безопасности и плагин Java следующего поколения
Плагин Java следующего поколения
В этом выпуске была представлена новая реализация подключаемого модуля Java, известного как подключаемый модуль Java следующего поколения, который обеспечивает поддержку апплетов в веб-браузере, который сочетает в себе лучшие архитектурные функции апплета и технологии Java Web Start. Он также обеспечивает надежную платформу для развертывания содержимого Java и JavaFX в веб-браузере.
Java SE 7, обновление 10
Улучшения безопасности, как указано на веб-сайте Oracle Java:
Возможность выбора необходимого уровня безопасности для неподписанных апплетов, приложений Java Web Start и встроенных приложений JavaFX, которые запускаются в браузере. Поддерживаются четыре уровня безопасности. Эту функцию можно установить на панели управления Java или (только на платформе Microsoft Windows) с помощью аргумента установки из командной строки.
Java SE 7, обновление 21
Это обновление было связано с Java Applet & Web Start — подпись кода была сделана для лучшего пользовательского опыта ». Как сказано на веб-сайте Oracle Java:
«Начиная с Java SE 7 Update 21 в апреле 2013 года, все Java-апплеты и приложения для веб-запуска рекомендуется подписывать доверенным сертификатом.
Эти шаги значительно снизят риски для пользователей настольных компьютеров.
Мы также удаляем «низкие» настройки безопасности в панели управления Java (например, low / custom), чтобы пользователи не могли непреднамеренно полностью отказаться от средств защиты, которые мы встраиваем в Java. Пользователи будут лучше защищены, поддерживая в своих системах обновленные версии JRE, в сочетании с требованием кода, подписанного доверенным центром сертификации (а не самоподписанного или неподписанного кода). «
Диалоговые сообщения
Диалоговые сообщения были изменены для неподписанных, самоподписанных и подписанных апплетов. Это объясняется здесь .
Диалоговые сообщения, как указано на веб-сайте Oracle Java
«В частности, весь код Java, выполняемый в браузере клиента, будет запрашивать пользователя. Тип отображаемых диалоговых сообщений зависит от таких факторов риска, как код, подписанный или неподписанный, код, запрашивающий повышение привилегий, JRE выше или ниже базового уровня безопасности и т. Д. Сценарии с низким риском представляют собой очень минимальный диалог и включают флажок, чтобы не отображать подобные диалоги. тем же поставщиком в будущем. Сценарии с более высоким риском, такие как запуск беззнаковых банок, потребуют большего взаимодействия с пользователем, учитывая повышенный риск ».
Панель управления Java
Как показано в «Java SE 7 Update 21», «низкие» параметры безопасности в панели управления Java были удалены.
Здесь я демонстрирую, как можно получить доступ к панели управления Java в Windows7-32bit, чтобы проверить текущие уровни безопасности и даже изменить их:
Панель управления Java доступна, когда «javacpl.exe» выполняется из папки jre bin
Обновление 25 Java SE 7: Java-апплет и веб-запуск — подписание кода
Как сказано в Oracle Java: «все файлы должны быть добавлены в JAR до подписания» и
«Ссылка« Дополнительная информация »добавляется к различным диалоговым окнам безопасности, которые могут появляться перед запуском апплета или Java Web Start, чтобы пользователь мог получить больше информации о диалоге».
Java SE 7, обновление 40: набор правил развертывания
Как сказано в Oracle Java:
«Набор правил развертывания позволил администратору настольного компьютера контролировать уровень совместимости клиента и запросы по умолчанию во всей организации».
Богатый процесс развертывания интернет-приложений
Введение в набор правил развертывания
Java SE 7, обновление 51 (запланировано на январь 2014 года)
Это дает некоторые обновления, которые будут запланированы в Java 7 Update 51:
Заблокированный или смешанный код
Что делать, если ваш апплет заблокирован или предупреждает о «смешанном коде»?
Самозаверяющие сертификаты
Чтобы помочь пользователям, которым необходимо использовать самозаверяющие сертификаты без участия публичного центра сертификации .
Описывает роль подписи кода .
Новые требования безопасности для RIA в 7u51 (январь 2014)
https://blogs.oracle.com/java-platform-group/entry/new_security_requirements_for_rias
Центр ресурсов безопасности Oracle для разработчиков, конечных пользователей, системных администраторов и специалистов по безопасности
http://www.oracle.com/technetwork/java/javase/overview/security-2043272.html
Сайты, использующие апплеты
• Протестированные апплеты для большей безопасности
Данный сайт также предоставляет ссылку на другие сайты, которые используют Апплет. Содержание, указанное на сайте: «Ссылки на другие образовательные сайты с информацией по математике / физике или Java-апплетами, полезными для обучения» :
• Апплет калькулятора размера выборки
• Java-апплет: Word Magnets Scramble
• Вы можете добавить апплеты, указанные на этом сайте, на ваш сайт
• В заключение, предоставить список апплетов во всемирной паутине (WWW). Приведенный ниже скриншот взят с http://www.montgomerycollege.edu/~dsolomon/273/ca273y/java/resources.html :
Вывод
Любой язык программирования понимается лучше всего, когда он отлично используется в соответствующей среде и имеет многолетний опыт работы. Каждый язык имеет свои плюсы и минусы. C и C ++ используются еще более 30 лет назад. Такова и Java даже после 15 лет своего существования.
Я хотел бы отметить, что я не сторонник Java, и я не работаю на Oracle (и никогда не работал на него раньше). Я работаю разработчиком программного обеспечения и техническим писателем на Java, и эта статья отражает мою исследовательскую работу о существовании Java и Applets от имени опытных разработчиков Java в Интернете.
Что касается апплетов Java, они остаются простым способом встраивания небольших программ Java в веб-страницу и используются во многих контекстах, как показано выше. Апплеты все еще являются частью курса обучения в колледжах. Oracle Java предоставляет множество обновлений, направленных на улучшение использования апплетов.
Мы можем ожидать от Oracle дальнейших исправлений с точки зрения безопасности, подписи, ресурсов, надежности и т. Д. Апплета. это означает, что они планируют что-то лучшее в будущем (возможно, в Java 8).
При использовании Java (и апплетов) были замечены некоторые недостатки безопасности, но Oracle предприняла необходимые шаги для их устранения и обновила, чтобы избежать таких недостатков в будущем. Оставайтесь на связи здесь для предстоящих обновлений Java .