Novell MonoTouch Brings (Gulp!) .Net to the iPhone

Novell has announced MonoTouch, which will let developers write C#/.Net applications for the iPhone and iPod touch and compile them ahead of time, instead of the usual just-in-time method specifically prohibited by Apple’s SDK.
Now, I’ll state my bias at the outset — I’m no more a fan of .Net than I am Flash, Silverlight, or Java. Code interpreters are historically more taxing on hardware and are far, far greater security risks than true native applications (most exploits target code interpreters these days). However, Monotouch compiling these ahead of time likely mitigates most of those factors.
That said, when TiPb first spoke with developers after the App Store announcement, many of them told us that, not only did they enjoy learning variant languages like the iPhone’s native Objective-C/Cocoa, but didn’t seem to be having too much trouble picking them up.
That said, no doubt there is a large, maybe even huge pool of .Net developers with no interest in stretching their programming portfolio yet still want to take advantage of the huge mobile platform the iPhone provides.
Bottom line, if they make great apps, and those apps work great on the iPhone, then more power to MonoTouch. Hopefully it easily earns back the $999 per year Enterprise subscription.
[Via InfoWorld. Thanks Fassy for the tip!]
| Tweet |
|
|
Leave a Reply
Note: Comments must be civil, respectful, and on-topic. If a comment does not add to the conversation, if it contains spam advertising, or inappropriate language or content, it will be removed. Comments containing links may be held for moderation. Relax, enjoy, and share in the discussion.





























.Net is not a code interpreter and has very few security issues. It’s also very fast.
Hello, I just open a new shop on the net, all news accessories for iphone just have a look and enjoy !
ok this f***ing picture of whoever with his tongue out is getting anoying! no more!
Yay! My first tip accepted! Still, I have to point out that
a) Neither Java nor .NET are code interpreters b) Even if they were, other things being equal they would pose less security risks than code running closer to the metal, because a (J|.NET)VM sandboxes the damage many types of exploits can cause.
How do you work in .net if you need a Mac to test your apps? This seems like it’s an expensive way to make a class for an app, not a way to make an app
Having done development with both, I will take C# any day of the week if I had to write a new application. .NET is just worlds more enjoyable to develop in than any other framework, but more than that, C# is MUCH nicer of a language than Objective-C. This is huge news for the iphone. The number of .NET developers far exceeds those of objective-c/cocoa. Being very much so a Microsoft fanboy myself, I have to say though, this is the one thing that is finally going to help the iphone enter more so into the enterprise market. Most dev houses that make line of business applications wont have to worry about hiring new people that know objective-c, let alone Cocoa development. This is very big news.
At first I thought it was just a desperate move from MS/Novell trying not to completely lose the mobile market. The more I read and think about it, the more interesting it gets.
I am not sure it will do much for getting the iPhone into the enterprise market though. There is still no simple method to distribute apps for internal corporate use. Making them public on the AppStore may firstly not be acceptable for a number of reasons like security, confidentiality and licenses, and would secondly introduce the delay and rejection risk of going through Apple’s often critizised approvement process.
What is required for a real breakthrough in the corporate market is a possibility to set up an “internal” AppStore. Maybe combined with some kind of AppStore proxy where the company can chose to make third party apps of their choice available for free download to its employees, being autmatically paid for behind the scenes.
It’s sad that this original poster is so biased against any other technology simply because Apple didn’t create it. I love my iPhone but people with attitudes like that make me nuts. C#/Java vs. Objective C? There is not even a question that I’d toss Objective C to the dirt every time.
Languages like C# and Java have been and will continue to be the languages of choice used for a lot of major development projects. Not only are they safer (sandboxed code), but they focus on productivity and ease of reading. Bravo to Novell for doing this. If only it wasn’t so darn expensive…
This was very exciting for me until I saw that you still needed a Mac. I would love to be able to develop my own enterprise and personal apps for private use only. I don’t care about the App store or complying with Apples BS SDK restrictions. I thought I was finally going to be able to do this with my language of choice. I guess I will have to keep waiting until Apple wises up and realizes that they are stifling iPhone development by restricting them to an incredibly small marketshare.
Sorry, why are there .Net exploits and continual patches on my XP and Vista boxes if it’s secure? I don’t get many C++ patches
Doesn’t it execute code in the data layer to make it seem like it runs faster? I thought that was part of the reason IE was run outside of DEP?
(I don’t care if Apple or whomever makes something, I just currently prefer native apps over any of the dodgier alternatives. There’s a trade-off to everything and the convenience of .Net, Java, etc. come at a price)
Rene, would you rather have a native app like Adobe Flash that goes unpatched for long periods of time or have a .Net that resives constant attention. Also don’t exaggerate with “continual patches”. Not all the security patches are related to .Net framework. In fact the .Net patches have been few and far between these days.
As a user I would rather have a native app. A well written app in C++ is going to out perform a .Net app but .Net isn’t the bad performer that people try to make it out to be. People try to lump .Net’s performance in with that of Java. It is far more practical for developing simple silly iPhone apps.
And any security issues with the dotnet runtime environment will not apply to the software when dispatched on the iPhone as it will have been compiled into a native binary before reaching the phone.
@ermax18,
Flash isn’t native, it’s also a runtime and has even more security problems, not to mention performance issues, than .Net in my experience.
@iBamse,
Agreed and what I stated in the post. It sounds like they’re using native iPhone UI elements as well, which is great to hear.
BTW- Development shouldn’t be easier for developers. It should be better for end users.
If better is easier, then great. If easier leads to crappy UI and poor user experience, then no thanks. Especially as we move into mobile computing.
@Rene
There are not .NET expolits on your Windows boxes all the time. There are buffer overflows in IE and even in the .NET runtime engine from time to time, but guess what? That part is largely written in C/C++. As for service packs on Windows, those almost exclusively fix issues in non-managed C/C++ too. It can be difficult to spend 30 seconds on google before asserting one’s biases as fact, but you might want to try it, even on your own blog.
You .NET lovers are not giving the initial post enough credit. It starts with joking fear “(gulp)”, combines a truth “code interpreters are more taxing on hardware” with an uncited falsehood “far, far greater security risks,” before sort of acknowledging both stated issues are irrelevant in this context, but only in the weakest way possible, a way that backhandedly insinuates they are still concerns “likely mitigates most of the problems.”
All together, you get a piece to rival any FUD (http://tinyurl.com/2478pa ) cooked up in the darkest bowels of Microsoft marketing labs. I salute you, sir!
@Ermax18 Last I checked, Visual Studio ran on Windows, not Mac. Xcode runs on Mac, not Windows. If you love the iPhone and want to write great iPhone software, is Xcode really a barrier of entry?
I know several devs who just picked up a Mac Mini and a switch and got to work. A Mac Mini is cheaper than the 1 year enterprise MonoTouch price in any case, and comes with Xcode for free.
I understand the idea of Flash, .Net, Java, etc. from a certain point of view, I’m just still not convinced it produces a better end product and experience for the end user.
(Though in this case, yes, it’s mitigated by the advance compile — having a “you must download Java” or “.Net” box popup is instant fail from a usability standpoint.
Scorecard:
Interpreters are slower. Yes, but MonoTouch is not an interpreter, and, for that matter, neither fundamentally are .NET and Java.
Interpreters are bigger security risks. Nope — but perhaps Microsoft should be so kind as to label all patches as “C++” patches to make it easier for some to track. Since all software can contain bugs, and interpreters add a layer, we can grant partial credit here, since more layers == more opportunities for bugs. Again, this is completely irrelevant, since MonoTouch is not an interpreter.
Usability fail (not in the posts, but in a your comments). Yes, when that occurs, which is perhaps annually to upgrade the .NET framework on Windows, and slightly more often with a Java applet. Strike three — also completely irrelevant, since MonoTouch does not utilize a separate runtime or downloaded VM.
So zero for three on the strawmen, but again, the problem is “mitigated.” I guess that is zero for four, because
Mitigate = to lessen the severity of a problem.
The problems that you manufacture here are not lessened; they never existed.
.NET is compiled, not interpreted. PHP, ASP and other “scripting” languages are interpreted.
Nice post. If you have been programming Objective C or C++ on the Mac for some time this is a fun way to try out a new language and stretch you mind a little. MonoDevelop is really looking nice these days. Its really impressive to see how far it has come in the last two years. you can make Silverlight apps as well. all completely mac hosted. The Eval is out now. looks like its the full thing but only runs on the simulator.
Rene Said: “Last I checked, Visual Studio ran on Windows, not Mac. Xcode runs on Mac, not Windows. If you love the iPhone and want to write great iPhone software, is Xcode really a barrier of entry?”
What is your point? Are you trying to point out that MS restricts Windows Dev to just Windows machines? If so that is an ignorant argument. Why would MS waste time on an 8% market share? It is simple business sense. Think about it. Apple has an incredibly small market share as a whole, now just think about how small the dev sub market must be. To answer your question, yes, Xcode is a barrier. There are far more developers on Windows then Mac. How hard would it be for Apple to release an IDE for Windows. They are idiots if they think they will somehow gain market share by restricting Xcode to Macs only. Developers will simply go with a more open platform like Android. Sure developers looking to make a quick buck on a useless iPhone app may be willing to invest resources in Xcode but enterprise developers looking to develop custom apps for there own inhouse use are not going to waste time developing in a new language on another platform.
Rene said: “Flash isn’t native, it’s also a runtime and has even more security problems, not to mention performance issues, than .Net in my experience.”
I am not talking about Flash apps, I am talking about the Flash runtime it’s self. This was a simple example.. I could go on and on listing other C++ apps that have bugs that go unpatched.
I do both, but I prefer .NET.
One angle that wasn’t addressed is that because .NET is much more developer friendly, a case could be made that it reduces the risk for developer errors resulting in bugs.
I personally don’t think it makes sense to use a Mono library to do iPhone development. Half of the learning curve is understanding the capabilities of what the iPhone specific libraries can do. Learning the syntax of Objective C is somewhat trivial, considering it is a C-based language.
That’s just my perspective, though. I’ve found iPhone development to be cumbersome and time consuming than Web and WinClient dev in .NET. It’s much easier to debug and write cleaner, faster code in .NET.. but I wouldn’t use .NET for the iPhone.
Been using MonoTouch for the past couple of months and it is a very quick way to develop iPhone apps.
.Net + iPhone = Winner
I found another product: iSpectrum. The great thing about it is that it is free for open source projects, so you can really give it a try
.
With it you can develop native iPhone apps in Java, all you need is Eclipse and a mac with XCode.
You can get a free trial, and see some demos on this website : http://www.flexycore.com
.Net interprets code? What kind of crack do you smoke, man?