Oh wow: Apple heeft in de regels omtrent het ontwikkelen van apps voor iPhone en iPad een veranderingetje doorgevoerd. Eerder werd alleen het gebruiken van ongedocumenteerde ("private") API's verboten, nu mag je ook geen tussenlaagje meer gebruiken:
3.3.1 — Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited).
Kortom: de mogelijkheid die Adobe in CS5 inbouwt om van een Flash-dinges een iPhone-app te bakken? Afgeschoten. Microsofts .NET-platform op de iPhone? Afgeschoten. Er vallen nog wat meer slachtoffertjes, maar dit zijn wel de grootste twee.
Adobe's Platform Evangelist Lee Brimelow maakt Apple op het Flash blog uit voor rotte vis. Redelijk begrijpelijk vanuit zijn positie, en laten we eerlijk zijn: het is natuurlijk wel een beetje een dick move van Apple. Begrijpelijk? Ja. Verstandig? Waarschijnlijk wel. Dick move? Hell yeah.
Hoezo begrijpelijk?
Over de prestaties van Flash in het algemeen, en op mobiele apparaten in het bijzonder, is al genoeg gezegd. Het is traag, het is lomp, het is onveilig.
Een ander probleem met dergelijke platforms is dat ze over het algemeen — juist omdat ze meestal cross-platform zijn — op geen enkel platform echt thuis zijn. Neem Adobe AIR applicaties: het is het allemaal net niet. Allerlei zaken die net niet helemaal werken zoals je dat in andere programma's gewend bent.
Dat is overigens niet beperkt tot AIR: ik ben ook geen enorme fan van Opera. De browser an sich is goed, erg goed, maar de interface is iedere keer weer net niet zoals ik dingen op een Mac gewend ben. Dat gaat irriteren. Op desktop-machines blijft het daarbij: lichte irritatie. Op een mobiel apparaat komen daar beperkte hoeveelheden processorkracht en energie bij kijken.
Ander punt: controle. Apple zit er absoluut niet op te wachten dat er straks allerlei tussenlagen zijn tussen het iPhone OS en de gebruiker. Dan krijg je vroeg of laat de situatie dat Apple een update uitgeeft, maar dat die voor sommige gebruikers problemen geeft vanwege programma X of omgeving Y.
Apple zit niet te wachten op afhankelijkheid van derden, en al helemaal niet van Adobe of Microsoft. Geef ze eens ongelijk.