MACNOTES

Veröffentlicht am  12.04.10, 12:33 Uhr von  

iPhone OS 4.0: Apple untersagt Nutzung von Crosscompilern, auch von Adobe Flash

iPhone 3GEine kleine Änderung im iPhone OS 4.0 SDK könnte für Adobes Packager für iPhone OS das Ende bedeuten: Anwendungen, die mit Crosscompilern erstellt wurden, sind laut den Nutzungsbestimmungen des SDK ab sofort verboten.

Mit dem Packager for iPhone hatte Adobe Ende letzten Jahres ein Tool für die Creative Suite 5 angekündigt, das es möglich macht, aus Flash-Anwendungen native iPhone-Apps herzustellen. Dies sollte den Flash-Entwicklern zu Gute kommen, die ihre Anwendungen auf diese Weise direkt für mehrere Plattformen bereitstellen können. Apple aber sieht Frameworks dieser Art nicht so gerne:

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).

Adobe ist sich diesem Problem bewusst, wird vorerst aber nichts am Tool ändern. Den Entwicklern allerdings stinkt Apples Vorgehen ganz gewaltig. Da wäre zum einen Lee Brimelow, seines Zeichens “Plattform-Evangelist” bei Adobe, der Apples Entscheidung als “Schlag ins Gesicht der Entwickler” bezeichnet. “Was sie sagen ist, dass sie Anwendungen nicht auf ihrem Marketplace zulassen, nur weil sie auf einer bestimmten Sprache basieren. Es ist ein beunruhigender Schritt, der keine rationale Grundlage hat außer der tyrannischen Kontrolle der Entwickler – und was noch viel wichtiger ist: Der Nutzung der Entwickler als Bauernopfer im Kampf gegen Adobe.” Brimelow wird Apples Produkte boykottieren, “bis es einen Führungswechsel gibt”.

Auch der Entwickler Greg Slepak wollte sich mit der Situation nicht zufrieden geben: In einer Mail an Steve Jobs fragte er nach den Beweggründen für das Verbot der Nutzung von Cross-Compilern. Als Antwort bekam er den Hinweis, sich John Grubers Aussagen zum Verbot einmal genauer anzuschauen. Dieser stellte heraus, dass die Gründe für die Ablehnung auch mit einem möglichen Kontrollverlust zu tun hat: Will man einen für alle gültigen Standard umsetzen, muss man Konkurrenzangebote wie Flash oder auch .NET außen vor halten.

Nimmt man mal den Fall, ein Entwickler würde eine Anwendung erstellen, die man mittels Crosscompiler auch auf andere Mobiltelefone bringen kann, gibt es keine Alleinstellungsmerkmal mehr und die Kunden haben keinen Grund, tatsächlich ein iPhone zu kaufen. Außerdem sind die Meta-Plattformen nicht in Apples Kontrollbereich. Wenn Apple eine neue Version seines iPhone OS mit neuen Funktionen veröffentlicht, müssen die Crosscompiler erst umgeschrieben werden. Dritthersteller müssen dann entsprechend lange warten, bis sie von den neuen Funktionen ebenfalls Gebrauch machen können. Die meisten Apps, die mit den Cross-Platform-Tools erstellt werden, sind laut Jobs zudem meistens qualitativ nicht besonders hochwertig, gerade im Fall von Flash könnte es zu einem Überschuss von wenig funktionalen Anwendungen sorgen (Beispiel: Baukasten-Apps).

Einen weiteren Grund führt der AppleInsider aus: Möglicherweise hängt der Schritt mit der gerade erst von Apple bekannt gegebenen Funktion des Multitasking im iPhone OS zusammen. Dafür sind recht umfangreiche neue APIs erforderlich. Das System selbst soll die Anwendungen verarbeiten und damit ein “Smart Multitasking” bereitstellen.

Das Problem bei der Nutzung von Crosscompilern und der Nutzung von Runtimes: Der so entstandene Code verhält sich nicht so wie eine native C/C++/Objective-C-App. Somit kann sich das System nicht auf die Anwendung einstellen, andere Prozesse können nicht so einfach angehalten werden. Apple benötigt den Zugriff auf normal kompilierte Anwendungen, um alle Funktionen des neuen Systems anständig ans Laufen zu bekommen.

Mit der neuen Bestimmung schießt Apple nicht exklusiv nur auf Adobe, sondern auch auf Frameworks wie NimbleKit, oder MonoTouch, mit Hilfe dessen sich .NET-Anwendungen auf das iPhone portieren lassen. Die Anwendungen, die mit den jeweiligen Toolkits portiert werden, sind von außen nicht als Portierungen erkennbar. Alle nutzen sie Apples UIKit, nur der hinter der App steckende Code ist eben nicht mit Apples eigenen Entwicklertools erstellt worden. Und genau das wird ihnen jetzt zum Verhängnis. Apple kann die Regeln seines eigenen SDK selbstverständlich selbst bestimmen, und es es gibt durchaus einige nachvollziehbare Gründe, den externen Frameworks den Laufpass zu erteilen.

Apple sorgt mit den Beschränkungen unter anderem dafür, dass das Nutzungsgefühl nicht leidet: Sind die Apps nicht durchweg alle in der Lage, bestimmte Systembedingungen zu unterstützen, schadet dies dem Nutzer, unter anderem in Form niedriger Akkulaufzeiten und schlechter Userexperience. Mit Apples eigenen Tools wird eine maximale Performance sichergestellt – und das ist auch gut so. Apple hat als “Gatekeeper” das gute Recht, zu entscheiden, was zugelassen ist und was nicht – wenn manche Entscheidungen mitunter auch unsinnig wirken.

