.NET for iPad stretches to Google's Android
Jobs the merciful god?
Call it an unholy three-way, but .NET is coming to Google Android, potentially helping C# developers interested in creating applications for Apple's iPad.
Novel has announced that MonoDroid, a software development kit (SDK) to build applications for Google's Linux OS using C# and the Common Intermediate Language (CIL), is ready for beta testing. MonoDroid is based on Novell's Mono Project, and final code for MonoDroid is due this summer.
The Mono Project has been building an open-source implementation of Microsoft's C# and .NET for Linux and Unix through out the 2000s, with Microsoft's blessing.
Novell created MonoTouch in September 2009, putting Mono on Apple's iPhone and iPad. Since then, though, it's become unclear whether MonoTouch is actually allowed on the Jobsian machine under the recently updated terms of Apple's developer program agreement for the iPhone OS 4 that the iPad will run.
Novell has tired to minimize reports MonoTouch could be banned, but judging by the team-Mono blog the company is as much in the dark as everybody else over what the iPhone OS 4 license means to their code.
The company has admitted in blog posts that it has had little direct feedback from Apple on the matter. Instead, it optimistically points to App Store approval for the Mono-based applications Touch Playbook, Really Simple, and LCARS Reader as proof that Mono complies with Jobs' new rules for doing business. Novell was unable to comment or update The Reg by press time.
MonoDroid potentially lets developers build applications using C# that talk to Android's native Java APIs and lets those APIs execute inside the Common Language Infrastructure (CLI) runtime engine that - like C# - is an ECMA standard.
If Mono is allowed on the iPad, having it on Android as well will mean that developers can save time and effort porting their apps between devices.
It should mean coders can reuse their existing .NET skills and ECMA-compliant CLI runtime engines, plus existing business logic on the Apple and Google platforms. That'll leave developers free to focus on the interesting work of making changes to the interface needed for the different devices. ®
I learned Java in about a week from C++
So all these silly Java developers should just lump it and learn Objective C.
The advantage is, depending upon how it's done in the background, it might be a lot easier to write portable code using C# and Mono than in Java (and having to write device specific GUI code etc.).
Look, there are advantages to both languages, but personally I find that C# makes for far more straightforward code, whereas Java seems to lend itself to sprawling projects with obscure classes. At the end of the day, as a Java developer there are things that you are used to that you'll argue to the death about (such as operator overloading) and there are things that I'll argue about because I have got used to them (such as operator overloading), I don't think either viewpoint is right, but I think the cross-platform possibilities of a Mono implementation are interesting at least.
As to VS vs Eclipse, it's a matter of taste again. Personally I find the comparison to be very close, but I prefer VS, purely because I work in it day to day.
Posting a comment favorable to Microsoft technologies with a screen name of "Bugs R US"
C# is better than Java
Eclipse is okay, VS 2010 kicks the crap out of all other IDEs. C# in it's 4th generation is a superior language to Java.
I don't know about JVM vs. CLR, but clearly Apple is not going to want to turn away millions of C# developers; one day, one of them might come up with an app worth downloading that actually does something productive.
Even with these Novell SDKs, developing for iPhone or Android is still no where near as simple as developing for Windows CE devices.