Novell Bringing .Net Developers To Apple iPad
GMGruman writes "Paul Krill reports that Apple's new iPad could be easier to write apps for, thanks to Novell's MonoTouch development platform, which helps .Net developers create code for the iPad and fully comply with Apple's licensing requirements — without having to use Apple's preferred Objective-C. This news falls on the footsteps of news that Citrix will release an iPad app that lets users run Windows sessions on the iPad. These two developments bolster an argument that the iPad could eventually displace the netbook."
The iPad is one product...Netbooks are a genre of device. Add to that the aversion of folks like me to using anything put out by Apple, and I don't see much chance of the iPad replacing a whole genre of DIY-friendly hardware.
Jesus christ stop with the Apple spam.
There are already RDP clients for the iPhone and Mono Touch isn't freaking new.
Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
It's getting like Steve jobs twitter page around here.
As someone who's programmed both in .net and for the iPhone, I can't imagine that being able to program in .net would be an advantage. Both are adequate for making windowing systems, but the paradigm is different.
Seriously, Objective-C isn't that hard; if you can't learn it in a day or two (or at most a week) then you are probably not a professional programmer.
Qxe4
Objective C is not a hard language to learn: it's a sibling to C++ in that both tried to add OOP to C. ObjC as used on the Mac combines the best of both worlds -- you get pointers for low level control, *and* a nice OO framework/API and niceties like garbage collection. And of course OS X is beautifully designed, none of the back compat cruft that makes one want to stay away from Win32.
Where C# wins over ObjC though is its similarity to Java (which in turn is fairly comfortable to C++/C programmers).
Go somewhere random
a pizza or a car analogy would work better. Nobody understood that one.
The Cloud - because you don't care if your apps and data are up in the air.
... the next 60 days, amirite?
The iPad has been officially announced for all of two days, a vanishingly small portion of people have actually spent any time playing with one, and the world is already full of vociferous opinions about its prospects for (pick one) dismal failure/niche success/displacing netbooks/world domination. Like this one:
Because of its price and lack of perennial netbook features, such as a physical keyboard.
Looks to me like it doesn't lack for a physical keyboard, even if it's not permanently attached. Will that be a problem for literal laptop users? Maybe. If I were betting, though, I'd guess that it'll be good enough that Apple's sales will compare with the top 3 netbook manufacturers.
I'm not betting, however, because like most of the planet, I haven't had a chance to really play with one, and therefore don't have a very solid idea what I'm talking about.
Tweet, tweet.
Umm, Metaphorically or Inquisitively? and Umm, How often?
Hmm, nope. That doesn't work either.
"What do you despise? By this are you truly known." --Princess Irulan, Manual of Muad'Dib
/)
I'm getting a good laugh out of all the folks damning the iPhone for it's lack of explicit multi-tasking.
Sigh. If one wants to oversimplify there have been two great visions presented in computing. One was eberharts classic video showing off mouse and button based editing, along with cellular communications. If you've never watched it, you have no idea what you have missed. Prepare to crap your pants.
The other is Raskin's dream of the info appliance. A device that has no specific function but morphs itself into the perfect dedicated human interaction device for whatever task is needed. It does not multi task. It does not improve a perfectly weighted japanese sushi knife to attach car steering wheel and fire extinguisher to it just in case you need to multi-task. Each item itself has all the controls and human interface it needs for it's task and only that.
In raskin's vision, the appliance would never need instructions. it would be as obvious how to use it as a hammer is.
The ipad is the closest (practical sized) realization of that to date. it's 1.5 times the width of your fingers so it balances perfectly in one hand. when you have a task it dedicated it's surface to becoming the perfect human perceptual interface you need just for that task.
The key here is that Even a 1 year old understands the iphone interface. It's task specificity is intuitive.
Moreover you don't really want multi-taksing. You think you do but what you really mean is you want to beable to context swtich easily and for cases where apps need to interact that they do so in the way you want them to. Multi-tasking is a dumb way to do this. it puts the load for managing the interaction on the human not the device. The iphone os does most of the connections you want. The addressbook is ubiquitous, apps can send e-mail and get web pages. etc... In the future this conduit management will be handled more and more by the computer as it should be. Context switching will be transparent because the computer will anticipate your next move and have pre-warmed it. etc...
Multi-tasking is just the current way we approximate implement this metafore for the device that simply changes into what we need at that moment by itself. You don't really want multi-tasking you want that effect.
For example, people insisted background processing was needed to handle incoming e-mail or other daemon tasks for apps. But the vast majority of those needs (though definitiely not all) are now served much better by the push notification deamon that apple implemented. See background processing was just one way to solve that problem that you were used. You did not need it and you are now better off without it.
interestingly it's claimed that OSX was originally going to behave that way at Job's request. there's a hidden mode switch (in the defaults.write ) that will change the interface so only one app is visible at a time. the others snap to the dock at each context switch. I activated that for my mother and here ability to use the computer skyrocketed. I've tried it myself, and because I multi-task a lot I do find the transistions annoying. But I have to admit it really does de clutter and improve how you interface with an app. I just find the implementation to clunky to tolerate and I miss my multi-tasking view. The iphone OS enforces this work mode and anyone who has used one can see how well it works in the small format device.
It's raskin's dream incarnate. This is why other devices that don't get what's being created here are going to fail.
Some drink at the fountain of knowledge. Others just gargle.
You really have no clue what you're talking about, do you?
Objective-C is solid, only on its second release (2.0). It has a learning curve for most non-Apple devs. Based on Smalltalk, messages (methods) are bound at runtime. Garbage collection and properties were added in the latest version.
Java is very stable, but given the number of releases I would say less solid (it's on its seventh major release, with a beta for it's eighth). Based loosely on C++, but with garbage collection (no pointers), it is really the only system that produces true cross-platform binaries.
C# is on its third version (3), although the runtime is on its fifth (3.5). Most people agree that as a language, it is superior to Java due to support for events, functional/lambda-style programming, LINQ, generics (which are generally considered better than Java's), etc. C# is standardized, but open source/cross platform implementations (Mono) are behind those from Microsoft. Silverlight, however, is available cross-platform via Moonlight. The next version is in the works (C#/.NET 4.0).
I really don't get where you were saying "if you crash your data is gone". That doesn't even make sense, in the context of a computer programming language.
All my liberal friends think I'm a conservative, all my conservative friends think I'm a liberal.
Shouldn't we be waiting until, oh I don't know, the device actually is released and we can see how this whole thing plays out?
It's almost like Slashdot is perpetually trying to make up for that whole "No wireless. Less space than a Nomad. Lame." thing.
#DeleteChrome
Objective-C rocks, really. But! If you don't know it, and you have an existing code base in C#, maybe this would be useful. I guess. I think this is not aimed at making iPhone/iPad app development easier in general, but rather, specifically for people who are already using C#. In which case, it's not totally stupid. Just mostly stupid.
FWIW, I'm currently at the "okay, that's the basic functionality, now what do I do next?" phase of developing an iPhone app. From "never even looked at the docs" to "working multitouch and graphics" took me, oh, a good solid two evenings.
My blog: http://www.seebs.net/log/ --- My iPhone/iPad app: http://www.seebs.net/seebsfrac/
So a Linux company is bringing Microsoft development to an Apple device? And it's STILL useless?
The problem isn't that developers can't develop well, the problem is that Apple doesn't let developers do much with iPhone OS.
I guess all 140K applications do the same exact thing? Since Apple "doesn't et you do much".
The reality is that Apple has a few areas they don't let you go, but everything else is wide open.
The nice thing about a netbook or a cheap laptop is I can run multiple things. I can keep my Facebook open, my IM open, play music on YouTube and type on a document all at the same time.
And on an iPad (or iPhone) you can play music while you type a document, and get a stream of notifications when there's some new twitter or facebook post you really care about. Or you can write and jump quickly into a twitter/facebook app to see what is going on and jump back - because the device has been optimized for that use, unlike a traditional PC where application startup is more expensive and lengthy.
These are basic things that people do daily, the lack of a major component of today's web (Flash)
What? Where is is major use? It's widespread to be sure, but I question that it is such an important aspect of using the web today. I installed ClickToFlash on Safari about a year ago, and the ONLY flash I have had occasion to click on to see have been videos - all on sites that simply feed the h.264 the flash video player is already using under the covers, directly to the device. In the meantime I have also been spared a horde of annoying, battery sucking ads - and I never did believe in adblock because I like supporting sites. It's just that the number of Flash elements per page was getting to be absurd, with a ton of Flash overhead consuming the CPU.
Other than video use, the other major use of Flash is web based gaming - are you really arguing the iPhone/iPad platform is hurting for free casual games? There are so many games out now you could probably play free trial or ad supported versions of games for a year straight before you ran out of things to try. There is no Flash based game so compelling it would make people choose a platform, EXCEPT possibly for Farmville due to the large number of players who would like constant access to it. But there I imagine we'll see an iPhone app at some point.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
Oh come on, the name jokes are a manufactured "controversy". Just like the name iPod, iPad will stop sounding like something else, and become a word of its own. But even without this, there are so many other "pads" out there, that this is silly. For example, where was this controversy over the Fujitsu iPAD? Or the various other pads. ThinkPad? Newton MessagePad? MS Notepad? Or simply a pad of paper?
I'm not complaining about the jokes per se. They're kinda funny for a second, but they do wear thin. But what I'm responding to is that this is treated as some sort of serious issue. "OMG, people are making jokes!" How many iPood, iPaid, etc. jokes were there?
In the long run, the name is going to be just fine.
Here's an idea - What Steve should have done was release a tablet version of the MacBook Air (with the exact same software compatibility, OS, etc.) and call it the MacBook Slate or MacBook Touch. I would have bought one of those, and I'm often the first to question the sexual orientation of male Mac users.
And it would have sold worse than the MacBook Air. People have shown they don't want tablets that are just their desktop OS in tablet form. To be sure, there are people who buy them, but they are almost exclusively sold to geeks, artists, and some vertical markets. But as a mass media product, it takes something that's already cumbersome for most people, and making it even more so.
The brilliance of the iPhone OS is that it's designed specifically for multitouch. You're not just using your finger (or stylus) as a mouse, with handwriting recognition thrown in for good measure. Mac OS X no only already supports this, but you can already have your Mac modded into a Mac tablet (or buy one pre-modded). And they're not selling well enough to warrant a separate Apple SKU.
How does being able use C# or run windows sessions on the iPad enable it to displace a netbook? About the only place they overlap in functionality that they are both really good for is that they are both good for browsing the web and interacting with web apps that don't require lots of text input.
Beyond that their functionality diverges. The iPad is a slightly better ebook reader, is better for certain types of applications (particularly, though not exclusively, those involving fairly passive media consumption.) A netbook is better for anything that requires lots of text input -- I wouldn't want to take notes in a meeting or class on an iPad, or write a substantial document on one, both things that netbooks are good for. Netboooks are also substantially cheaper -- the least expensive iPad model is at the high end of netbook prices, the 11.6" Atom Z520 powered netbook I got a couple days ago that I'm typing this on was half the price of an iPad. (And it has a SIM card slot and 3G capablity, which I'd have to pay another half the price of the netbook on top of the minimum price of an iPad to get on iPad.) Its also got much more storage than the high-end iPad. And you don't need another whole computer with iTunes just to be able to use it. Its perfectly possible for someone who doesn't have heavy computing needs to have a netbook as their only computer -- an iPad can't fill that role as long as it is dependent on a "real" computer with iTunes.
Perhaps, but as a woman I can definitely tell you that all my women friends have agreed it's an unfortunate name because the first thing it makes us think of is feminine hygiene products.
Sure, today. Give it some time and iPad will just be another word, like Wii. People made the same arguments against the Wii. This too shall pass.
Right, because the only type of applications is a thin client that connects to web services.
Maybe you have an existing codebase that you want to run on the iPhone.
No, it smacks of wanting to re-use code to deliver a solution at lower cost in less time and with fewer bugs compared with trying to rewrite things from scratch.
Not to say anything negative about Apple here, but to those of us not in the gamer community, Wii still sounds asinine.
You couldn't have that any more backwards. The Wii is the one console that appeals to non-gamers.
People may still snicker at the name, I'm not saying that's going away. People still make "iPood" jokes. But the name "Wii" is no longer seen as a liability.
ObjC as used on the Mac combines the best of both worlds -- you get pointers for low level control, *and* a nice OO framework/API and niceties like garbage collection.
It should be noted that this is equally true for C# - it also has raw pointers and related stuff available for when you need it, but otherwise it's fully OO, runs under VM with GC, and so on.
Out of my head, I can think of a few advantages either one has over the other.
C# advantages: ...]", but much more extensive - covering sorting, grouping, joins etc.
- namespaces
- generics, so all collections can be statically typed
- first-class functions and lambdas (closures) with argument type inference
- LINQ query comprehensions (a la Python's "[x for x in
- portable code generation with JIT(System.Reflection.Emit & DynamicMethod)
- mark-compact generational GC (ObjC one is a conservative mark & sweep, which means that it's both slower and suffers more from heap fragmentation)
ObjC advantages: .NET JIT, much less Mono JIT
- truly dynamic dispatch, objects can intercept unknown messages sent to them, redirect them etc
- duck typing (C# is going to have it in 4.0, though, which is right around the corner)
- can avoid GC altogether even when using all OO-related language facilities, which can have some performance benefits
- can use C/C++ libraries directly, no wrapping or FFI declarations needed
- gcc generally produces better optimized code than
In general, I'd say that C# is a little bit more high-level, but overall the preference for one or another depends on whether you like static or dynamic typing more. ObjC provides more features to go with the latter, but can be type-unsafe at times (e.g. due to non-generic collections).
it's a sibling to C++
Oh, come on. Objective-C isn't perfect, but that is way too harsh.
-jcr
The only title of honor that a tyrant can grant is "Enemy of the State."