Совместимость GWT MVP и SmartGWT
В моем новом проекте клиент запросил использование GWT/SmartGWT для разработки уровня презентации. (Примечание: экраны не очень сложны) Я знаю о шаблоне MVP (никогда не использовался), но мне нужно решить, какой вариант шаблона MVP мне следует использовать и который соответствует следующим критериям.
- Я должен быть в состоянии интегрировать / использовать компоненты SmartGWT без проблем с платформой MVP.
- Было бы замечательно, если бы фреймворк предоставил мне гибкость для поддержки отображения пользовательского интерфейса на мобильных устройствах или устройствах 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 явно не решает (все еще ждет услышать об этом:).
Он не очень хорошо играет вместе, на самом деле большинство библиотек виджетов терпят неудачу в этой области. Это не невозможно, но пока нет.
Да, SmartGWT - это библиотека компонентов, вы будете использовать их виджеты, как и те, которые поставляются с GWT.
Это может работать, но не ожидайте, что это будет так же, как на рабочем столе (у меня были некоторые проблемы с прокруткой, но это могло быть моей ошибкой, мы больше не используем smartGWT)
Что касается взаимодействия, да, это правильно, они не очень хорошо смешиваются, но в некоторых случаях это может работать. Лучше не смешивать. По крайней мере, таков был мой опыт работы с SmartGWT 2.2.