Вопрос

Я начал изучать GWT на примере Google и мой первый вывод таков: слишком много кода

Вот так:

stocks.add(symbol);
        stocksFlexTable.setText(row, 0, symbol);
        stocksFlexTable.setWidget(row, 2, new Label());
        stocksFlexTable.getCellFormatter().addStyleName(row, 1,
                "watchListNumericColumn");
        stocksFlexTable.getCellFormatter().addStyleName(row, 2,
                "watchListNumericColumn");
        stocksFlexTable.getCellFormatter().addStyleName(row, 3,
                "watchListRemoveColumn");

Есть ли у GWT какие-либо расширения для уменьшения размера кода и упрощения создания форм GWT?

Это было полезно?

Решение

Хорошим примером (упрощенного, но чистого концептуально) дизайна пользовательского интерфейса GWT с использованием CSS и HTML является Теги Первый GWT.

Я согласен с вами, что если следовать общим примерам из документации Google, то это не самый приятный опыт.Однако в последнее время ситуация изменилась, но они еще не полностью отражены в Google Docs.Попробуйте следующее:прежде чем приступить к разработке GWT, посмотрите эти 2 презентации: Лучшие практики и Советы по производительности.

Без использования дизайна пользовательского интерфейса на основе CSS, шины событий, GWT-RPC на основе шаблонов команд, уровня презентации MVP и google-джин (GWT-реализация Guice) в GWT трудно преодолеть сложность, как и в любом другом тяжелом графическом фреймворке.

Если вам понравились эти идеи (описанные в презентациях выше), возможно, вы захотите рассмотреть gwt-отправка и gwt-ведущий которые реализуют некоторые из этих шаблонов.

Вот несколько примеров: Пример MVP GWT и Веб-почта на базе Apache Labs Hupa GWT

Обновить:для получения дополнительной информации о дизайне MVP для GWT обратите внимание на GWT MVP в GWT 2.1 и/или gwt-платформа фреймворки (среди прочих, которые могут подойти вам).

Другие советы

UiBinder (GWT 2.0) может быть полезным р>

Geez может вам помочь.

Geez предоставляет простые в использовании макеты стилей для GWT и ряд статических методов для создания часто используемых виджетов.

Мы используем FormBuilder для простого и компактного построения форм в коде:

ListBox type = ...
TextBox notes = ...

FormBuilder b = new FormBuilder();
b.label("Chart type").field(type).endRow();
b.label("Notes").field(notes).wrap().endRow();
b.add("Some help text").style("help").wrap().endRow();

FlexTable form = b.getForm();
...

Он отслеживает текущую строку и столбец, последовательно изменяет стили ячеек в зависимости от метода, используемого для их добавления (метка, поле и т. д.), обеспечивает согласованный интервал и т. д. и т. д. Каждый метод возвращает FormBuilder для поддержки вызовов цепочки. Такие вещи, как wrap () применяются к ранее добавленной ячейке.

Этот класс является частью GWT Portlets .

Ознакомьтесь с http://code.google.com/p/gwt-pectin/ в сочетании с UiBinder

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top