Marocchino je tu aneb EAP AppCode 3.0

25.4. firma JetBrains vydala AppCode 3.0 v EAP (Early Access Program) a já konečně našel čas na detailnější průzkum. První překvapení – kódové označení – Marocchino. Co to je? Od verze 3.0 se firma JetBrains rozhodla, že začne pojmenovávat jednotlivé verze podle nápojů obsahujících kakao (= Cocoa). Tak tu máme Marocchino. Změna k lepšímu, protože to zpřehlední orientaci.

UI Designer

Jedna z výrazných změn je přímá integrace UI Designeru. Pro verzi 2.5.x byl představen jako plugin. Nyní je součástí AppCode. UI Designera moc nepoužívám, nechci detailněji hodnotit. Na první pohled se mi líbí víc než designer v Xcode a to z toho důvodu, že se na obrazovku vejde více informací a není potřeba tolik přepínat.

Příkladem budiž paleta komponent. V AppCode vidím všechny komponenty s krátkým popisem. Xcode zbytečně plýtvá místem. Můžu si komponenty zobrazit s popisem, ale ten je zbytečně ukecaný. Nebo si to přepnu na ikony, ale tam mi zase ten popis chybí. AppCode to dle mého názoru řeší zlatou střední cestou a líbí se mi to víc.

Pořád mi nejde do hlavy proč se Apple rozhodl, že v Xcode bude všechno v jednom okně. Asi mu skomírá prodej 27” ACD. Jinak si totiž dost dobře nedokážu představit jak někdo může pracovat se story boardy na menších monitorech. V Xcode mi chybí věci jako plovoucí okna. V AppCode tam můžu poslat v podstatě cokoli a dokonale si tak přizpůsobit IDE aktuálním potřebám.

Jinak si všimněte, že v AppCode je o poznání méně klikání myší. Při editaci mám v plovoucím okně jenom dva taby – Properties a Connections. V Xcode jich mám šest – File Inspector, Quick Help, Identity Inspector, Attributes Inspector, Size Inspector a Connections Inspector.

Drobnosti, drobnosti, ale mě se to líbí víc. Méně klikání, lepší uspořádání, rychlejší práce. Jak jsem psal, moc nepoužívám, takže to spíš berte jako pohled zvenčí.

Na blogu píšou, že UI Designer podporuje všechny komponenty z iOS SDK a Mac OS X SDK. Zrychlený průlet paletou to potvrzuje. Dále podporuje XIB a story board. Jediná limitace je, že v této verzi nelze manuálně vytvářet layout constraints. Zatím. Bez toho to vydat nemůžou, to by byl useless nástroj v dnešní době. Toho se snad brzy dočkáme.

Nastavení projektu

Konečně. V AppCode 3.0 je možné přidávat targety. Je to ještě takové nedomrlé mládě, ale konečně na tom pracují. Sledovat můžete zde. Pokud vám něco chybí, teď je ta správná chvíle vytvořit feature request nebo reportovat problémy současné implementace.

Terminál, shell, …

Srdce command line guy plesá.

Search everywhere a.k.a. Spotlight

AppCode nabízí poměrně dost možností v oblasti vyhledávání, navigace, … a v 3.0 přidává funkci Search everywhere. Takovým Spotlight v rámci projektu, workspace, … Hledám, nevím co přesně, použiji Search everywhere. Vyvolá se dvojitým stlačením klávesy Shift.

Fixnuté bugy

To bylo pár zajímavostí, zbytek si přečtěte v jejich originálním blog postu o AppCode 3.0. Já se raději mrknu rovnou do YouTracku.

Vylepšená podpora C++[11] – zavřeno 41 bugů. Víc vás asi bude zajímat podpora Objective-C. Tam bylo taky fixnuto pár věcí:

  • AppCode už neřve při používání @weakify / @strongify z libextobjc (OC-8138, obecná podpora maker s OC-8978)
  • CocoaLumberJack – AppCode už správně kontroluje použité typy ve formátovacím řetězci a passnuté parametry (OC-9094)
  • přepínání verzí Xcode v GUI, žádné xcode-select (OC-7657)
  • podpora jiného odsazení v bloku podle Google Objective-C Style (OC-8208)
  • hmm, tohle bych zrušil, žádné varování když má funkce návratovou hodnotu void * a já vracím třeba return @”hello”; to si někdo s ARCem užije, minimálně bych v tomhle případě vynutil __bridge void *, pro přehlednost_ _(OC-8970)
  • fixnuté autocompletion instancetype (OC-6828)
  • fixnuté false positive warnings / error (OC-9412, …)
  • vylepšené formátování, podpora CocoaPods, méně zbytečných změn v _.xcodeproj _a další nepříliš zajímavé drobnosti

Obecně bych to shrnul tak, že došlo k vylepšení inspekce kódu, vylepšení formátování a hlavně je AppCode 3.0 zase o něco rychlejší. Teda pokud se zrovna nehryzne 😉

Kdo používá AppCode (nebo chce začít), tak stahujte AppCode 3.0 EAP a reportujte bugy. Už jich tam pár mají. Relativně otevřený vývoj, ne jak černá díra Apple 🙂