JWt (веб-инструментарий Java)
Оригинальный автор(ы) | В сети |
---|---|
Первоначальный выпуск | 1.0.0 / декабрь 2005 г |
Стабильная версия | 4.10.4 [1] ![]() |
Репозиторий | github |
Написано в | Ява |
Операционная система | Кросс-платформенный |
Тип | Веб-фреймворк |
Лицензия | Двойная лицензия: Стандартная общественная лицензия GNU или Коммерческая лицензия. |
Веб-сайт | www |
JWt (произносится как «jay-witty») — это с открытым исходным кодом виджеты, , ориентированная на платформа веб-приложений для языка программирования Java, разработанная Emweb . У него есть API, который использует устоявшиеся шаблоны разработки приложений с графическим интерфейсом. Модель программирования является компонентно-ориентированной и управляемой событиями , подобно Swing .
Цель библиотеки — извлечь выгоду из модели компонентов с отслеживанием состояния, используемой в API-интерфейсах настольных приложений, применяемых в веб-разработке, вместо традиционной модели «модель-представление-контроллер» (MVC). Вместо использования MVC на уровне страницы MVC переносится на уровень отдельных компонентов.
Хотя библиотека использует модель разработки настольных приложений, она поддерживает специфичные для Интернета функции, включая семантические URL-адреса , поддержку навигации по истории браузера, интернационализацию, темы и стили.
Уникальной особенностью библиотеки является уровень абстракции модели рендеринга браузера. Библиотека использует Ajax для связи с браузерами, поддерживающими Ajax, а также использует обратную передачу простой HTML-формы для других пользовательских агентов (для специальных возможностей и поисковых систем). Используя метод прогрессивной загрузки, пользовательский интерфейс изначально отображается как простой HTML, а для браузеров с поддержкой Ajax он автоматически обновляется для использования Ajax для повышения интерактивности.
JWt распространяется в виде jar-файла. Приложение JWt — это военный файл, который развертывается в совместимом со стандартами контейнере сервлетов .
Основные особенности
[ редактировать ]Более подробный обзор см. в списке функций на домашней странице проекта. [2]
- Автоматическое постепенное ухудшение и прогрессивное улучшение
- Во всех современных браузерах приложение JWt представляет собой одностраничное приложение с полной поддержкой навигации вперед/назад и по закладкам, но при этом полностью SEO .
- Поддерживает события, инициируемые сервером ( Comet ), и использует асинхронный ввод-вывод при развертывании в контейнере Servlet 3.0.
- Унифицированный API 2D-рендеринга (холст SVG/HTML5/VML/PDF) с совместимостью с java.awt.Graphics2D.
- Интегрированный рендеринг PDF-файлов для виджетов, графики (диаграмм) и HTML/CSS для создания отчетов.
- Проверка как на стороне клиента, так и на стороне сервера
- Различные автоматические встроенные функции безопасности, позволяющие избежать межсайтовых сценариев и уязвимостей CSRF .
- Поддержка тем через CSS или Bootstrap.
- Доступные виджеты демонстрируются в галерее виджетов.
- API 3D-рисования для рендеринга WebGL с возможностью возврата к рендерингу с ускорением графического процессора на стороне сервера.
- API 3D-диаграмм (поверхности, точки, гистограммы и т. д.), поддерживающий выбор, выделение пересечений, карты высот, изолинии и т. д.
Пример кода
[ редактировать ]Привет, мир! [3] пример полного исходного кода [4]
/*
* A simple hello world application class which demonstrates how to react
* to events, read input, and give feed-back.
*/
public class HelloApplication extends WApplication {
public HelloApplication(WEnvironment env) {
super(env);
setTitle("Hello world");
getRoot().addWidget(new WText("Your name, please ? "));
final WLineEdit nameEdit = new WLineEdit(getRoot());
nameEdit.setFocus();
WPushButton button = new WPushButton("Greet me.", getRoot());
button.setMargin(5, Side.Left);
getRoot().addWidget(new WBreak());
final WText greeting = new WText(getRoot());
button.clicked().addListener(this, new Signal.Listener() {
public void trigger() {
greeting.setText("Hello there, " + nameEdit.getText());
}
});
}
}
См. также
[ редактировать ]- Сравнение веб-фреймворков
- Wt — проект C++, на основе которого создан JWt.
Ссылки
[ редактировать ]- ^ «Выпуск 4.10.4» . 6 марта 2024 г. Проверено 22 марта 2024 г.
- ^ «JWt, Java Web Toolkit — Emweb» . www.webtoolkit.eu . Проверено 27 октября 2019 г.
- ^ «JWt, Java Web Toolkit — Emweb» . www.webtoolkit.eu . Проверено 27 октября 2019 г.
- ^ «ИСХОДНЫЙ КОД ПРИМЕРА HELLO WORLD» . www.webtoolkit.eu .
Внешние ссылки
[ редактировать ]- Домашняя страница проекта JWt
- Статья в журнале доктора Добба, февраль 2008 г.
- Вступительная статья на CodeGuru, июнь 2008 г.