All IMO (In My Opinion) of course:

[damnit, I replied, not reply-all - sorry Anders for the double-up!]

> My current situation is that we have a full  C# winforms application that
> has a pretty big Business Logic Layer and service interface with a
> webserver. I need to port this application to iPad as well.

So this is a large, "new" iOS app? Have you done any iOS stuff before?

> Since I have this large codebase in c# MT seemed an obvious choice. I would
> just need to create a new data and view layer. But, being unsure if MT will
> ever make it to IOS5, and unsure if current MT will be able to build to IOS5
> (though some forum posts seems to indicate that it might will) I am not sure
> MT would be the right way.

You have a point there. Except if you pick MT, you can (so we are
told, and I don't see why not) move to .NET for iPhone (ie
XamarinTouch) with a recompile.

So you choices are really Objective-C or .NET. MonoTouch is now
effectively unsupported from Novell/Attachmate, so might as well be
dead (tho they are still selling it, and if you buy it I'm told you
CAN get a license). .NET for iPhone is "coming", but not released yet,
tho once it is, I expect the usual fanatical level of support and
product quality that Novell (ie, Miguel, Joseph, Geoff and all the
others) gave for MT. Same people. Same attitude.

> I probably need a prototype somewhere around september – so just wating for
> Xamarin doesn’t seem valid either. Though development first will start in a
> month or so.
>

OK, it's July now (almost), and I assume you've not started yet? If
you have _no_ iOS experience, then you are also going to be learning
the frameworks, which is not a trivial thing. A basic prototype by
september - the end of september - might be reasonable...

Oh, and depending on what you app does, consider using
MonoTouch.Dialog - if you have lists (lots of lists), then you'll save
literally WEEKS using it, rather than using the stock UITableView
stuff.

> Is it possible to take a C#/.Net dll, use MT 2.4.2 to compile this to an
> Objective-C library that is then usable from an Xcode/Objective-C app?

Yes, from what I know you can do this, however I can't find an example
of it, so maybe I imagined it :(

But why would you want to? You are then dependant on MonoTouch
_anyway_, so you might as well do the rest of the app in it, as you
are then working in a language and framework you know.

> That way I might get best of both worlds as the state is right now. I will
> be able to reuse my c# logic, but not be dependent on MonoTouch or Xamarin
> to support IOS5 before my deadline.

I suggest you do the following:

1. If you must, do a spike[1] and see if you can call C# from obj-c.
If you can, and you really want to do this, do it. I dont recommend
it, personally. Objective-C is a "nicer" language than it used to be,
but it's not (IMO) as nice as c#, especially if are already familiar
with C#!

[1]: http://blog.agilebuddy.com/2009/11/what-is-a-spike-in-scrum.html

2. Get the MonoTouch 4.0.3 (latest) trial [
http://monotouch.net/DownloadTrial ] and the current iOS SDK (4.x, NOT
5.x). Start writing your app in the simulator. You will loose nothing
by doing this, as the simulator is fine for everything except the
final push to get the app "finished", and .NET for iPhone is designed
to be 100% (or very very close) source-compatible with MonoTouch.

3. Read up on the iOS5 API changes you might need, and either do the
bindings yourself, or just "learn" then (maybe write some obj-c code
if you need to, so you know how to use the api's)

4. If you get to the point where you want to put your app on a device,
email me or ask on the list. I'll happily take you code and the UDID
of your iPad(s), compile it up for you, and send you over the compiled
application. Not ideal, but it would get it on the device (obviously,
all of it would be under NDA). If I can work out how to do it in a
sane manner, I may even open up my Mac Mini to SSH, so you can log in,
pull the code down, compile and take the .app yourself. Since I got an
AppleTV, my Mac Mini (which used to be my media center) is feeling a
little lonely.

5. Buy .NET for iPhone (from Xamarin) when they release it. and get on
the betas. As Miguel pointed out yesterday [
http://tirania.org/blog/archive/2011/Jun-28.html ], they are making
excellent progress on it, so having it _released_ by the end of
summer, which is officially the end of August, sounds doable. It's
already compiling complex apps (Tweetstation is not a trivial app), so
it's well down the path.

"There is still a lot of polish left to do. We are working as hard as
we can to have Preview releases in your hands, but we feel confident
that we will have a great product for sale by the end of the summer.
We hope you will all max out your credit cards buying it."

Either way, based on what he's said, I'd expect a beta / preview by
the end of July for release in September. (That said, I don't work for
Xamarin, not do I know anything outside of what's been said publicly,
but I have been working with their product - and by extension, them -
for 12 months, and they have been fantastic) As .NET for iPhone is
targeting iOS5 from the start, they might have to wait until iOS 5 is
RTM before they can actually start selling it (NDA and all that), but
from what'd been said in public, I don't have any doubt they will be
on track with it.




Hope that makes some sense.

N
_______________________________________________
MonoTouch mailing list
[email protected]
http://lists.ximian.com/mailman/listinfo/monotouch

Reply via email to