Повторное использование C # -Проект на iPad - PullRequest
10 голосов
/ 17 января 2012

Я пытаюсь портировать существующий C # -WPF-Project в качестве iPad-приложения.

Насколько я понял, лучший способ - использовать MonoTouch и использовать как можно больше C # -Logic.

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

Если есть какие-либо хорошие альтернативы MonoTouch, я был бы также признателен за советы:)

ОБНОВЛЕНИЕ: Ваши комментарии были полезны,но не на 100% то, что я искал. MonoCross выглядит красиво, но, насколько я понимаю, он просто «скрывает» специфичную для iOS часть.Что бы мне действительно понравилось, так это способ повторно использовать рукописные «специальные» элементы управления WPF.(Или, по крайней мере, минимизируйте работу / время для их передачи.) Это было бы здорово.

ОБНОВЛЕНИЕ 2: Может быть, я должен добавить, что я бы также принял некоторые "сложные" тришаг техники.Например, есть ли способ перевести XAML-WPF-файлы в HTML5 (или что-то такое же мощное), а затем использовать Titanium или PhoneGap ?Языки и фреймворки не должны быть большой проблемой, я просто пытаюсь найти способ использовать как можно больше:)

1 Ответ

3 голосов
/ 17 января 2012

Пожалуйста, посмотрите этот предыдущий вопрос , который связан и может представлять интерес при создании кроссплатформенных приложений для iOS, Android и WP7.

В ответ на ваш вопрос нет возможности повторно использовать WPF Guis на iPad, IPhone, Android. Только Windows Phone поддерживает представления Silverlight. Чтобы обойти это, вы должны использовать архитектуру контроллера Model View (как iOS, Android не будет поддерживать привязку данных через MVVM) на всех трех и создавать отдельные представления для каждой архитектуры.

Хотя это может показаться трудоемким, имейте в виду, что если вы правильно структурируете свое приложение так, чтобы ключевая бизнес-логика и логика представления находились внутри уровней контроллера (или служб), то вы можете повторно использовать большую часть своего кода. Это то же ограничение, что и при создании кроссплатформенного кода для двойного развертывания в Silverlight и WPF в Windows. Файлы Xaml часто должны быть специфичными для каждой платформы, однако часто можно использовать общие элементы управления * .cs и логику представления / модели кода.


ОБНОВЛЕНИЕ: После вашего обновления (2) в вопросе.

Да, вы можете использовать сторонний сервер для перевода XAML-WPF-файлов в HTML5 - ComponentArt Dashboard Server . Это претендует на перевод приложений WPF / Silverlight, написанных с использованием строгого MVVM, в HTML5 / JS для переносимости между несколькими устройствами. Я не могу ручаться за то, насколько это эффективно, и я знаю, что это дорого, однако, если вы серьезно застряли и хотите портировать WPF -> HTML5, тогда стоит изучить это.

С уважением,

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...