8 ms·
Mono for Android released with Visual Studio 2010 integration
- ericHosick 16y agoI develop on a Mac using Mono and MonoDevelop. I just want to say I greatly appreciate all of the work that has gone into Mono and MonoDevelop. Thank you. :-)
- jasongullickson 16y agoOut of curiosity, can you use MonoDevelop as a direct alternative to Visual Studio?
- Jarred 16y agoTo my knowledge it's primary use is for people using platforms other than Windows for Mono/.NET development. If you don't have the Mono runtime installed on Windows and you have MonoDevelop installed it will by default compile with the C# .NET compiler. Banshee (Ubuntu's default media player) is most likely coded using MonoDevelop, as it uses C# with GTK# I've used MonoDevelop, and it's okay, but Visual Studio is way more convenient to code in. They need to focus on making nicer development tools though, especially with UI Design. Expression Blend/Web and Visual Studio are still the best way to go with designing any user interface (in my opinion)
- pmjordan 16y agoDo you use MonoMac? If so: I'm currently looking into that, but the mailing list (mono-osx) seems pretty dead, with lots of unanswered questions (including mine). Is there a better place to ask questions? I'm a little concerned about building on a platform with minimal community support.
- ericHosick 16y agoYes. I am using MonoMac and I also watch that mailing list. There are quite a few objective-c bridge solutions and I looked into most of them. MonoMac seemed to be the one that made most sense but mostly because some source code of MonoMac is shared with MonoTouch (or visa-versa). So, I think MonoMac is a stable/good choice for that reason. In the end, I was much happier with Carbon but that is another story.
- maheshs 16y agoIs there any develop on mono for android? Please share couple of example if any? It will give me confidence about developing apps through this.
- sapper2 16y agoAs a C# developer this is great news for me. Finally, I can join the mobile crowd.
- bradhe 16y agoJoin the mobile crowd? What about WP7? /sarcasm
- binarycheese 16y agoWP7 requires Windows 7 and a lot of us are still developing on XP
- bradhe 16y agoWhat really? Why? Edit: Why am I getting downvoted for this? Someone give me a legit reason as to why you'd choose a 10-year-old, nearly obsolete OS over an industry-leading one.
- victorantos 16y agowindows 7 is the best OS, devs that are using XP are not real devs
- bradhe 16y agoI wouldn't go that far but I would definitely say that if you're on XP you're being quite short-sighted.
- arrogant 16y agoI think the point here is that the developers themselves aren't generally the ones that are choosing to use XP: they're stuck on the platform that the IT department supports. Getting upgrades can be challenging, especially in a large corporate environment.
- th0ma5 16y agoThere is no open source version?
- bradhe 16y agoHmm, mono is a really curious thing to me. Maybe someone can explain this to me: Why doesn't MS commit to it? One of the tenets of .NET was that it was to be platform-agnostic a la JVM but the story seems to be that they just didn't...get around...to implementing a Linux or Mac stack for various reasons (tight coupling to Win32 and existing COM servers, maybe?). Now, Mono is reaching a state of extreme maturity. Why doesn't MS invest in this? It seems like their best way forward is dropping their single-vendor-stack mantra? Or perhaps they don't need to do so strategically yet -- once people really start demanding *nix and mac support they can "suddenly" change heart on mono?? This confuses me...but I'm not much of a strategist.
- jimmyjazz14 16y agoThey promised not to sue them, thats something I guess.
- deleted 16y ago[deleted]
- rbanffy 16y agoI always wonder how binding that promise is.
- jimmyjazz14 16y agolegally binding actually.
- rbanffy 16y agoAny restrictions in the promise? Does it cover all of Mono or just some parts? Does it cover all of .NET or just a subset? Does it impose any restrictions on what you do with the technology, what products you can build with it?
- krakensden 16y ago
- jimmyjazz14 16y agoSo is the paid version the only way to go here? Since everything else in the Mono world is mostly free and open source I was hoping for the same with the mobile versions.
- th0ma5 16y agoyes this is my question too... was a pisser for me when i wanted to try the ios mono stuff, but alas
- tedunangst 16y agoThe direct equivalent for iphone http://monotouch.net/ http://monotouch.net/ is not free either.
- hanifvirani 16y agoLooks like there is no free version and the single developer license costs about 400$. That is going to be a big hurdle to get the casual indie developers interested.
- danieldk 16y agoTrue, it would be nice if there was a non-commercial license. On the other hand, if you want to make a serious income with applications, spending $400 on a good development tool is not a huge investment (in the West).
- benologist 16y agoThere's still AIR / Flash on Android with some great tools like http://flashdevelop.org/ http://flashdevelop.org/ available you can build with, and of course JavaScript which is pretty ubiquitous amongst devs these days.
- jimmyjazz14 16y agoYeah I gotta say the pricing is pretty disappointing especially since I was kinda expecting it might be free and open source.
- markkanof 16y agoI'm not sure the casual indie developer is their target market. Microsoft has always been strong in the enterprise market, thus a tool (Mono) that allows developers to write for Android while staying in the Microsoft ecosystem will probably have huge appeal for large enterprise development groups. Those kind of users usually don't have an issue with a tool priced under say $1000. I'm certainly not saying that no indie developers use Microsoft tool, because they do. And sure, it would be great if there was a free open source version of this tool available. But I suspect there is a nice market for these tools that has deep enough pockets to pay the licensing fees.
- hanifvirani 16y agoI certainly agree with you, and I didn't imply that their target market is casual indie developers. Surely they are targeting enterprise here. But I am guessing that indie developers itself is a huge market and say if they went with a single developer license costing somewhere like 30$, they would surely be boosting sales.
- MatthewPhillips 16y agoThere are few differences between Java and C#. There are even fewer differences between this and Android (java) development. This Hello World is virtually identical to an Android hello world. http://mono-android.net/Tutorials/Hello_World http://mono-android.net/Tutorials/Hello_World
- pmjordan 16y agoThere are few differences between Java and C#. I'd say that was true in the .NET 1.1 days, but really doesn't apply anymore nowadays. The C# language's feature set has expanded much faster than Java's, which alone drives up the number of differences. There is a kind of "why would you want this" undertone to your comment - to address that: I feel there are fewer mistakes in C#'s design (generics...) than in Java's. I'd als say C# is significantly more expressive than Java at this stage. (of course, there are other languages for both runtimes)
- MatthewPhillips 16y agoJava has generics too. But I agree that C# has expanded faster (though expansion isn't necessarily good). I'm not sure that you get any of that by using this framework though. It seems to be near one-to-one translation of the java classes and methods. Sure you can do lambas, but can you use Parallel? I doubt it. LINQ to Sql? Doesn't look like it, the docs use Cursors, like in the Java Android. It's $400 to have your braces line up.
- pmjordan 16y agoJava has generics too. Yeah, unfortunately they're implemented via type erasure, unlike in C#, where they're actually part of the type system (for example, since C# 4.0 generics can be covariant and/or contravariant on the type parameters).
- InclinedPlane 16y agoYeah, Java doesn't really have generics. Java has syntactic sugar which provides a good portion of the benefit of generics. But type erasure is not the same thing as generics.
- daniel_solano 16y agoFor a free and open source effort, check out https://github.com/koush/androidmono https://github.com/koush/androidmono. I just came across this and have not used it, but it looks promising.
- koushd 16y agoHey, I'm the creator of said project. I started that 2-3 years ago, but abandoned it once I heard of Mono for Android officially being supported :)
- HardyLeung 16y agoI wish you didn't.
- jhack 16y agoThat's too bad. I really like the idea but not at $400.
- Killah911 16y agoI've got yet another .NET shop, and have been meaning to break into mobile market(beside WP7, I know). Trying to weigh the benefits of going native (i.e. learning/hiring iOS/Java) vs using something like mono & present talent. Feedback would be greatly appreciated :)
- glhaynes 16y agoMy first thought would be that going from C# to Java or ObjC shouldn't be too difficult for decent programmers - that that's maybe 20% of the needed effort, tops. The "hard part" is learning the frameworks and patterns of the new platform. Additionally, not being able to directly use/learn from sample code (from the platform vendor or free on the net) is a significant downside.
- Glide 16y agoI'll just add that lot of iOS libraries out there have instructions like "copy the files into your project" in order to use the library. It might be difficult to use those projects in mono based iOS projects.
- loire280 16y agoThis has been my experience learning to program the iPhone. A few hours reading "Objective-C Phrasebook" by David Chisnall got me enough Objective-C to be comfortable with the syntax and understand some basic patterns. It took weeks of reading and experimenting before I felt like I wasn't cargo-culting the framework parts.
- Killah911 16y agoThanks, I'll invest in the books instead :)
- deskamess 16y agoI read through the Architecture doc and it explains how they do it. However I cannot get an idea of how large the mono runtime on Android would be. Any ideas? For small apps, the runtime could be the largest part of the app since the 'callable wrappers' are just proxying calls to the app.
- ohhnoodont 16y agoIt's not small. There are actually two runtimes installed, one is 18 MB and the other is 12.25MB (over 30MB required). I've been using the monodroid developer preview for a few weeks. When I started, the runtime could only be installed to internal storage. This was one of the biggest challenges when trying to use it. Hopefully that has changed now.
- deskamess 16y agoThanks for the response. 30M - wow! Well, at least shared runtimes are possible per their release/roadmap document. Hopefully future runtimes will be backward compatible so that it can 'update over' instead of install side-by-side.
- victorantos 16y agook, I've just run my first android app. it took me about 1.5 hours to download/install everthing Emulator is really slow, it took me ages first run in Debug mode and the UI response time is bad so far http://flic.kr/p/9wsYQ8 http://flic.kr/p/9wsYQ8 so back to WP7?
- ryanhuff 16y agoIn my experience, the Android emulator is slow when coding with the standard Android tools (Java, Eclipse, etc). So I wouldn't say that a slow emulator is necessarily a result of using Mono.
- snewman 16y agoYes, the Android emulator is quite slow. I generally find it much better to test on an actual Android device. With the standard Eclipse-based tools, at least, the build + push to phone + launch cycle is fast enough to be quite usable for development. Note, running on an actual phone is still slow (though faster than the emulator) if you run from Eclipse in Debug mode, so for full performance make sure to run in non-debugging mode (use "Run", not "Debug", from Eclipse). Presumably the Mono tools have an equivalent distinction.
- intellectronica 16y agoIf you can use IronPython to build these apps this may be the first complete Python environment for Android, and that's huge.
- hiena03 16y agoThis says in limitations: "Android callable wrappers are needed any time the Android runtime needs to invoke managed code. Android callable wrappers are generated at compile time by the monodroid.exe tool, based on static analysis of IL. The net result of this: you cannot use dynamic languages (IronPython, IronRuby, etc.) in any scenario where subclassing of Java types is required (including indirect subclassing), as there's no way of extracting these dynamic types at compile time to generate the necessary Android callable wrappers."