Posts Tagged: cocoa

2009
20
nov

EventList: Ready for Sale


eventlist

Nemrégiben elkezdtem kóstolgatni az iPhone alkalmazásfejlesztés alapjait, majd annyira belejöttem, hogy össze is dobtam 2 alkalmazást amit az AppStore-ba szántam. Kicsit félve indultam neki az egésznek. Korábban elég rossz tapasztalatokat szereztem az Objective-C/Cocoa fejlesztés háza tájáról, nem igazán tetszett az Obj-C “kitekert” szintaktikája, a kilométer hosszúságú metódusnevek és hasonlók. Most, hogy csak az iPhone-ra fókuszáltam és konkrét célokat fogalmaztam meg a tanulási folyamat során sokkal kellemesebb tapasztalatokat szereztem és mostanra bátran merem állítani, hogy fekszik nekem az Obj-C és a Cocoa framework, jó barátok lettünk, megszerettük egymást.

Aggasztott kicsit az a rengeteg negatív kicsengérű hír amit az Apple jóváhagyási procedúrájáról és úgy általában az iPhone Developer Programról hallani lehet, de úgy tűnik eddig szerencsém volt. Az iPhone Developer Program jelentkezésemet bruttó 2 nap alatt fogadták el. Erről hallottam, hogy sok esetben több hétig tart, sőt hónapos várakozásról és hosszas adategyeztetésről is suttogtak a neten. Nem tudom, hogy szerencsém volt-e vagy csak szimplán javultak azóta a folyamatok, de a bruttó 2 nap teljesen elfogadható volt. Majd jött a jóváhagyási procedúra ami már legendásan hírhedtté vált a sok értelmetlen indokkal elutasított alkalmazással és a hosszú várakozással. Szeretném azt hinni, hogy nagyon szerencsés vagyok, hiszen az első alkalmazásom 9 nap alatt jóváhagyásra került. Valójában azonban lehet sejteni, hogy nem szerencséről van itt szó, hanem az Apple igyekszik felgyorsítani a jóváhagyási folyamatot a rengeteg kritika hatására.

A rövid kis kitérő után pedig a lényeg, hogy magyar idő szerint ma hajnalban (cupertinoi idő szerint tegnap délután fél négykor) “Ready for Sale” státuszba került az első iPhone alkalmazásom, az EventList és néhány órával később megjelent az AppStore-ban is. Ez egy egyszerű névnap alkalmazás, amely 16 ország névnapjait ismeri és a “beépített” névnapokon túl saját eseményekkel is (születésnapok, évfordulók, ünnepek stb.) bővíthető a lista.

Rövid időn belül várható további alkalmazások élesedése is az AppStore-ban, de azokról majd akkor…

A Webinhez kapcsolódó fejlesztéseknek a szerző egy külön twitter fiókot nyitott @webindev néven, ahol nem túl nagy intenzitással, de folyamatosan mikroblogolja az eseményeket. Tessék hát őt is követni, de izibe’!

2007
12
jún

Elsősorban Drupal, meg minden más is…


Úgy tűnik, hogy ez a nagy hőség nem tesz jót a blogírásnak. Volna miről írni, csak simán nincs kedvem hozzá. Így most egy postba sűrítek be több dolgot, ezért is ez a hülye cím ;-)

Megint elkezdtem például foglalkozni a Drupallal és felfedezem benne olyan lehetőségeket amelyek felett – saját “vakságomnak” köszönhetően – eddig valahogy átsiklottam. A Mambós/Joomlás “gyökerek” miatt mindig csak modulokban és komponensekben voltam képes gondolodni (lásd egy ide vágó korábbi postomat is) amely valljuk be jó dolog, de elég sablonos oldalakat eredményez. Nem akarok most ebbe mélyebben belemenni, annyi csupán a lényeg, hogy kezdek egyre tisztábban látni Drupal ügyben és az API dokumentáció valamint Module developer’s guide ebben elég nagy segítséget nyújt. De említhetném az összes, a Handbook szekcióban szereplő írást! Tény tehát, hogy a Drupal nagyon-nagyon jól dokumentált.

