A múlt hét csütörtöki Apple Special Event iPhone 4 OS bemutatásának egyik mozzanata az volt, hogy fejlesztők letölthették, sőt, telepíthették a bétát készülékeikre. Ennek célja, hogy a nyárra piacra kerülő szoftvert, benne a multitaszk funckionalitással, a fejlesztők kézhez kapják, alkalmazásaikat idomítsák és nyitásra minden készen álljon az ő oldalukról is.
Az OS 4 béta telepítésekor viszont kiderült, hogy az Apple megváltoztatta a felhasználási feltételeket ismételten a platformon, amivel teljesen explicit módon azt mondta ki, hogy aki nem Cocoa Touch-on / weben programozik, az nem fogja tudni futtatni a szoftverét.
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).
Sárgával az új, önmagában jelentéktelennek tűnő rész. Magyarra fordítva ez az egész annyit jelent, hogy a készülő Adobe CS5-ben levő, iPhone-ra forgatott Flash sem fog elindulni rajta, illetve aki ebben a formában adná be az alkalmazásait, az a 3.3.1-es pontra való hivatkozással el lesz utasítva az App Store-ból. A Microsoft .net is megpróbál MonoTouch-on keresztül megjelenni a platformon, de az sem fog futni.
Mindebből az következik, hogy aki iPhone / iPadre kíván fejleszteni, kötelezően az Apple által adott SDK-t kell használnia. Ezt a döntést lehet nem szeretni, lehet ellene tiltakozni, felháborodni, de megváltoztatni aligha.
Az Apple indoklása ugyanis az, hogy az ilyen meta-platformok nem képesek arra, hogy megfelelő minőségű szoftvert hozzanak létre. Ezt maga Steve írta egy vásárlónak válaszolva:
Weve been there before, and intermediate layers between the platform and the developer ultimately produces sub-standard apps and hinders the progress of the platform.
Ennél talán sokkal fontosabb az, hogy ha létrejönne egy Flash alapú rendszer az iPhone platformon, akkor az Apple újra ki lenne szolgáltatva nekik, pontosan úgy, mint most Mac-en. Azon is lehet vitatkozni, hogy egy Apple-szerű cég internetes pluginjének ilyen széles mértékű elterjedtsége jó, vagy rossz-e a netnek. Ugyanez az iPhone platformján jó-e az Apple-nek. Nos, ők úgy döntöttek, hogy megelőzik ezt az egészet és nem engedik megtörténni ugyanazt a saját kis eszközeikkel, mint ami megtörtént évek alatt a neten.
Az Adobe egyébként két remek ingyenes alkalmazással is jelen van iPhone-on és iPad-en. Az egyik a Photoshop mobile, amivel egyszerűbb képszerkesztési és feldolgozási műveleteket hajthatunk végre, a másik pedig az Adobe Ideas for iPad, ami egy egyszerű ujjal skiccelő alkalmazás. Érdekesnek tartom, hogy az Adobe ettől függetlenül nem lóbálja be nekik a nagy faszt és tilt ki mindent a platformról.
Egy másik nagyon érdekes aspektusa a dolognak, hogy pontosan ugyanennyi erővel tilthatná ki a Microsoft is az iTunest Windowsról, hiszen az Apple ott is a saját privát framework-jeit használja. De nem tiltja, mert a Microsoft Windows stratégiája az, hogy “everywhere”, vagyis ők pillanatnyilag örülnek annak, hogy iTunes van Windowsra is. Persze ha kitiltanák egy hasonló felhasználói szerződés miatt, az Apple azonnal megírná MS frameworköket használva a dolgot, hiszen nekik üzletileg fontos a Windows is. Lehet, hogy nem is lenne baj, és nem utálná őket mindenki odaát.

photo source
Kell-e aggódni ezen az egész kérdésen?
Szerintem nem. Igazából csak az Adobe-nak és a Flash fejlesztőknek kell, akik nem hajlandóak Obj-C programnyelvre áttérni, illetve valamiféle misztikus módon utálják az Apple SDK-ját. Ez a kérdés rengeteg fejlesztőből kiváltotta a hisztit, érthetetlen módon. Mi a jó a Flashben annyira, hogy ne érje meg megnézni az Apple SDK-ját? Az Apple remek fejlesztői eszközöket ad mindenkinek, rémesen odafigyelnek arra, hogy mindenki hozzájusson minden olyan információhoz, amivel értéket tud adni a platformnak, csak ki kellene próbálni.
Egyetlen jó argumentumot találok arra, hogy miért IGEN, mégpedig azt, hogy cross-platform fejlesztéseket tesz lehetővé. Megírja valaki “flashben” a szoftvert, biztos lehet benne, hogy a programja működni fog Android telefonokon és iPhone-on is. A fejlesztőknek tehát nem kell külön platformra fejleszteniük, elég az alkalmazásukkal foglalkozni. Ugyanakkor lássuk be, hogy ez a netes flash iránya, ami már bebizonyította, hogy mi történik akkor, ha egy cég szoftver platformja széles körben elterjedtté válik.
Azt is érdemes megnézni, hogy mik születnek az ilyen cross-platform gyermekekből, a Firefox jó példa rá. Mac-en például csapnivaló dolog, azért, mert semmi köze egy natív Cocoás alkalmazáshoz. Egy bődületes interface hack és újra kellene írni az egészet Mac-en. (Aki nem használt Mac-et, az úgysem fogja érteni, miről beszélek.) Lassú is, szemét is, nem is csoda, hogy megjelent a Camino, ami egy natív Mac-es Firefox akar lenni.
Számomra sokkal inkább aggasztó a drákói App Store rejection policy, ami mindenféle mondvacsinált okok miatt visszadobja a lefejlesztett alkalmazásokat. Aki például iTunes logót használ az alkalmazásában, nem számíthat sikerre, és így tovább. Ettől függetlenül rengeteg szemét kerül az App Store-ba és véleményem szerint szükség lenne egy anarchikus boltra is, ahova mindenki azt tesz bele, amit akar, és e mellett lenne az iTunes Store, ahova Apple Approved cuccok kerülnek be. Ez persze azt is jelentené mindenki számára, hogy továbbra is az Apple API-jait kell használni a fejlesztéshez, tehát ha pl. nincs tethering, akkor nincs tethering, viszont ez a nagyon nehezen megfogható minőségbiztosítási rendszer erősen, ha szabad így kifejeznem magam, avítt.
Pillanatnyilag tehát itt tartunk, az Apple nagyon komolyan veszi a platformját, értsd: nem engedik ki a kezükből, de meg is értem a dolgot.
Annak idején én is jailbreakeltem a telefonomat, aztán rájöttem, hogy az egésznek nincs semmi értelme. Nem rossz az, ahogy ki vannak a dolgok találva, nem rossz az, ahogy Kaliforniában elgondolták, hogyan kell használni. A dolog szerintem ott bukik el, hogy az emberek a helyett, hogy kipróbálnák, megértenék és elgondolnák azt, hogy milyen döntést miért hoztak, inkább ellenségesen és felháborodva állnak hozzá a kérdéshez.
Egy dolgot viszont mindig lehet tenni: lehet mást választani, aztán hosszú távon majd kiderül, hogy mi működik.