Архитектура пользовательского интерфейса Windows Mobile - PullRequest
5 голосов
/ 19 мая 2010

Мне поручено переписать мобильное клиентское приложение (Win CE, Win Mobile 6 и более поздние версии), потому что наша текущая реализация, основанная на MCSF, больше не может использоваться. Я нашел этот MVC Framework: http://blogs.msdn.com/priozersk/archive/2008/10/10/mobile-mvc-framework-part-1.aspx

Это текущая жара?

Наши потребности включают в себя:
- поддержка разных языков
- поддержка разных разрешений (QVGA, VGA, но возможно 640x200, 800x600)
- редактируемые сетки
- желательно иметь локальную базу данных на устройствах, возможно, SQL Server CE
- это должно быть быстро, поэтому инфраструктура должна идти с минимальным количеством мусора
- лучший бэкэнд по-прежнему - веб-сервис asmx? WCF, похоже, не поддерживает очень много привязок для Compact Framework из коробки.

Я бы хотел использовать подход MVC, чтобы мы могли при необходимости заменить представления. Модель данных очень обширна, и клиент должен уметь обрабатывать довольно много данных.

Любые указатели или предложения будут с благодарностью.

Приветствия

Ответы [ 2 ]

2 голосов
/ 19 мая 2010

FWIW, я использую (и написал, так что я частично) лицензированную платформу OpenNETCF.IoC из общего домена специально для использования на интеллектуальных устройствах. Вообще говоря, он следует объектной модели CAB / SCSF, поэтому, если вы знакомы с SmartParts, Workspaces и т. Д., То переходить в него не стоит.

Что касается вашего списка белья:

  • Поддержка разных языков : Ни один фреймворк на самом деле не предоставляет этого, но и не предотвращает и не препятствует этому. У нас есть свободная структура, которую мы используем внутри, но на самом деле это не то, что может быть упаковано и распространено, поскольку это скорее методология.
  • Разные разрешения : Опять же, никаких фреймворков, о которых я знаю, не делают. Есть разные стили для обработки этого тоже. Я предпочитаю отдельные представления пользовательского интерфейса для каждого разрешения, особенно для портрета v. Пейзаж. Стыковка и якорная стоянка могут привести вас только к такому результату, но они могут получить вас, скажем, от 320х240 до 640х480.
  • редактируемые сетки : Опять-таки, проблема не в фреймворке, а в контроле. Есть несколько коммерческих сетей, на которые вы можете посмотреть (например, Resco)
  • локальная база данных : Мы почти всегда используем SQLCE. Анализатор запросов имеет тенденцию быть медленным, но когда вам нужна скорость, это то, что TableDirect и индексы для
  • должен быть быстрым : определить «быстрый». Эти устройства по своей сути медленные. Платформа IoC делает большую работу за вас, кэшируя вещи. Это так быстро, как я мог сделать это, учитывая все, что он делает (и я всегда думаю о перфом).
  • лучший бэкэнд : когда сервис ASMX определил «лучший» бэкэнд? Здесь нет правильного ответа. Если ASMX работал хорошо для вас раньше, то, вероятно, снова будет. WCF отлично подходит для некоторых вещей. Лазурь отлично подходит для других. Это действительно зависит от ваших требований и топологии.

Смотрите также:

0 голосов
/ 19 мая 2010

Имейте в виду, что Windows Phone 7 в любом случае потребует новой реализации на основе Silverlight Mobile (или XNA, если хотите). Таким образом, вы можете захотеть взглянуть на шаблон MVVM и убедиться в том, что бизнес-логика отделена от уровней представления - System.Windows.Forms фактически был взорван для разработки мобильных приложений со следующей версии.

Кроме того, Windows Phone 7 не будет содержать никаких функций структурированного хранилища данных (SQL CE) или поставщиков данных LINQ - вам придется «сделать это самостоятельно».

...