Портирование приложения .NET 3.5 на портативное устройство
Вопрос
Я написал серверное/клиентское приложение с использованием сокетов на C# для .NET 3.5.Меня интересует портирование клиентской части на какое-нибудь мобильное устройство и я обдумываю лучший способ.Клиент на самом деле представляет собой базовую библиотеку, а графический интерфейс во многом зависит от возможностей сенсорного интерфейса.
Насколько я понимаю, у меня есть несколько вариантов:
- Просто возьмите EEE-ПК и запустите его, это своего рода портативный компьютер, но я теряю сенсорную часть.
- Пересоберите библиотеку для мобильных платформ и создайте новое, уменьшенное приложение с графическим интерфейсом.
- Запустите веб-сервер и создайте какой-нибудь веб-интерфейс для работы на iPhone, а что нет.
Какой маршрут будет лучшим?С какими проблемами я могу столкнуться в своих альтернативах, описанных выше?Я бы предпочел альтернативу 1 или 2 альтернативе 3 из-за того, как в настоящее время устроен сервер, и из-за того, что я ничего не знаю о веб-серверах или ASP.NET.Да, и я бы хотел остаться в той среде, в которой я уже нахожусь, то есть .NET, поэтому никаких предложений по Ruby on Rails, пожалуйста.(Я не говорю, что Ruby плох или что-то в этом роде, я просто этого не знаю и у меня нет времени учиться).
Решение
Тогда я бы выбрал вариант 2.Вам не понадобится слишком много времени (надеюсь), чтобы перенести библиотеки на Compact Framework, и если вы имеете дело только с сокетами и т. д., то я уверен, что CF справится с этим нормально.
РЕДАКТИРОВАТЬ: Единственные проблемы, которые могут возникнуть при использовании варианта 2, — это использование каких-либо функций .Net, которых нет в CF.В этом случае вы обычно сможете найти его в OpenNETCF.
Вам нужно будет создать новый графический интерфейс, но при условии, что вы хорошо закодировали свои библиотеки, это должен быть просто случай назначения методов/событий, где это применимо, на вашем устройстве.
Хотя я бы сказал, что вариант 3 - лучший вариант - он значительно расширяет вашу клиентскую базу, особенно с учетом растущего числа пользователей WM и iPhone.
Другие советы
Я бы остановил свой выбор на Варианте 2.
Большинство членов Класс Ткпклиент класс в пространстве имен System.Net.Sockets реализованы в .Net Compact Framework.
Мне было бы интересно понять, каковы ваши требования при выборе мобильного устройства.Между смартфоном Windows Mobile и компьютером EEE существует множество различий.
Никлас,
Прежде чем принять решение о том, какой стек технологий будет использоваться в клиенте для мобильных устройств, вам необходимо выяснить, какие мобильные устройства будут доступны, это, как правило, определяет технологию за вас.
iPhone - Objective C Blackberry - Java Nokia - C/Java Windows - .net cf
В противном случае можно ли было бы превратить клиента в мобильный веб-сайт, который затем связывался бы с сервером через ваш TCP-сокет?Таким образом, вам не нужно беспокоиться о технологиях мобильного телефона.