5 ms·
Forgive my ignorance. Which application lets you write native iOS apps in C#? Thanks.
by acak 14y ago
Forgive my ignorance. Which application lets you write native iOS apps in C#? Thanks.
- d503 14y agoMonoTouch http://xamarin.com/monotouch http://xamarin.com/monotouch
- untog 14y agoThe guys who made this blog post make some software called MonoTouch. http://xamarin.com/ http://xamarin.com/ It costs $400 for a license, though. But boy I am tempted... I know, I know- you need to go with the native languages for the best experience. But keeping a huge chunk of my codebase between platforms is a very, very interesting idea to me.
- stouset 14y agoA very interesting idea to you, but one your users couldn't care less about. Never forget about the users.
- untog 14y agoIt would be an interesting idea to them if they have an Android phone and I wouldn't have the time to code for two platforms otherwise. I get that there is a tradeoff involved, but the Mono-x products are in an interesting space. They aren't webviews (like PhoneGap), they aren't a weird JS hybrid (like Titanium)- they're full native experiences. You'll get some newly released features later (I imagine), but the user experience really shouldn't be affected that much.
- cageface 14y agoThe Mono guys have been very quick to support new iOS features so far.
- josephcooney 14y agoHow is this bad for 'the users'?
- Fizzer 14y agoyou need to go with the native languages for the best experience. With MonoTouch, you still write against the native iOS UI. Therefore, from the user's perspective, your app is native. Since the UI is the same, the only thing that could be different between an ObjC and MonoTouch app is performance. In my experience there's no noticeable performance hit with MonoTouch except for app startup time (my MonoTouch app takes about 2 seconds to startup on a 3gs)
- jbrechtel 14y ago"I know, I know- you need to go with the native languages for the best experience." What about doing this improves the experience?
- bratsche 14y agoMonoTouch does give you a native experience. It's basically a C# binding for native APIs. It also has a few nice extras like MonoTouch.Dialog which provides a much nicer API for doing iPhone dialogs than using UITableView (although you can definitely use the UITableView API directly if you prefer).
- cageface 14y agoThe thing holding me back is Monodevelop. It's even worse than Xcode.
- ConstantineXVI 14y agoKind of surprised we haven't seen JetBrains step up with a Mono IDE yet. They've already got the IDEA platform and ReSharper, combining the two seems a logical next step.
- henrikschroder 14y agoInteresting! Going from VS 2005 to 2008 to 2010, Resharper has gone from must-have to nice to not needed anymore for me, since most of the features I relied on have been implemented natively in VS. But MonoDevelop could sure use a lot of love...
- mdaniel 14y agoI would bet they are bumping up against a developer bandwidth issue. Don't forget, they have about 6 commercial products, plus their own language now (and IDE, natch). The good news is that the community edition of IJ is Open Source (Apache licensed, IIRC) and there are quite a few existing language editors built on top of it. It isn't a rich client platform à la Eclipse or NetBeans, but I doubt such a thing would be required to win the affections of those who are unhappy using MonoDevelop.
- fuzzythinker 14y agoI'll be great if they support F#, but seems like not, 0 answers from googling, except for this request: https://xamarin.uservoice.com/forums/144858-xamarin-suggestions/suggestions/2699180-extend-monodroid-and-monotouch-to-support-f- https://xamarin.uservoice.com/forums/144858-xamarin-suggesti...
- migueldeicaza 14y agoF# on Android is doable, and on our list of things to do. iOS is more challenging, since F# depends on some dynamic-ish features of .NET that are not currently supported by MonoTouch on iOS.
- MichaelGG 14y agoI'm curious what F# features are you referring to? The generic hash/compare type functions?
- malkia 14y agoJust guessing here, but code generation is not allowed on iOS.
- alexrp 14y agoRight, which means we can't handle generic virtual methods, since we cannot JIT compile them. See: http://docs.xamarin.com/ios/about/limitations#Generic_Virtual_Methods http://docs.xamarin.com/ios/about/limitations#Generic_Virtua...
- philjohn 14y agoMonoTouch
- bryanl 14y agoPeople have responded with MonoTouch, but there is also Unity3d http://www.unity3d.com http://www.unity3d.com. You can author games for quite a few platforms with it.
- moonchrome 14y agoUses same VM - Mono, but has no bindings to native API's like monotouch/droid have
- sambeau 14y agoUnity http://unity3d.com/unity/pro/#extend http://unity3d.com/unity/pro/#extend