Использование только частей релиза сообщества мобильных блоков приложений для разработки WM 6.x - PullRequest
2 голосов
/ 21 марта 2011

Я нахожусь в процессе планирования архитектуры для распределенной системы бизнес-сферы, где в различных сценариях использования должно поддерживаться множество различных устройств разных типов.

Помимо прочего, мне потребуется поддержка

  • КПК на базе Windows Mobile 6.x
  • Рабочие станции ПК

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

  • удаленные обновления
  • сценарий для большинства отключенных клиентов для КПК (и, необязательно, для ПК)

Во время исследования дляПравильную эталонную архитектуру я наткнулся на расширение сообщества мобильных блоков *1020* и Mobile Contribute для этой версии.Что меня заинтересовало, так это:

  • Отключенный агент и монитор подключений для поддержки сценария с большинством отключенных клиентов
  • Блок приложения мобильного обновления для поддержки обновлений

Мне также известно о SCSF аналоге для настольной платформы.

Теперь, вот мои вопросы

  1. В вашемопыт, расширение MCSF до VS2008 / WM6.x / .NET CF 3.5 зрелое и достаточно стабильное для производственного использования?Я не хочу быть жертвой осознания того, что оно не совсем подходит для использования в бизнесе, пока я нахожусь в середине проекта.
  2. Поскольку приложение будет очень простым, я делаюне хочу усложнять его с помощью шаблона MVP и других дополнений, связанных с CAB.Мне просто нужно поддержать сценарии, описанные выше.Можно ли будет использовать компоненты MCSF Community Release без необходимости разрабатывать все приложение в манере MCSF (с командами, внедрением зависимостей, MVP и т. Д.)?Я думаю, я хочу, чтобы все было просто для простого приложения.
  3. То же самое для приложения для настольного ПК.Я также думаю, что переход к полной CAB / SCSF был бы здесь большим перебором, поскольку это действительно очень простой набор функций, которые нужно реализовать, но я бы хотел сократить время разработки, используя средство обновления и, возможно, отключенное соединение.клиентские блоки.Просто без сложной части пользовательского интерфейса (я создам простые WinForms для пользовательского интерфейса).Возможно ли это?

Я также изучаю возможность совместного использования некоторого кода, связанного с отключенными клиентами / удаленными обновлениями, между ПК и КПК, но я не думаю, что это было бы возможно сMCSF / SCSF.

Буду признателен за совет от кого-то, кто прошел этот путь до меня:)

1 Ответ

1 голос
/ 21 марта 2011
  1. MCSF абсолютно ужасен.Похоже, что кто-то в Microsoft просто сказал разработчику с небольшим опытом взять SCSF и «заставить его работать» на Compact Framework.Это было переведено как «если он компилируется, тогда все в порядке», потому что это все, что, по-видимому, произошло.

    Это работает?Конечно, но святая медлительность, Бэтмен!Это совершенно непригодно для любого реального сценария.Достаточно плохо, что Я написал замену с нуля , которая поддерживает (в основном) совместимость интерфейса и включает в себя только минимальный набор функций.

  2. Я нашелчто если приложение содержит 2 или более просмотров, то стоит использовать шаблон MVP.В какой-то момент вам нужно добавить другое представление, и вы уже создали его.Кроме того, помещение ваших объектов в инфраструктуру DI / IoC часто обеспечивает такие вещи, как агрегация событий, что я нахожу ужасно полезным даже в приложениях без монитора, поэтому даже без каких-либо ошибок MVP я в конечном итоге использую его.

  3. Рабочий стол ничем не отличается в моей книге.Созданная мной библиотека IoC поддерживает как CF, так и FFx одинаково (а также MonoTouch и Phone 7), так как я делюсь большим количеством совместного использования кода на разных платформах.Редко я создаю настольный проект, где я его не использую.

Теперь я не говорю, что вы должны использовать мой проект IoC.Я нахожу это полезным для всех проблем, с которыми я сталкиваюсь, и я знаю это достаточно хорошо, чтобы, когда я сталкиваюсь с отсутствующей областью функциональности, я мог быстро добавить ее (хотя я не нашел много недостатков за месяцы).Если вам удобно или вы предпочитаете другую платформу DI / IoC, тогда отлично, используйте это.Я говорю: а) убегать от всего, что связано с MCSF, и б) использовать DI / IoC-фреймворк, даже если вы думаете, что приложение слишком простое, потому что нет такого понятия, как приложение реального мира.это слишком просто, чтобы извлечь из этого выгоду.

...