6 ms·
I'm an iPhone developer who knows ObjC inside-and-out and I stand to profit (and in fact already am profiting) from Apple's decision to shut down cross-platform
by drewcrawford 17y ago
I'm an iPhone developer who knows ObjC inside-and-out and I stand to profit (and in fact already am profiting) from Apple's decision to shut down cross-platform frameworks.
That said, there's no direct connection between a great user experience and specifically using ObjC, not even in theory. There are many frameworks (MonoTouch comes to mind) which explicitly bind Cocoa/Touch to C#. The only difference is, instead of writing your logic in ObjC, you're doing it in a language you're more familiar with. This type of framework/cross-compiler leads to high-quality, reliable code that still provides a nice Apple-ey user experience.
On the flipside, you have plenty of app store apps (games, mostly, but others like convertbot) that totally eschew Apple's UI controls. These apps are written in 100% ObjC with all of Apple's tools, but simply prefer rolling their own because they think the user experience is better. Up to now (and as far as I can tell from my talks with them, still) Apple has no problem with this.
So I think your logic that using Apple's tools magically leads to a better user experience is flawed. True, some cross-platform environments lead to a subpar experience (potentially Adobe's CS5). But Unity3D and MonoTouch clearly contribute to the platform from a user experience standpoint.
A much better argument is that Apple is planning to make lots of changes going forward and they don't want to have to worry about waiting for the Unity people to update their compiler in order for developers to be able to implement [whatever] for their apps. For instance, the multitasking change is pretty big under the hood--who knows how long it will be before MonoTouch binds to it? That's much more likely to be Apple's concern.
TUAW made a similar argument to mine, but it's flawed in a couple of places because they don't understand OSX. There's nothing about cross-platform frameworks that makes multitasking hard per se, but making it more difficult to update existing code is going to be hard if Apple ever decides to break backwards compatibility, which clearly they're indicating they're going to do.
Of course, from Apple's POV this has the nice "side" benefit of locking developers in to ObjC going forward. Better for the platform or not, I think that's what has developers most upset--we've just gotten out of two decades of vendor lock-in under Microsoft. We were headed for the web, and we're about to miss it.
- deleted 17y ago[deleted]
- MWinther 17y agoIn what way does MonoTouch clearly contribute to the user experience on the platform? An argument I started contemplating after reading the article is that there are a lot of non-iPhones out there with a physical keyboard, for instance. I can imagine someone writing for another platform experience makes concessions in creating apps that work flawlessly in a touchscreen-only environment, in much the same way some people might have been tempted writing CLI-apps for the original Mac had it provided one. Granted, most new phones seem to focus on the touch screen, but I can imagine there are other similar differences that might affect how native an app feels on the iPhone platform. After all, it seems that there are iPhone app developers moving to the Mac that create iPhone-like interfaces that don't quite feel at home on the Mac. If there are subtle but noticeable differences between Mac OS X and iPhone OS, I can imagine there are more than a few such subtle differences between the iPhone feel and the feel on other platforms.
- ZeroGravitas 17y agoDidn't Apple just add bluetooth keyboard support with OS 4?
- MWinther 17y agoAdding support for attaching an optional component is hardly the same as having a device where said component always is available.