Я искал GWT. Это кажется приятным, но наше программное обеспечение должно работать без требования JS. Является ли это возможным?
Нет, это не так. GWT предоставляет набор инструментов для работы с окнами, который специально разработан для работы на клиенте, а не на сервере. Ухудшенный (например, не-javascript) код должен доставлять в браузер полный HTML, чего GWT просто не делает. Он компилирует ваш код java в файл javascript, который доставляется клиенту, и создает пользовательский интерфейс путем манипулирования DOM на клиенте. Затем есть код для обратной связи с сервером, часть неявная, часть написанная вами самостоятельно. Эта модель не поддается изящной деградации.
Единственный способ несколько изящно ухудшиться - предоставить второй пользовательский интерфейс, не связанный с javascript, или использовать другой инструментарий, который не отображает интерфейс на клиенте, но предоставляет HTML. Извиняюсь.
да - в том-то и дело. Очень интерактивный, очень впечатляющий. Но чистый Javascript.
Вы можете изящно деградировать, создав структуру html, которая просто «достаточно хороша» (с сообщениями формы, связанными меню и т. д.), А затем прикрепите GWT к каждой части этой структуры, улучшив ее поведение. Например, сделайте раскрывающийся HTML-код динамическим, замените ссылку на другую страницу компонентом, который открывает лайтбокс, или замените ссылку на другую страницу HTTP-запросом XML, чтобы сделать то же самое (например, проголосовать).
Я делал это несколько раз для клиентов.
Это противоположный способ разработки большинства GWT, но он может работать.
Я сам рассматривал эту проблему при разработке своего веб-сайта. GWT ничем не лучше, чем просто писать файлы Javascript, поскольку их синтаксис практически идентичен. Настоящая выгода приходит, когда вы делитесь клиентскими и серверными библиотеками. Надеюсь, вы решили эту проблему за последние два года, но, во всяком случае, вот пара примеров, которые могут оказаться вам полезными.
Создание Gmail: с помощью GWT вы можете создать EmailFormatter в общем пакете, который выполняет разметку списка адресов электронной почты, чтобы вашему серверу не приходилось этого делать. Затем вы можете добавить поддержку устаревших браузеров («более старая версия»), используя тот же класс EmailFormatter на стороне сервера.
Проверка формы: Хотя это абсолютно необходимо с точки зрения безопасности для проверки стороны сервера ввода данных пользователем, для большинства пользователей удобнее, чтобы Javascript проверял форму перед ее отправкой. Для этого вы можете использовать тот же код Java с GWT.
Справедливо. Итак, GWT по своей природе создает только файлы js.