Лучшие практики для проектирования GUI в GWT
Я недавно начал изучать Google Web Toolkit. Я прошел через несколько прохождений, и я думаю, что понимаю основы и идею. Однако у меня есть несколько вопросов по поводу общей архитектуры и дизайна приложений.
Давайте начнем с графического интерфейса. Я хочу создать "общее" веб-приложение, в котором пользователь впервые видит страницу входа. После успешного входа пользователь перенаправляется на какую-то страницу индекса и добавляется меню. Я создал новый LoginComposite для страницы входа и попытался создать красивую HTML-таблицу, используя GWT Designer. Тем не менее, я считаю, что это действительно трудно сделать, так как вы не можете установить какие-либо отдельные свойства для отдельных ячеек (TD)? Нет никакого способа указать colspan или rowspan, и я не могу установить отступы или поля для самих ячеек. Короче говоря, я точно знаю, как бы я написал HTML-код, но я не могу перевести это для дизайнера. Это только у меня так?
Кроме того, я задаюсь вопросом о наилучшей практике для верстки кода и дизайна. Я прошел учебник StockWatcher, но на самом деле это не очень реалистичное веб-приложение. Например, я хотел бы знать, как я должен проектировать различные формы (должны ли они быть в своем собственном классе, наследующем класс Composite)? Как мне переключаться между формами (например, сначала в виде списка, затем в форме для редактирования выбранного элемента из списка, затем на совершенно другой странице)? Если у меня есть один Composite для каждой страницы и при необходимости создавать его экземпляры в моей EntryPoint, это будет означать, что клиент загрузит весь JavaScript для всех этих Composites при загрузке страницы? Должен ли я придерживаться только одной HTML-страницы или их должно быть много?
Это вопросы, которые на самом деле не рассматриваются ни в одном учебном пособии GWT. Если кто-нибудь знает хороший пример "настоящего" веб-приложения, созданного с использованием GWT, я бы хотел его увидеть.
Спасибо за ваш вклад!
1 ответ
Есть целая куча ресурсов в Google IO. Например:
- http://www.google.com/events/io/2011/sessions/high-performance-gwt-best-practices-for-writing-smaller-faster-apps.html
- http://www.google.com/events/io/2011/sessions/highly-productive-gwt-rapid-development-with-app-engine-objectify-requestfactory-and-gwt-platform.html
- http://www.google.com/events/io/2010/sessions/architecting-production-gwt.html
- http://www.google.com/events/io/2010/sessions/architecting-performance-gwt.html
- http://www.google.com/events/io/2010/sessions/gwt-ui-overhaul.html
- http://www.google.com/events/io/2009/sessions/EffectiveGwt.html
Кроме того, не ожидайте, что сможете редактировать абсолютно все, если вы используете графический интерфейс для создания своего приложения GWT. Удачи!