HTML

Xcode 5 újdonságai

2013.06.17. 10:25 DJ Etus

Az iOS 7 és a Mac OS X Mavericks-szel új fejlesztői környezet is jön, ami elsőre egész jónak tűnik! Mondjuk mióta felraktam azóta a régi szimulátor processzével néha megszűnik a kapcsolata a Xcode 4.6-nak, de hát valamit valamiért.

Kinézet, alapvető újdonságok

Az Xcode 5. alap koncepciója, hogy miközben használod valóban a kódra koncentrálhatsz és nem kell az Xcode-dal foglalkozni. (Eddig nem ez volt a koncepció? Lol.) Tehát:

  • Van új Toolbar, ami sokkal kisebb, mint az eddigi.
  • Az egész kicsit megváltozott, több a szöveg, kevesebb az ikon és a sallang.
  • A Help külön ablakot kapott, már nem az Organizerben van. 
  • Xcode 5 sokkal gyorsabb, mint az Xcode 4, lényegében majdnem minden 2x sebességgel megy, mint az előző verzión... és tényleg. Kicsit lassan indul, de utánna hasít!

Source Control

  • Új projektet rögtön kicsekkolhatunk a gyorsindító menüből.
  • Új Source Control menüpont a szerkesztőből, tehát minden gyakori művelet elérhető a szerkesztőből, ami mindig az adott kontextushoz igazodik (tehát vagy commit van, meg branch vagy mondjuj check-out).
  • Rögtön a szerkesztőből lehet branchelni, brachet váltani, mergelni, ami nagyon egyszerű.
  • A verziókezelési infók beépülnek a szerkesztőbe (egészen pontosan a Quick Help-be), vagyis látod, hogy melyik sort ki változtatott meg, handy!
  • Ki lehet kapcsolni a verziókezelést a fejlesztő környezetben, ha más külső toolt használsz.(<- ez is nagyon kellett már!)

Automatic Configuration

  • Megadod a Developper ID-d és tud mindent: automatikusan kezeli az összes profilt, nem kell szórakozni a letöltéssel. Tehát minden profilokkal, tanusítványokkal kapcsolatos dolgot automatikusan intéz a fejlesztő környezet, hurrá!
  • Az Apple szolgáltatások (pl. iCloud, GameCenter, In-App Purchase) egyetlen kapcsolóra redukálódtak a projekt tulajdonságoknál. Be sem kell lépni a dev portálra (vagy az iTunes Connectbe), minden megy az IDE-ből.

Interface Builder újdonságai

  • Autolayout középpontba került (használható maradt a Springs and struts is), ehhez kapcsolódóan jött be egy csomó újdonság:
    • Xcode mostantól nem pakol be magától kényszereket és nem változatja meg a tieidet.
    • A hiányzó kényszereket be lehet vele rakatni, ha kell.
    • Jelzi, ha nincs elég kényszer pl. hiányzik a magasságára vonatkozó kényszer vagy pl. a verikális pozíciót nem tudja meghatározni.
  • Asset Catalog: ez tárolja az összes erőforrást Xcode 5-ben. A fejlesztő környezet mostantól tudja magától mire van szükség (splash-screenek, ikon méretek, elnevezési konvenciók) stb. Az összes hiányzó erőforrást drag-and-droppolva be lehet rakni a neki megfelelő helyre, nem kell szórakozni az elnevezésel, plusz mutatja, hogy mi hiányzik, milyen méretben, stb.
  • Preview: meg lehet nézni, hogy az adott Storyboard scene hogyan fog kinézni majd a device-on, aminek a verziója is megadható és mivel a iOS 6 <-ban és az iOS 7-ben teljesen máshogy néznek ki a beépített elemek, így ez egy elég hasznos funkciónak tűnik.

Fordító

  • Kiesik a GCC, csak LLVM fordító van Xcode 5-ben (ezzel forították az iOS 7-et, Mavericks-et és magát az Xcode-ot is, a bátor cupertinói srácok).
  • Nagy gyorsítást értek el azzal, hogy a API-k header-jeiből csináltak egy adatbázist (Module néven) és a fejlesztő környezet mostantól ezt az adatbázist használja, hogy megtaláljon valamit, nem parzolja fel a több 100 header fájlt. Korábban ugyanis, amikor beraktál egy frameworköt, akkor neki állt feldolgozni azt (UKit alapból nagyon sok header, ami ráadásul további header-öket importál). Ráadásul a Module automatikusan linkeli a frameworköket, magától kezeli őket, egyáltalán nem kell hozzáadogatni a projekthez.
  • C++ 11 összes fontos feature támogatottá vált.
  • LLVM Auto-vectorizer: a vektorműveletekké változtatható kódrészeket automatikusan azzá alakítja a gépi kódban.
  • Felparzolja a megjegyzéseket és automatikus Quick Help-et csinál belőle.
  • Static-analyzer sokkal jobb, mint eddig (hiszem, ha látom). Működik C++-szal is és mostantól egyetlen fájlra is bekapcsolható.

ARC

  • Maga az Xcode 5.0 is ARC-kal készült (ezért olyan stabil)! A GC is eltűnik az OS X fejlesztésből.

Debugger

  • LLDB van csak a gdb-t kidobták.
  • Mostantól mutatja a kódban, hogy éppen minek mi az értéke, és a belső változókhoz sem kell már po!
  • Sőt, az erőforrások tartalmát is egyből mutatja, pl. képeket vagy szineket. 
  • Breakpoint funkciók mind egy helyre kerültek a Debug bar-ra.
  • Debug Gauges: a futó alkalmazás "light-weight" teljesítmény infói is láthatóvá váltak a debug módban (nem kell hozzá Instruments), egészen pontosan: CPU, memória, iCloud, energia felhasználás és OpenGL ES mérőszámok. Elvileg kevesebb, mint 1%-át viszik a max teljesítménynek. A részletes adatokat egy kattintással továbbra is az Instruments-ből érhetők el. A demóból az jött lett, hogy a túlzott memória használathoz kapcsoló hibák felderítésére egész jól használható.

Teszetlés

  • Új Test Navigator tab, ahol látod a teszteseteket és onnan egyből tudod a kijelöltetet futtatni.
  • Új tesztkeretrendszer: XCTest az OCTest helyett.

Bots

  • Continous Integration támogatásra.
  • OS X szerveren futó tesztelő botok, amelyek analizálják a kódot, futtatják a teszteseteket stb, Maguktól kicsekolnak a verziókezelőből aztán neki állnak a melónak, de elég jól konfigurálhatók, hogy mit is csináljanak. De pl. aláírni is tudnak tehát egész éjszaka futnak a botok, de reggel már ott vannak a friss IPA-k is, amiket lehet tovább adni a UI tesztereknek pl.
  • Központi UI ahol lehet nézni, hogy éppen milyen botok futnak és mit csinálnak stb.
  • Sajnos Mavericks kell az Xcode szerverhez, viszont futhat ugyanazon a gépen is, mint ahol a kliens appok vannak.

Összességében az előadás és pár napnyi használat után egyértelműen pozitívak a benyomásaim a fejlesztői környezetről, csak így tovább!

Szólj hozzá!

Címkék: iPad iPhone iOS iPod Touch Objective-C XCode

A bejegyzés trackback címe:

https://wwdcnotes.blog.hu/api/trackback/id/tr195361540

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása