When Apple introduced the App Store for its iPhone device, there was nothing but talk of financial paradise for some developers. Even a single coder could get into the game, bringing with them only an interesting and unique title, and begin hauling in literally thousands of dollars. It was great for some, though for those on the Windows side of the world, not so much. As you may know, to develop applications for the iPhone, you need to use Xcode and the iPhone SDK, which is only available for Apple's OS X operating system. To top it off, knowing Apple's Objective-C programming language is essential too, which isn't desirable for some. Luckily, the company Novell is stepping in to help out, soon providing tools to allow iPhone application development using .NET and C# instead.The kit, dubbed MonoTouch, will be available on Monday and will harness the power of Novell's 'Mono' runtime environment that allows execution of Windows application code on non-Windows systems. Miguel de Icaza, who is the vice president of the developer platform with the company (and also leader of the project in question), said, "What's important here is that C# and .Net are considerably more productive development environments than the native iPhone language, which is Objective-C."
The software will integrate itself into Xcode to allow developers to still test their software on the iPhone simulator, or even a physical device itself, which is even handier. Al Hilwa, the program director for application software at IDC, noted, "MonoTouch brings a new option to the table. I would say that applications closest to the metal will continue to be written in Objective-C, but where developers want to target multiple platforms, including apps that cross over between desktop and mobile, MonoTouch allows them that portability. Of course, the big win with it is that it opens the door for some 5 million .Net developers to begin to do iPhone applications. The success of the iPhone and apps for the iPhone suggest that Objective-C is being well-tolerated out there even though people complain about its lack of familiarity. The average developer has to learn Objective-C to program on the iPhone, very few developers know it to start."
If you're interested in this, and you're not a high ranking member in a wealthy organization, then you're probably out of luck. The program is aimed at developing business applications, and as such, comes with a business-sized price tag. If you want a year long subscription for the Enterprise Edition, it'll set you back $999, compared to the $99 yearly fee which Apple charges; whether that's worth the saved time you'll get from not having to learn another language is up to the business, but it would certainly cost a fair bit (in terms of both money and time) to educate engineers on Objective-C.
















and to think i nearly bought a mac just so i could do some dev for this...
now to convince my employer that this will be a worthy investment.. hmmm
Well keep thinking it sun shine, last time I checked Xcode is OS X only.
sunshine?!
and to think i nearly bought a mac just so i could do some dev for this...
now to convince my employer that this will be a worthy investment.. hmmm
I hated objective-c at first, but I got used to it, and it is a nice little language. The Xcode development environment is great as well. Not so hard for someone to go from c# to Obj-C. I always think it is better to program in the native language on whatever platform you are using (java for bb, google phone, c++ windows, linu
and that Apple allowed for other POP3/iMAP eMail clients in the AppStore.
Still it's not very portable, as I imagine iphone SDK will have a lot of API's involving touch screen and iphone specific actions that desktops lack.. It will probably save time on some projects, but I am not sure if it's worth it. Maybe just for enterprises.
Still it's not very portable, as I imagine iphone SDK will have a lot of API's involving touch screen and iphone specific actions that desktops lack.. It will probably save time on some projects, but I am not sure if it's worth it. Maybe just for enterprises.
Don't base your judgment on assumptions. The MonoTouch API will have those iPhone specific actions supported.
MonoTouch API Documentation
... and your specific example about handling a registered touch screen event: (supports swipes and more too)
MonoTouch.UIKit.UITouch Class
Still it's not very portable, as I imagine iphone SDK will have a lot of API's involving touch screen and iphone specific actions that desktops lack.. It will probably save time on some projects, but I am not sure if it's worth it. Maybe just for enterprises.
Don't base your judgment on assumptions. The MonoTouch API will have those iPhone specific actions supported.
MonoTouch API Documentation
... and your specific example about handling a registered touch screen event: (supports swipes and more too)
MonoTouch.UIKit.UITouch Class
My point was actually that for most iPhone apps it's not worth to port them over any other device especially desktops. I assume it's worth it for some people though. If you could easily port your apps between iphone-android-RIM-winmo then it would be great.
"We have only tested MonoTouch with iPhoneOS 3.0 and 3.1 and we do not know if it would work with older versions."
That's worrying me a bit.
Yes, that's how I read it too. Objective C is a systems programming language like C, so it's pretty clear to me that this could be important to many people not wanting to learn a niche language used by almost just Apple alone.
You still need a mac for it.
As I said I am sure there is a market for it but it's not that great as it seems at first. If they could make it work for other platforms too such as android then it would rock. I don't know many mobile platforms that use C# but I doubt any other than winMobile if that.
> time you'll get from not having to learn another language is up to the business
Seriously? Comparing the time required to "learn another language" (and then becoming productive with it) vs $900?
Unless you're just a hobbyist, that'll pay for itself in developer time in less than a week.
> time you'll get from not having to learn another language is up to the business
Seriously? Comparing the time required to "learn another language" (and then becoming productive with it) vs $900?
Unless you're just a hobbyist, that'll pay for itself in developer time in less than a week.
You should never be afraid to learn another language. There is a word for people who only know one language, and that word is not developer.
> time you'll get from not having to learn another language is up to the business
Seriously? Comparing the time required to "learn another language" (and then becoming productive with it) vs $900?
Unless you're just a hobbyist, that'll pay for itself in developer time in less than a week.
You should never be afraid to learn another language. There is a word for people who only know one language, and that word is not developer.
Nothing wrong with learning multiple languages; I was just saying that if you can shorten your development time by spending $1000, most would do that without thinking twice--unless, as I said, you're just a hobbyist. How much developer time do you think you can buy for that?
You're legally allowed to run Windows in a virtual machine on OSX. The same cannot be said for OSX on Windows.
Nice troll. Apple is just as open as Microsoft, and gives away the full development environment for free, not just a cut down version.
Exactly. I hope to see that resolved at some point. Wasn't there a court case in the works by one of the companies that was installing Mac OSX on PC's? I forget which one, but I remember the judge agreeing to hear it and everything.
Why shouldn't they? It could dramatically help tearing down barriers of entry for iPhone devs who're afraid of Objective C, and someone now even did the work for Apple.
I'm not really sure what you mean, but if you're thinking this will help *backports*, i.e. iPhone .NET apps ported to Windows or Linux (with Mono) more easily, I don't think that'll be much of a worry for Apple, as lots of hardware would be missing, and the app would often be poorly fit for the new kind of user interaction itself.
Honest question: are there a lot of .Net applications for Windows Mobile that are one-off for a business?
Given that Windows Mobile is relatively tiny so far as corporate phones go (BlackBerry ftw?) it didn't seem like something that would have a lot of irreplaceable one-off applications.
Moving your desktop software to a phone is a significant effort, as all embedded projects are. Consider something that plays back video or renders in 3D at 60 frames per second on a typical desktop (like a Mac Mini or the windows equivalent) turns into a 1-frame per second slide show (best case) on an iPhone.
Likewise 1 second searching or encoding tasks will take a minute. Then there's there's the whole UI issue to contend with.
I really hope it works out as having a .Net runtime opens the doors for even more languages (Python, Ruby, Cobol, Java, etc) but I'm doubtful about "it just works" claims when it comes to porting code to tiny platforms.
Given that Windows Mobile is relatively tiny so far as corporate phones go (BlackBerry ftw?) it didn't seem like something that would have a lot of irreplaceable one-off applications.
Moving your desktop software to a phone is a significant effort, as all embedded projects are. Consider something that plays back video or renders in 3D at 60 frames per second on a typical desktop (like a Mac Mini or the windows equivalent) turns into a 1-frame per second slide show (best case) on an iPhone.
Likewise 1 second searching or encoding tasks will take a minute. Then there's there's the whole UI issue to contend with.
I really hope it works out as having a .Net runtime opens the doors for even more languages (Python, Ruby, Cobol, Java, etc) but I'm doubtful about "it just works" claims when it comes to porting code to tiny platforms.
Umm... I don't think enterprises will be porting 3d rendering apps. Most likely thin clients for databases.
The point was not that you'd write something that needs 3D video, but that things that are trivially unimportant on a desktop become "OMFG" performance problems on the iPhone. Video and 3D are the most simple ways to illustrate the concern.
A common example would be scrolling a table of self-drawing controls. Performance very quickly goes from "acceptable" to "unusable" and people don't take the time to limit the amount of drawing they do and end up orders of magnitude more complexity than they need until performance is an issue on desktop apps. Even on OS X in the 10.0-2 days where the graphics system was appallingly slow mac developers needed to be beaten over the head to "do the right thing".
One of the iPhone Twitter client developers had a story about the effort involved in getting acceptable performance.
Cranking out the typical "ruby on rails script/generate scaffold" app is trivial: but then any application that basic could be written in Cocoa-C/Objective-C by any half-way competent developer in a couple of days even without Mac development experience.
I'd like to see Microsoft port Visual Studio and .Net: it's the best IDE I've seen—but that works against their goals of shipping Windows/Exchange/etc. licenses. I'm not holding my breath waiting on that just like I'm not waiting on Apple licensing Mac OS X to Dell, HP & co.
it's 399$ for one person.
999$ is the enterprise version. So it's 499$ a year and it's not that much if you are making money from app store.
Commenting has either been disabled on this article or you are not logged in. Click here to login or register, its free!
Note: Anonymous commenting is disabled in order to keep the quality of responses to a high standard.