Aber etwas ist mir noch unklar: Wenn keine Zwischenkompilate und/oder Layer ab iOS4 mehr erlaubt sind, wieso konnte mein Kollege auf seinem iPhone4 ein Unity3D Demo (Flugsimulation Multiplayer, weis den Namen grad nicht) gestern vom AppStore laden und installieren? Gilt diese Regelung von Apple nur für neue Apps? Oder wird das nicht so genau kontrolliert?
Es gibt eigentlich nen guten* Grund für die Regelung:
Wenn man eine nicht-eigene Zwischenplattform zwischen seine Applikation und das iPhone legt, kann das schwierigkeiten mit Features geben, die entweder einzigartig im iPhone sind, oder erst später hinzugefügt werden. Man ist nicht durch die Fähigkeiten vom iPhone, sondern durch die Fähigkeiten vom iPhone
und des Frameworks beschränkt, sprich gerade mal die Schnittmenge der Features, die beide bereitstellen. Frameworks bieten oft nur einen gemeinsamen Nenner der Features verschiedener Geräte an, d.h. evt. kann man nette Features dort nicht nutzen.
Weiters, wenn Apple neue Features hinzufügt, musst du als Entwickler warten, bis ein neuer Release des Frameworks diese auch unterstützt, damit du sie verwenden kannst. Das zögert die Zeit hinaus, die Neuerungen brauchen, bis sie beim Kunden wirklich ankommen.
Zuguterletzt muss man sagen, dass Applikationen, die spezifisch für ein Gerät entwickelt werden, insb. von der Usability her besser sind als Apps, die auf mehrere Geräte ausgelegt sind. Das hat einen einfachen Grund, der sich vllt. besser in die umgekehrte Richtung beschreiben lässt. Wenn ich eine App fürs iPhone und bspw. WinMobile (jaja, ich weiß
) entwickeln will, dann kann ich nur von 1 Eingabe-Button ausgehen, und muss den Rest über mein UI machen. Ein TP2-Benutzer kommt sich veräppelt vor. Er hat einen Zurück-Button auf seinem Handy, und jetzt belegt noch einer seinen Screen. Kurz gesagt: Wenn man eine App für ein spezifisches Gerät entwickelt, kann man sie auf das entsprechende Gerät anpassen, was (normalerweise) eine bessere Qualität für den Benutzer bedeutet.
Wieso werden dann UnityApps ect. trotzdem angenommen?
Die Einschränkungen sind ziemlich heftig. Viele Apps werden mit zusätzlichen Frameworks ect. entwickelt. Würde Apple diese konsequent verbieten, würden einerseits die Kosten für Entwickler steigen, bzw. manche Entwickler komplett abspringen, weil sie nicht den expliziten Kundenwunsch haben, und die Plattform unattraktiv wird. Das wäre schlecht, denn der AppStore bringt Apple viel Geld, immerhin 30% des Preises der App. Springen Entwickler ab, heißt das weniger Apps, was wiederum eine kleinere Plattform und weniger Geld heißt.
Warum dann überhaupt die Regelung?
Es gibt zumindest eine Unterstellung, die aber insb. in Anbetracht der derzeitigen App-Politik besser greift als die oben: Flash2iPhone. Adobe wollte in CS5 einen iPhone-Konverter einbringen, womit man seine FlashApp problemlos aufs iPhone portieren kann. Für den Benutzer ist das gut - er kann vllt. keine Flash-Videos angucken, aber immerhin viele Flash-Spiele spielen, die wahrscheinlich sogar günstig im AppStore liegen, weil der Entwickler verhältnismäßig wenig Entwicklungsaufwand hat. Ich hab leider zu wenig Zahlen dafür, alsdass ich sagen könnte, die Rechnung würde für Apple gut oder schlecht ausgehen. Es könnte natürlich sein, dass durch die ganzen FlashApps der AppStore weiter wächst, die Downloads noch mehr ansteigen als sonst schon, und Apple damit noch mehr einnimmt als davor. Andererseits ist aber auch die Befürchtung berechtigt, nach der damit andere, teurere Apps verdrängt werden, was die Einnahmen wieder senkt. Was genau wieso ist, kann ich aber nicht sagen.
Soviel prinzipiell dazu, wobei ich hinzufügen muss, dass das zumindest die Eigeninterpretation der derzeitigen Situation ist.
greetz
Mike
*Ob man die Maßnahme mit ihren Auswirkungen im Verhältnis der aufkommenden Kosten gut heißen kann ist eine andere Frage.