Aztán most így hirtelen eszembe jutott – az előbbi linkek beszúrása kapcsán (értsd: <a href="..."></a>) – hogy már megszoktam a MacBook billentyűzetet, de mivel napközben a munkahelyen PC-vel, otthon pedig Mac-kel dolgozok így minden reggel és este át kell égetnem azt a kis epromot az agyamban amely az adott platform billentyűzet layout-ját tárolja. Mivel ez időbe telik így elég gyakran előfordul, hogy PC-n ütöm például az ALT+SHIFT+Y/X-et a ‘<' és ‘>' karakterekért ;-) Majd ugyanezt fordítva Mac-en (neeem, nem a X\Y+TFIHS+TLA-ra gondolok ;-) )

A Cocoa fejlesztéssel kapcsolatban az elmúlt hetekben egy kicsit pihentetésre kerültek a dolgok, elsősorban a napi elfoglaltságok miatt. Titokban azért elárulom, hogy arra jöttem rá, hogy nagyon nagy hasonlóság van a Drupal modulfejlesztés és a Cocoa fejlesztés között. Mégpedig az, hogy jól kell ismerni a hookokat/delegate-eket, kvázi a rendszer által használt “konvenciókat” és azok működését szemben például a hagyományos értelemben vett szoftverfejlesztéssel, ahol “ész nélkül” lehet gyártani a saját névkonvencióval ellátott függvényeket és eseménykezelőket ;-)

Aztán itt van még a WWDC is, de erről beszél/blogol most mindenki, így inkább én ezt most kihagynám. Megújult viszont az apple.com. Feltűnt, hogy a Leopardot bemutató oldalon a “Watch the demo” linkre előugró ablakok stílusa eléggé hasonlít a MacRabbit féle – és a WP-Zoom-ban is használt – Lightbox mod stílusára. Lehet, hogy ez eddig is így volt csak nekem nem tűnt fel? Minden esetre és én várom a Leopard megjelenését, főként az új Finder miatt, mert ami most van az siralmas, a Path Finder pedig jó-jó, de kicsit úgy érzem, hogy ágyúval lövök verébre. Nekem a Path Finder már kicsit sok, bár tény, hogy az egyetlen használható Finder replacement – így szépen, magyarosan – ami jelenleg elérhető.

UPDATE: időközben aztán rájöttem, hogy az említett MacRabbit féle design eleve Apple ihletettségű, elég rákukkantani a Dashboard-ra szerkesztő módban :-)

2007
15
máj

Elgépelés


Cirka két estét szúrtam el azzal, hogy egy egyszerű Cocoaban írt példaprogramban megtaláljak egy hibát. Az NSUndoManager-t modellezte volna a példa, de az istennek sem akart működni az undo funkció. Hibaüzenet sem volt így az NSLog-gal kezdtem el kutakodni, majd végül a második estére kiderült, hogy egy egyszerű gépelési hibáról van szó. A legszebb az egészben, hogy azt a bizonyos elütést képes voltam kétszer egymás után elkövetni, mind a header fileban mind magában a metódus definíciójában. Pont azért nem szoktam a header fileból másolás-beillesztéssel átvinni a .m fileokba a deklarációkat, hogy ne essek bele ilyen hibába. Mégis sikerült :-)

Egyébként az elütés annyiból állt, hogy a
- (void)removeObjectFromEmployeesAtIndex:(int)index;
helyett
- (void)removeObjectFromEployeesAtIndex:(int)index;
került a kódba.

Szép dolog a “key-value” kódolás csak könnyen vezet ilyen hibákhoz.

2007
22
ápr

Knight Rider


KittA Cocoa programozás megismerése során olyan dolgokat tudhatunk meg, mint például azt, hogy a Knight Rider nagy sikerű sorozat főszereplőjének autója a “Knight Industries 2000 Super Car” nevet viseli és ezért hívják “Kitt”-nek. Mindez a Helper Object-ekkel áll összefüggésben:

…The problem was that to subclass Michael Knight, you would need to know an awful lot about his guts so that you could wire them to guns and booster rockets. So instead, they created a helper object, the Knight Industries 2000 Super Car, or “Kitt”…

Cocoa Programming for MacOSX – 2nd Edition