Egyszer elhatároztam, hogy beleásom magam a Mac OS X lelkivilágába, legalábbis azon a szinten, hogy portolni tudjuk UPi Játékait. Background infóként annyit, hogy az operációs rendszerbe be van építve egy úgynevezett Apple Developer Tools (vagy rövidebb és ismertebb nevén Xcode) nevű fejlesztőkörnyezet, ami azon kívül, hogy érti és fordítja/értelmezi/futtatja (nem kívánt rész törlendő) a C/C++, Objective–C/C++ (akik utóbbit nem ismernék, ez gyakorlatilag az Apple által hivatalosan használt, objektumorienáltságot is támogató C variáns, az egész op.rendszer magot ebben írták, elvileg...), Java, Perl, HTML (meg ennek millióféle alfaja), meg még egy pár tucatnyi nyelveket, olyan "extra" szolgáltatásokat is biztosít, mint pl. az application bundle készítése (ez gyakorlatilag annyi, hogy az alkalmazást az összes resource-szal meg mindennel, ami csak kellhet neki, becsomagolja egyetlen egy dologba, ami majd fut), vagy installer létrehozása, meg egy sor egyéb finomságot. A mezei, windózon felcserepedett júzer persze most nem érti, hogy mi is ebben a nagy extra, mivel tucatnyi olyan windózos program kering a világhálón, ami nagyjából ugyanezeket tudja. Csakhogy OS X-en minden egy kicsit más. A rendszer magja a Darwin névre hallgató BSD–variáns, vagyis az op.rendszer felfogható egyfajta UNIX–ként is. Ám erre még ráépül egy csomó egyéb cucc, amivel azt érik el, hogy aki a régi Mac OS–eken nőtt fel, annak is ismerős legyen a rendszer, ne csak pofára, hanem szerkezetileg is. Így tehát az egész egy nagy öszvér, ami egy kicsit ha akarom, ilyen, ha akarom, olyan, ha meg úgy akarom, akkor valami harmadik. Végső soron ez oda vezet, hogy eléggé nehéz olyan fejlesztőkörnyezetet csinálni, ami az OS X minden apróságával tisztában van, és ki tud szolgálni mindenkit, akár innen, akár amonnan közelít a rendszerhez. Ez úgy tűnik, hogy az Apple-n kívül eddig valóban senkinek sem sikerült, ezért gyakorlatilag OS X-re az XCode-on kívül nem létezik fejlesztőkörnyezet. Ezért ilyen nagy szó, hogy az Xcode viszont mindent tud.

Persze, az már egy következő lépés, hogy ez a minden, ez pontosan mit jelent, és hogy lehet kivenni belőle azt a bizonyos tudást.

Elméletileg, mivel az Xcode ért Perl-ül, ezért a portolás mindössze annyit kellene, hogy jelentsen, hogy csinálok egy új projectet, bemásolom a forráskódot, hozzáadom a projecthez az SDL framework-öt (ami szerencsére létezik OS X-en), és aztat mondom nekije, hogy "Build project". :-) Csakhogy, ahogy elkezdtem utánaolvasni, hogy ezeket a lépéseket hogyan is kell véghezvinni, rájöttem, hogy ez lehet, hogy nem is olyan egyszerű – különben miért kellene erről annyit írni a developer.apple.com-on?

Ami a mai blogbejegyzést kiváltotta, az persze nem ez. Hanem az, hogy miközben bőszen keresgéltem a "hogyan gyártsunk application bundle-ket" témában, rátaláltam erre:

http://developer.apple.com/documentation/UserExperience/Conceptual/AppleHIGuidelines

A Human Interface Guidelines egy olyan dokumentáció, ami pusztán arról szól, hogy hogy nézzen ki egy "jól megírt" OS X program. Itt a hogy nézzen ki alatt persze nem csak valami általános irányelveket kell érteni, hanem olyan részletekbe menő fejtegetéseket, hogy melyik szótárak alapján kell meghatározni, hogy az egyes panelekre milyen szöveg kerülhet, vagy hogy milyen színű/méretű/formájú legyen egy gomb, melyik menüelemben megengedett a "..." jel és melyikben nem, meg úgy egyáltalán, bármi, ami egyáltalán eszembe jutna, hogy képernyőre kerülhet, az pontosan hogyan, és hova kerüljön.

Persze ez egyfelől tök jó. Többek között ennek is köszönhető, hogy azok a bizonyos "jól megírt" OS X programok nagyon handyk. Minden a helyén van, és aki egy kicsit is beleszokott a környezetbe, annak egy teljesen új progi kiismerése is fél perc, mert úgyis minden ott lesz, ahol az ember amúgy is várná. Szóval tök jó.

Viszont azért valahol elgondolkodtató, hogy vajon tényleg akkor szép az élet, ha minden a jól megszokott sablon szerint megy? Elvégre a programdizájnolás is ugyanúgy egy kitörési pont a kreativitás számára... És azért az is durva, hogy ahhoz, hogy valami handy legyen és gördülékeny, ahhoz tele kell írni félezer oldalt egy csomó olyasmivel, ami a Földi Halandó Felhasználónak valószínűleg fel sem tűnik. (Pontosabban: pont azért nem tűnik fel, mert úgy van. A legszebb az, hogy ha valami nincs úgy, valószínűleg alig páran tudnák megmondani, hogy mi nem stimmel, pusztán csak észlelnék, hogy valami nem stimmel.)

Furcsa dolgok ezek...

Utoljára módosította SAdam 2008.VII.17 18:10-n
Bejegyzés módosítása | PermaLink
Votes disabled.
Tagek: