>Hi,
>I have a desktop application with a local mysql / sqlite database, written
>in C#, and using WinForms on Windows platform.
>I'd like to port it to the OSX and the iPhone platform.
>
>1) For the OSX part, I guess I need to do the following:
>
>a) complile with mono, and try to run it with mono's winforms implementation
>b) rewrite the winforms part to use gtk#, to have a native look
>c) drop the GUI, rebuild it the OSX way, and create a bridge with ObjC# to
>use the underlying, original C# classes.
>
>2) I too would like to use it on the *official* iPhone platform, so I guess
>the best option would be variant c).
>
>a) I heard about the games using mono, to develop apps in the Unity way (
>http://unity3d.com/unity/features/iphone-publishing).
>b) Is there any other method to include the ObjC# wrapper and mono to an
>iPhone project?
>
>Which way would be the most straightforward?
>
>thank you,
>
>Balint

For OS X any of these may well be a viable migration path. Personally, I've found that the c# apps I have written on a windows platform (at least these days) run pretty well unaltered under mono. Of course they don't have the Aqua look and feel but this is OK for my purposes.

However, for the iPhone, don't bother even thinking about it. The user interface is really totally different, the space available is tiny in comparison to even a small laptop screen, many of the controls look totally different (e.g. the pop-up or combo-boxes are replaced with the picker control that takes up the entire width of the iPhone screen - you probably need to use it as a modal control the way the Safari browser does on the iPhone) and the whole philosophy of the GUI is different.

The successful iPhone apps need to be ones with a limited (but self- contained) purpose, with easy navigation between a couple of screens, each of which does one thing. You need a complete re-think about what the app does, how it can be presented and how the user navigates through it. It is really a different philosophical approach.

All of this presupposes that you can get the mono runtime onto the iPhone at the technical level (no idea if this is possible/being done). However the biggest problem with this approach, especially if you want others to use your app, is that the agreement with Apple to put an app into the App Store states that no interpreter other than the Apple provided JVM is permitted. While there is some debate about what this really means and how far it goes (and Apple is the sole decider of these things) I would check with Apple about whether a C# app would be allowed (the JIT compiler could be considered an interpreter) before you spend the time.

Seriously, if you want to develop for the iPhone platform, take your existing algorithms etc and use them to create an app from scratch written in Objective-C.

Susan (who uses both platforms)

_______________________________________________
Mono-list maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-list

Reply via email to