Совместимость GWT MVP и SmartGWT

В моем новом проекте клиент запросил использование GWT/SmartGWT для разработки уровня презентации. (Примечание: экраны не очень сложны) Я знаю о шаблоне MVP (никогда не использовался), но мне нужно решить, какой вариант шаблона MVP мне следует использовать и который соответствует следующим критериям.

  1. Я должен быть в состоянии интегрировать / использовать компоненты SmartGWT без проблем с платформой MVP.
  2. Было бы замечательно, если бы фреймворк предоставил мне гибкость для поддержки отображения пользовательского интерфейса на мобильных устройствах или устройствах iPad.

Ранее я заметил, что когда компоненты GWT и SmartGWT используются вместе, поведение не согласовано. Поправьте меня вот это правда еще?

Любое руководство по этому вопросу будет высоко оценено.

Спасибо!! Bhavesh

3 ответа

Решение

MVP - это шаблон, созданный Google для базовых виджетов GWT, в котором нет встроенной поддержки привязки данных. Google никогда не говорил, что MVP применяется к виджетам SmartGWT, где виджеты уже поддерживают привязку данных, и мы (изоморфно) настоятельно не пытайтесь использовать Google MVP со SmartGWT, если у вас нет особых, очень необычных потребностей (подробнее об этом здесь: архитектура клиент-сервер SmartGWT GWT)

Когда люди пытаются применить MVP к SmartGWT, мы видим, как они воссоздают функциональность, которая уже существует в SmartGWT, значительно усложняют ситуацию, чем они должны быть, и постоянно ищут API и точки переопределения, которых нет, потому что они изобретать вещи, которые встроены в рамки. И этот опыт не уникален для SmartGWT - многие из самых умных пользователей GWT жалуются, что MVP создает сложный и ненужный код даже с основными виджетами GWT.

Поэтому наш совет: начните с Руководства по быстрому запуску SmartGWT и обращайтесь к MVP или другим сторонним архитектурным советам только тогда, когда вы обнаружите конкретную, конкретную проблему, которую SmartGWT явно не решает (все еще ждет услышать об этом:).

Он не очень хорошо играет вместе, на самом деле большинство библиотек виджетов терпят неудачу в этой области. Это не невозможно, но пока нет.

  1. Да, SmartGWT - это библиотека компонентов, вы будете использовать их виджеты, как и те, которые поставляются с GWT.

  2. Это может работать, но не ожидайте, что это будет так же, как на рабочем столе (у меня были некоторые проблемы с прокруткой, но это могло быть моей ошибкой, мы больше не используем smartGWT)

Что касается взаимодействия, да, это правильно, они не очень хорошо смешиваются, но в некоторых случаях это может работать. Лучше не смешивать. По крайней мере, таков был мой опыт работы с SmartGWT 2.2.

Другие вопросы по тегам