Разработка приложения winforms для планшетного ПК и WindowMobile - PullRequest
2 голосов
/ 20 мая 2009

Я разрабатываю приложение для планшетного ПК на базе Windows. Это приложение в значительной степени является портом приложения, которое я уже разработал на устройстве Windows Mobile с использованием .NET CF. Я хочу написать приложение с нуля, используя все знания, полученные в разработке программного обеспечения.

Я также хотел бы написать это новое приложение таким образом, чтобы при желании я мог изменить свое существующее приложение Windows Mobile для использования новых библиотек. В идеале у меня будет общий набор библиотек бизнес-логики и доступа к данным, единственное реальное отличие - это уровень пользовательского интерфейса - WPF для версии планшета и просто стандартный интерфейс CF для приложения Windows Mobile.

Принимая это во внимание, мне нужно убедиться, что все созданные мной проекты совместимы с .NET Compact Framework. Есть ли простой способ обеспечить это? У меня была мысль использовать проект Smart Device Project для каждой библиотеки классов, которую я создаю.

Помимо этого, мне легко ссылаться на эти библиотеки, написанные для приложения .NET CF из стандартного приложения Windows?

Является ли разработка приложения для планшетного ПК такой же, как разработка любого обычного приложения для Windows Forms? Есть ли другая версия .NET Framework, которую нужно принимать во внимание, или планшеты в значительной степени стандартные Windows?

Ответы [ 2 ]

4 голосов
/ 20 мая 2009

Специальной версии .NET Framework для планшетных ПК не существует. Вопрос о совместном использовании кода между Windows Mobile и Windows был задан до , и принятый ответ превосходен.

1 голос
/ 20 мая 2009

Планшеты, которые я видел, работают под управлением стандартной Windows с «полной» .NET, но я ожидаю, что вы также можете получить некоторые более легкие устройства. Одной из интересных возможностей может быть «клиентский профиль» (подмножество обычных «полных» .NET-библиотек), но я сам не видел такого большого применения.

CF и обычный .NET имеют много общего, но в конечном итоге есть различия; ни один не является строгим подмножеством другого. Я обнаружил, что, как правило, единственный способ написать код для 2-х фреймворков - это сохранить оба активных ... для protobuf-net (у которого есть эта проблема) Я сохраняю файл проекта для каждого фреймворка, чтобы я мог быстро проверить, что сборка работает везде (т.е. нет отсутствующих методов и т. д.).

Возможно, вам понадобится использовать блоки #if для запуска немного отличающегося кода на двух платформах, особенно если вы хотите использовать «полные» функции .NET по соображениям производительности (которых нет в версии CF) , Один из способов сделать это проще - взломать файлы proj для использования рекурсивного включения файлов:

<Compile Include="**\*.cs" />

Теперь вам не нужно постоянно добавлять новые файлы в оба проекта - он будет выбран автоматически (предостережение: в IDE может потребоваться выгрузить / перезагрузить проект).

...