Middleware and Section 3.3.1
daringfireball.net
daringfireball.net
The loads of shovelware in the app store put the lie to the quality claim so let's just focus on what's right in front of our faces. This is all about raising the barrier to writing cross-platform apps and locking down Apple's control in the emerging mobile computing market. The dishonesty with which this naked power grab is sweetened has a positively Soviet flavor.
If Apple wanted to really hurt their developers, they would allow the App Store to be ruined. Flash developers are not entitled to placement in the App Store, and there isn't a single App Store developer who would look forward to an influx crappy Flash apps.
You can talk about hypothetical scenarios all you want, but as long as the iPhone and the App Store remain immensely popular with developers and users it's very hard to argue that Apple is doing it wrong.
That's why Apple has taken a number of steps to curb the abuse and help promote serious higher-priced apps over the volume of 99-cent apps. It's what developers want and it's what users want. Yet the peanut gallery always howls at these App Store "restrictions".
Like I said, as long as Apple continues to manage the App Store properly it will continue to be immensely popular with developers and users. And the people who don't understand it will continue to criticize it.
Well, their record on backward compatibility is mixed -- Carbon, Classic, and Rosetta spring to mind -- but let's stipulate that the above is true. Apple has been able to make major changes to its platform because they're not beholden to any incumbent developers. Microsoft and Adobe have a certain amount of sway, but not enough to keep Apple from improving the platform.
Now they're trying to extend that independence into the iPhone/iPad era. What's dishonest about any of this?
Ask any developer of audio units, for example, how worried Apple is about forcing them to rewrite code every time there's a new Logic release.
Nobody said anything about politeness. Where is Apple pretending that this policy is about anything other than maintaining control of the platform?
The fear isn't that they'd have to be rude. The fear is that, if Flash apps for iPhone/iPad became a huge successful popular segment of the market and Flash didn't keep up with iPhone OS, users would have to choose between not upgrading and breaking their apps. Apple doesn't want that. Therefore, no Flash.
It's a policy that's better for some people (e.g. Cocoa Touch developers) and worse for other people (e.g. Flash developers). Some users will prefer it this way; other users would be happier the other way. But the decision is made by Apple, and Apple's making the decision based on its perception of its own interests, and no one is claiming any different.
It's fine for you to object to the policy, but I really don't understand the accusations of hypocrisy.
They don't give a damn about most developers: what they don't want is a whole bunch of pissed-off customers whose games (and other apps) broke when they upgraded to iPhone OS 5.0, because Adobe didn't get around to it.
I for one have a couple of applications currently on the iTunes store that I haven't updated in a year, and have no short-term plans to update. Provided they continue to run on upcoming iPhone operating systems, how would these "100% pure Objective-C iPhone SDK" programs be any different for the iPhone app ecology than writing a C# program using outdated SDK bindings?
Are we seriously talking about Apps not being updated with the latest features five years down the track as a reason to ban middleware? Those Apps aren't going to be updated anyway, and if they are they'll probably need a complete rewrite anyway.
That Apple needs to work hard to keep applications working - well, that's what it's like when you're a popular platform vendor. Ask MS how hard they had to work to get DOS and Win 3.1 apps running on Windows 95. That's the way the game is played when you're playing in the major league.
Did Gruber read Section 3.3.1? It says: "Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine"[...]
Section 3.3.1 does not talk about frameworks, it's about programming languages.
>MonoTouch is not in the same boat as Flash’s iPhone compiler, as it’s not a cross-platform framework. It’s a lighter shade of gray, if you will. But it’s still a layer of middleware between developers and Apple’s own APIs. Yes, MonoTouch is keeping up to date with Apple’s native APIs today, but what happens three, four, five years from now if MonoTouch stops keeping up and hundreds (or thousands) of popular iPhone OS apps are dependent upon it? That’s the scenario Apple wants to avoid.
But it's not. It's clear as day, it's black and white: MonoTouch is not compliant with 3.3.1 in so far as MonoTouch is used with a language that is not C, C++ or Objective C.
Or isn't he?
How is Flash explicitly ruled out and C# is not?
Smart developers should be able to evaluate a framework for themselves, and even use native interfaces to extend existing frameworks if some required functionality is missing. Some of the middleware might even be open source.
It's not even worth arguing about. I don't need anybody to tell me what is the best tool for my job. If they want, educate me, advertise why their tool is the best, etc. But don't force me to do something because they assume they know better than I do what is good for myself (and my app).
I can't imagine why any argument could convince me that it is for my own good to enforce a certain tool. All that is being said, features not being available etc., might weigh in for my decision for a specific tool. But it can never be a reason for such an enforcement.
Really? http://blogs.adobe.com/cantrell/archives/2010/04/one_applica...
The iPad split views are completely different: when the device is in landscape mode two separate views are side-by-side, when it is moved to portrait one view becomes main and the other hides under a button.
If you're using UIKit it does all this for you, for free. But if a Flash dev wanted it, they'd have to roll their own, or wait for CS6, when Adobe might implement it for them. Either way, take up of the new interface would be massively delayed while Apple waited for Adobe.
Apple's done with waiting for Adobe.