Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Locked thread
Bognar
Aug 4, 2011

I am the queen of France
Hot Rope Guy
Quoting my post from the .NET thread: http://forums.somethingawful.com/showthread.php?threadid=3644791&pagenumber=32&perpage=40#post437668606

Bognar posted:

I've been working with Xamarin + MvvmCross on a decent sized learning-based iPad application for the past 6 months or so. Ultimately, the tooling could be better, but the cross-compilation works exactly as expected.

Developing for iOS necessarily requires some kind of machine running OS X with Xcode. You can develop in Xamarin Studio on the a Mac, or you can set up a Mac with a build server and develop in Visual Studio with a plugin that manages remote compilation and remote debugging (what we did). This piece used to be really buggy and I'd have to reset it every day, sometimes more than that, but it has really improved in the last few months. Every now and then Apple will release an update to Xcode or Xamarin will release an update to the runtime and various things will break - though it's usually fixed within a day.

I haven't really seen any issues with performance. I'm not making 3D games or anything, but I am doing a lot of data manipulation through LINQ which theoretically will create a lot of garbage and cause GC pauses - but really I haven't seen any problems. AFAIK, Xamarin compiles directly to ARM for iOS with capability of calling to iOS APIs, and it compiles to IL for Android which is then JITted. Really, you should be getting as close to native performance as it gets.

The documentation is pretty good, though you can tell a great portion of it was written for iOS 6. I don't have much insight into the Android docs. So a lot of the documentation doesn't reflect the API updates from Apple, but also a lot of the basic stuff hasn't changed so you can still get a lot of useful information.

Overall I've been really happy with Xamarin and would recommend it to anyone looking to do cross platform in C#. Some people consider the price too high, but I would pay it 3 times over to write in C# instead of Objective-C. Now that Swift is out, maybe that's different, but potentially being able to cross compile to Android and reuse all of our business logic code should still be super useful.


Regarding problems with Reflection, I use a little bit in my app and I haven't had any issues. Granted, the PCL profile I'm using has the pared down Reflection API, so it might be easier to implement/have fewer bugs.

Adbot
ADBOT LOVES YOU

Bognar
Aug 4, 2011

I am the queen of France
Hot Rope Guy
I'm still using Xamarin with MvvmCross at work and so far it's still working out great. There was some weirdness when I switched over to 64-bit iOS, but that's all cleared up now.

I've played around with Xamarin.Forms, but honestly I don't think you'll ever get around writing the UI for each device. There's just too much little stuff that can be different between the platforms, and even between devices on the same platform. And, inevitably, you'll want to make some per-device tweaks that you just aren't able to do with Forms because the abstraction level is too high.

If you just use Xamarin as a cross compilation tool for C# that interacts with native UI libraries, it works great.

Bognar
Aug 4, 2011

I am the queen of France
Hot Rope Guy
You'll have to change the project type to target one of the supported PCL profiles. Xamarin won't work with just a regular class library. While doing that, you could also pick a new target .NET framework.

Bognar
Aug 4, 2011

I am the queen of France
Hot Rope Guy
If you're doing MvvmCross, look at the N+1 set of tutorials. They're a good introduction not only to MvvmCross, but also to basic Xamarin applications.

http://mvvmcross.blogspot.com/
OR https://www.youtube.com/playlist?list=PLR6WI6W1JdeYSXLbm58jwAKYT7RQR31-W

(What the gently caress SA, why is it so hard to paste in a playlist link?)

Bognar
Aug 4, 2011

I am the queen of France
Hot Rope Guy

Mr Shiny Pants posted:

So it feels like Cross is more barebones compared to light, is this about right?

I don't have too much experience with MVVM Light, but my understanding is that it's the opposite. MvvmCross is quite mature at this point.

  • Locked thread