Tijdens WWDC geeft Apple van oudsher ontwikkelaars een voorproefje van de volgende belangrijke release van de IDE, Xcode. Bij elke grote release verbetert het bedrijf zijn ontwikkelaarstools en voegt het een aantal aantrekkelijke nieuwe functies toe. En dit jaar was niet anders.
Tot Xcode 8 was elke versie van Xcode gekoppeld aan een specifieke versie van de Swift-programmeertaal. Dat is niet langer waar vanaf Xcode 8. Swift 3 introduceert een hoop veranderingen en een aanzienlijk aantal van deze veranderingen zijn aan het afbreken.
Projecten gemaakt met Xcode 8 gebruiken standaard Swift 3. Gelukkig bevat Xcode 8 een build-instelling waarmee ontwikkelaars kunnen vasthouden aan Swift 2, Swift 2.3 om precies te zijn.
Dit betekent dat u kunt kiezen wanneer u een project naar Swift 3 wilt migreren. Als u een doel voor Swift 2.3 wilt configureren, opent u de build-instellingen van het doel en stelt u deze in. Gebruik de Legacy Swift-taalversie naar Ja.
Xcode 8 bevat ook een migratiehulpprogramma waarmee u een project naar Swift 3 kunt migreren. Ik heb gemengde resultaten gehad met de migratietool van Xcode 7. Swift 3 introduceert vele, vele wijzigingen en ik hoop dat de migratietool aanzienlijk is verbeterd wanneer Xcode 8 is klaar voor release.
Een van de meest verrassende functies was de introductie van uitbreidingen van de broneditor. Ontwikkelaars vragen al vele jaren om een native plugin-architectuur. Bron-editor extensies zijn een eerste goede stap in die richting.
Er is veel te leuk aan extensies voor Xcode, maar Apple benadrukt dat extensies momenteel gericht zijn op het manipuleren en navigeren van de inhoud van de broneditor, vandaar bronredacteur-extensies. Xcode 8 bevat zelfs een sjabloon om u op weg te helpen.
Wat ik vooral leuk vind aan de uitbreidingsarchitectuur, is dat elke extensie in een afzonderlijk proces wordt uitgevoerd. Dit betekent dat een crashende extensie Xcode niet onverwachts stopt. Dit veroorzaakte vaak problemen met inheemse plug-ins, vooral als Apple een nieuwe belangrijke release van Xcode zou versturen.
Andere voordelen van extensies zijn meer dan plug-ins is beveiliging. U kunt extensies ondertekenen en distribueren met uw ontwikkelaarsaccount. Apple heeft ook gezegd dat je de Mac App Store kunt gebruiken voor het verspreiden van extensies. Dit is een geweldige optie als u geïnteresseerd bent in het verdienen van geld met de extensies die u maakt.
Ik ben erg enthousiast over uitbreidingen van de broneditor. Hoewel ik een grote voorstander ben van Alcatraz, lijkt Apple's native implementatie van extensies de toekomst. Ik kan niet wachten om te zien wat voor soort uitbreidingen ontwikkelaars gaan bouwen. Er zijn al een paar beschikbaar op GitHub.
Zelfs de beste ontwikkelaars besteden een aanzienlijk deel van hun tijd aan het debuggen en Apple begrijpt de behoefte aan betere tools om deze taak eenvoudiger te maken. Xcode 8 introduceert een aantal belangrijke verbeteringen met betrekking tot foutopsporing.
Bekijk debugging is veel krachtiger in Xcode 8. Betrouwbaarheid is verbeterd en het debuggen van ambigue of onbevredigende lay-outs is veel eenvoudiger dankzij een verbeterd view debugger dat runtime-problemen weergeeft.
Runtime-problemen? Dat is juist. Xcode 8 introduceert runtime-problemen naast buildtime-problemen. Als u tijdens runtime problemen met de Auto Layout tegenkomt, toont Xcode het probleem als een runtime-probleem in de Geeft Navigator problemen aan de linkerzijde. Dit is een zeer welkome aanvulling.
Xcode 8 heeft ook een vrij indrukwekkende geheugendebugger voor het opsporen van geheugenlekken en het vasthouden van cycli. Ik weet niet zeker hoe nuttig het in de praktijk zal zijn, maar het ziet er heel, heel mooi uit.
Code ondertekening is een noodzakelijk kwaad voor ontwikkelaars die geïnteresseerd zijn in de platforms van Apple. Gelukkig steekt Apple zijn kop niet in het zand. Het begrijpt de pijn die ontwikkelaars hebben. Zelfs veteranen worstelen van tijd tot tijd met problemen met code-ondertekening. Tijdens de Platforms State of the Union van dit jaar heeft Apple zelfs voor zichzelf gekheid gemaakt Los probleem op knop die het probleem zelden oploste en soms de zaken nog erger maakte.
Problemen met codeondertekening behoren met Xcode 8 tot het verleden. Voor elk doel kunt u een selectievakje aanvinken om Xcode te laten weten dat het namens u de code ondertekent. Deze optie is standaard ingeschakeld voor nieuwe projecten. Wanneer ingeschakeld, beheert Xcode certificaten, provisioningprofielen en applicatie-identificaties voor u.
Ik hoop dat Apple het deze keer goed heeft gedaan. En met mij tienduizenden andere ontwikkelaars.
Als je het leuk vindt om met prachtig vormgegeven software te werken, kun je misschien genieten van Apple's nieuwe San Francisco Mono-lettertype dat wordt meegeleverd met Xcode 8. Het is een monospaced-variant van San Francisco en past precies bij het systeemlettertype van macOS.
Is het u opgevallen dat de huidige regel is gemarkeerd in de bovenstaande schermafbeelding? Dat is een welkome verbetering die Apple heeft toegevoegd aan Xcode 8. Ik gebruik momenteel Backlight voor Xcode om hetzelfde effect te bereiken in Xcode 7. Ik denk dat ik die plug-in niet meer nodig heb in Xcode 8.
Over drijvende third party-plug-ins gesproken, ik gebruik momenteel de uitstekende KSImageNamed-plug-in van Kent Sutherland om het aanvullen van de code voor afbeeldingen in Xcode mogelijk te maken. Ik heb die plug-in niet nodig als ik overstap naar Xcode 8 omdat deze functie nu in Xcode is ingebouwd.
Ontwikkelaars besteden een buitensporige hoeveelheid tijd aan het doorbladeren en lezen van documentatie. Goede documentatie gaat een lange weg en de documentatie van Apple is uitstekend. Bladeren door de documentatie is een ander verhaal.
Deze pijn is nu opgelost in Xcode 8. Het nieuwe documentatieformaat ziet er prachtig uit en de documentatiebrowser is snel en gemakkelijk te gebruiken. Apple consolideerde ook de documentatie voor zijn platforms, wat resulteerde in een veel kleinere geheugenvoetafdruk.
En ja, documentatie kan er prachtig uitzien. Bekijk deze screenshots als je me niet gelooft.
Het spreekt voor zich dat ik slechts een deel van wat nieuw was in Xcode 8 behandelde. De volgende belangrijke release van Xcode is altijd iets waar ik naar uitkijk. Ontwikkelaars brengen zoveel tijd door in hun codebewerker en het is daarom begrijpelijk dat zij om de evolutie ervan, zowel goed als slecht, geven. Wat is je favoriete functie van Xcode 8? Deel het in de reacties.