Повторное использование С# -Project на iPad

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

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

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

Если есть хорошие альтернативы MonoTouch, я тоже был бы очень благодарен за советы:)

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

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

Ответ 1

См. этот предыдущий вопрос, который связан и может представлять интерес для создания кросс-платформенных приложений для 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, то стоит изучить это.

С уважением,