Das gilt auch für die Entscheidung, Flash nicht auf iPhone, iPod touch und iPad haben zu wollen. Adobe wehrte sich in einer Beschwerde bei der US-Börsenaufsicht SEC gerade erst erneut vehement gegen die “Bedrohung durch iPhone und iPad” und sieht seine Geschäfte in Gefahr.

Abgesehen von den systeminternen Gründen sind MonoTouch und Co meist recht simpel gestrickt und bieten für die damit entstehenden Apps keine echten Mehrwerte. Die Folge, die man bereits jetzt im App Store sieht: Eine Überschwemmung mit Anwendungen, die wenige Funktionen beinhalten.

 Und wie ist deine Meinung?  Schreib uns einfach!

 5 Kommentar(e) bisher

  •  Adrian Grigore sagte am 12. April 2010:

    Sorry, aber dieser bericht ist pure Apple-Propaganda. Wenn es bei diesem Ausschluss von Cross-Compilern wirklich um die user experience und und um technische details (z.b. RAM-Speicher) ginge, dann könnte Apple auch darüber definieren, was ok ist und was nicht. Und tatsächlich gibt es ja schon solche Grenzen, wenn man z.B. an den RAM-Speicher denkt.

    Aber stattdessen schließt man ja lieber alle Fremdtools komplett aus. Im Fall von Glash und Monotouch geht es doch offensichtlich darum, sicherzustellen, dass Entwickler ihre Software nicht so einfach für verschiende Smartphones herausbringen können. Wenn jemand sein Programm nicht nur für den Marktführer IPhone OS, sondern auch für die Neulinge Android und Windows7 Mobile herausbringen will, dann soll er es dabei eben nicht so leicht haben.

    Antworten 
  •  Robert sagte am 12. April 2010:

    Schließe mich Adrians Meinung an.

    wenn Apple wirklich nur die Qualität im Sinn hat – warum unterstützen Sie dann nicht die Crosscompiler-Strategien und legen genau fest, was qualitativer “Code” ist und was nicht.

    Ich finde, auf dem Mobiltelefonmarkt gelten völlig andere Gesetze als bei “Windows everwhere”. Ein Telefon kauft man nicht, weil es für dieses Telefon mehr Apps gibt, als für ein anderes. Diese “wir bauen uns einen eigenen Markt” das zieht hier nicht!

    Auch ich (als Java-Entwickler und XMLVM-Crosscompiler-Enthusiast) bin hier maßlos enttäuscht. Wobei XMLVM ja zum Glück (noch) Objective-C Sourcen generiert, statt Binaries…

    Aber dennoch.

    traurig, traurig.

    Antworten 
  •  @seilers sagte am 13. April 2010:

    RT @Macnotes: iPhone OS 4.0: Apple untersagt Nutzung von Crosscompilern, auch von Adobe Flash http://macnot.es/36486

    Antworten 
  •  Dl sagte am 8. Juni 2010:

    Ich war bisher immer ein Apple ‘fan’. Doch dieses Firmenpolitik ist für mich mehr als abschreckend und zerstört den Charm von Apple meiner Meinung nach. Apple jammert immer wieder das Flash so viele resourcen verbraucht, dabei läuft es doch auf den meisten anderen Telefonen super.

    Wenn man bedenkt das in naher Zukunft auch Flash auf vielen TV’s Verwendung finden soll dann ist Flash nach wie vor eine aktuelle Sache.

    Ich hoffe das bald entlich einmal ein PC Notebook Hersteller eine Alternative (ein echtes Alu Notebook) für das MacBookPro entwickelt, dannn wird mein nächstes Notebook mit Sicherheit Apple frei sein.

    Antworten 
  •  Bruno sagte am 30. Juni 2010:

    Das ist absolut lächerlich!

    Nicht nur dass Apple versucht ein neumodisches Monopol aufzubauen! Nein, sie versuchen die Geduld der Nutzer und der “treuen” Anhänger zu strapazieren! Sie testen momentan die Grenzen wirklich aus… Ich habe stets das Ipod verteidigt, auch wenn viele mir sagten, dass ich mir ebenso für wenig Geld ein MP3 Player holen (und heutzutage gibt es nun mal genug Kopien!). Ich habe auch immer wieder versucht Gründe zu nennen warum ich Apple-Fan bin, aber zugegeben, mir fallen langsam keine Gründe mehr ein…

    Das iPhone an sich hat mich eigentlich groß enttäuscht, es war am Anfang relativ aufregend, aber seit ich es habe vergeht mir nach und nach die Freude damit, da man stets Grenzen findet obwohl man heutzutage überall mit “grenzenlose Möglichkeiten” wirbt… Ich dachte wir wären in der Zukunft und nicht im Zeitalter der Kontrolle…

    Ich jedenfalls werde Apple (solange sich das nicht ändern) nicht mehr weiter unterstützen, denn ich finde es schon lächerlich, dass Apple (was sich selbst schon als eine der innovativsten Konzernen betitelt) immer noch nicht vertanden hat, dass ein Akku was für ein iPod (was am Tag – gutmütig gesehen – 5 Std genutzt wird)gut ist, nicht zugleich für ein iPhone (normal 24/7) ausreicht… Mir egal wie viele technische Spinnerei das iPhone aushalten muss, wenn man was anbietet, sollte man gefälligst dafür sorgen, dass es funktioniert und der Nutzer es auch auskosten darf!

    Antworten 

Kommentar verfassen

 0  Tweets und Re-Tweets
       0  Likes auf Facebook
        Werbung
        © 2006-2013 MACNOTES.DE. Made with insanely great for all things Mac. Apple.de