I have written a server/client application using sockets in C# for .NET 3.5. I’m interested in porting the client part to some kind of mobile device and am pondering the best way. The client is actually an underlying library and a GUI depending heavily on touch interface capabilities.
As I see it I have a few options:
- Just get an EEE PC and run it on, that’s kind of portable but I loose the touch part
- Rebuild the library for mobile platforms and make a new, reduced, GUI app
- Start a web server and make some kind of web interface to run on iPhones and what not
What would be the best route? What problems can I run into in my alternatives above? I’d really prefer alternative 1 or 2 over 3 because of how the server is currently done and the fact that I know nothing about webservers or ASP.NET. Oh and I’d like to stay with the environment I’m alredy in, that is .NET, so no Ruby on Rails suggestions please. (Not saying Ruby is bad or anything, I just don’t know it and don’t have the time to learn).
I’d go for option 2 then. It wont take you too long (hopefully) to port the libraries over to the Compact Framework, and providing it’s just sockets, etc, you’re dealing with then I’m sure the CF will handle it fine.
EDIT: The only problems you’ll have with option 2 is if you use any .Net functions that are not in the CF. If that is the case, you’ll usually be able to find it within OpenNETCF.
You will need to create a new GUI, but providing you’ve coded your libraries well, it should just be a case of assigning methods/events where applicable on your device.
I’d say though that option 3 is the best option – it expands your customer base dramatically, especially with the growing number of WM and iPhone users.