2012-06-13 4 views
2

У меня есть клиент, который хочет приложение для своих поездок, где он может обновить онлайн-БД, он не хочет покупать ноутбук, ему нужен планшет или что-то подобное. У меня нет знаний или желания создавать специальные приложения для мобильных устройств, я хочу создать winform, как и всегда, когда он был нацелен на ПК. Планшетные ПК (что из того, что я понял, просто обычный компьютер?) По-прежнему очень дороги в моей стране.Приложение Winform для планшетов?

Есть ли простая настройка, чтобы приложение winform запускалось на планшете с Android, или мне нужно создать для него специальное приложение? Любое другое решение? (Я начал писать для него веб-страницу, но гораздо проще использовать winforms)

+2

Идеальное решение здесь, если вы могли бы кодировать пользовательский интерфейс как веб-приложение: PHP, JSP, ASP.Net - * anything *, которые можно запускать в веб-браузере. Если вы можете это сделать - проблема решена! – paulsm4

+0

Чтобы лучше ответить на это, было бы хорошо знать целевое устройство. Но общее безопасное предположение заключается в том, что WinForms не будет поддерживаться ни на чем другом, кроме планшета x86 для Windows 7 или 8. если приложение может быть создано в веб-стеке, все, что угодно с браузером, может использовать его независимо от платформы. –

+0

В принципе, если вы хотите Windows 7/Tablet ..., то вы узнаете WPF и XAML. Лучший пользовательский интерфейс для планшета Windows 7 ... - это код веб-приложения на стороне сервера, который можно запустить в браузере. Еще лучше, * такое же * приложение * автоматически * переносится на * любой * планшет, поддерживающий веб-браузер: WP7, Android и/или iPad. IMHO ... – paulsm4

ответ

1

Приложения Native WinForms не будут запускаться непосредственно на Android (или на любой платформе, отличной от Windows). Вы можете начать с поиска в MonoDroid для переноса .NET-кода Android (и Mono в целом для переноса .NET-кода на платформы, отличные от Windows).

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

Является ли планшет Windows вариантом? Используя различные новые технологии в Microsoft (Windows 8, Metro UI и т. Д.), Вы можете создать приложение, нацеленное на несколько платформ на базе Microsoft. Это может легко удовлетворить требование «планшета» (если это не более конкретно «планшет Android»). Однако это не будет старый стиль приложений WinForms.

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

+1

Если это Windows 7 или x86 Windows 8, то все старые приложения будут работать вне метро. Но поддержка пользовательского интерфейса будет мусором для сенсорного экрана, лучше всего переделать приложение в Metro. –

+1

@AdamHouldsworth: Действительно, лучшей рекомендацией здесь является повторная работа приложения для технологических потребностей. Сжатие с WinForms в попытке не переделать существующую работу, в конечном итоге будет стоить больше и меньше производить в долгосрочной перспективе. – David

+0

Я полностью согласен, но многие старые приложения WinForms будут по-прежнему технически работать с учетом правильного вкуса ОС, просто не будет весело использовать LOL –

1

Забудьте о конверсии. Я был в аналогичной позиции лет назад, и я сделал что-то более быстрое и я думаю умнее. просто создайте winform с красивыми большими элементами управления, заботясь о якорях привязки док-станции и т. Д., Чтобы он выглядел красиво и может использоваться с маленькими интеллектуальными устройствами.

Убедитесь, что вы передали некоторые параметры начальной программы в своем приложении и когда передан специальный параметр вместо того, чтобы открыть основную обычную рабочую форму вашего приложения, открытую для нового в полноэкранном режиме.

Теперь хитроумные детали находятся в другом месте. Я установил крошечный сервер Windows 2008 r2, который позволяет запускать удаленные приложения.

Создайте учетную запись пользователя, в которой вы разрешите доступ к этому серверу, и только ваше приложение с определенным параметром, о котором мы говорили. (Ex myapp.exe -remote)

Какое бы устройство он ни получил, вы можете скачать бесплатное приложение, например, 2x rdp или microsoft rdp в Android. Создайте новое соединение с вашим сервером (вы можете использовать любые бесплатные ddns, которые вам нравятся, если у вас нет статического ip) и подключаться к той учетной записи Windows Server, которую вы делали раньше.

Этот счет, если был правильно setuped будет только запустить приложение и только покажет, что новый мини WinForm вы сделали ..

Конечный пользователь будет делать simle щелчок и от его подключения к Интернету будет делать простой пульт рабочий стол, который прикреплен только к вашему приложению.(Конфигурация маршрутизатора требуется один раз)

Таким образом, вы сохраните только один исходный код, и он будет иметь низкую стоимость полосы пропускания и может продолжить свою работу без потери данных в случае разъединения.

Я использую это в течение многих лет в мобильных планшетах и ​​pos системах. Его быстро стабильная его безопасность ее легко поддерживать (ничего на стороне клиента), и вы не тратите месяцы обучения wpf или преобразования xamarin.