Wat is er nieuw in Xcode 9?

Wat je gaat creëren

De WWDC-aankondigingen van dit jaar concentreerden zich op de opwindende nieuwe SDK's, zoals ARKit, en de veranderingen aan iOS 11. Apple heeft Xcode echter ook met Xcode 9 aanzienlijk verbeterd. Niet te overtroffen door de andere aankondigingen, de nieuwe versie van Xcode is een sprong voorwaarts voor codeerders. Ontwikkelaars zullen zeker blij zijn!

Inbegrepen in de verbeteringen van dit jaar:

  • bijgewerkte ondersteuning voor Swift 4, inclusief parallelle ondersteuning voor Swift 4.0 en 3.2
  • supersnelle snelheidsverbeteringen voor Xcode Project Navigator en Editor, van indexering tot refactoring-tools
  • een volledig herbouwd onderdeel voor broncodebeheer (SCM) met naadloze Git- en GitHub-integratie
  • mogelijkheid om meerdere gelijktijdige simulators uit te voeren en om draadloos te debuggen op fysieke apparaten zoals de iPhone en Apple TV
  • een nieuwe Main Thread Checker-tool om ervoor te zorgen dat UIKit en AppKit voldoen aan de regels
  • verbeterde Interface Builder-rendering van UI-componenten.

Dit is zeker een zeer opwindende lijst met veranderingen, dus laten we ze één voor één bekijken, te beginnen met Swift 4.

Ondersteuning voor Swift 4

Swift evolueert gestaag van jaar tot jaar, en dit jaar ondersteunt Xcode de nieuwste grote Swift-release, Swift 4. Hoewel de nieuwste opensource-iteratie niet zo groot is als de vorige versies, heeft Xcode 9 het proces zelfs verbeterd Handiger. 

Om te beginnen ondersteunt Xcode 9 nu de mogelijkheid om zowel Swift 4.0- als Swift 3.2-doelen tegelijkertijd te compileren, wat betekent dat je als ontwikkelaar kunt kiezen om je project geleidelijk te migreren in plaats van alles tegelijk, en je kunt je projectdoelen laten schrijven in beide de laatste of vorige taalversie.

De compiler van Xcode 9 begrijpt beide versies en vraagt ​​via de Xcode Migration Assistant gebruikers nu om te kiezen welke doelen moeten migreren naar versie 4.0. 

Xcode 9 evalueert uw code en geeft u inzicht in uw nalevingsstatuut voor projectmodernisering en beste praktijken, via de Editor> Valideren menu-optie. 

Verbeteringen van projectnavigator en editor

Vervolgens krijgt Xcode 9 enkele noodzakelijke verbeteringen aan de IDE zelf, met name de onderdelen Project Navigator en Source Editor, te beginnen met een snellere indexeringsengine die uw zoekmogelijkheden versnelt en sneller resultaten oplevert. 

Ontwikkelaars kunnen een groot codebasis doorzoeken en direct resultaten krijgen, omdat de indexeringsmachine nu ook bestanden indexeert terwijl ze worden gecompileerd, terwijl eerdere bestanden in een compilatietoestand niet werden geïndexeerd. Dit geeft ontwikkelaars de mogelijkheid om snel tussen bestanden te bladeren en bestanden van gekoppelde projecten en bibliotheken te doorzoeken, een welkom voordeel, vooral wanneer u werkt met CocoaPods en werkplekken met meerdere projecten.. 

De Editor zelf is ook opnieuw opgebouwd, waardoor Apple -zoals Apple zegt- een "snelle structuurgebaseerde editor is waarmee je intelligent je code kunt markeren en navigeren". Wat dit betekent is een nieuwe highlighting-engine die logisch gegroepeerde blokken beter herkent, en dat geeft je slimme tools voor het navigeren tussen verwante delen van je codebase.

refactoring

Naast dat ontwikkelaars gemakkelijk van klas naar klas kunnen navigeren, of van methode naar methode, biedt Xcode ook een geheel nieuwe refactoring-functie. De refactoring-tool biedt een modaal editorvenster om alle mogelijke wijzigingen te vergelijken terwijl u Swift-methoden extraheert en herdefinieert. Dit maakt refactoring eenvoudig, zelfs tussen Swift- en Objective-C-methoden. 

U kunt nu symbolen bijwerken, getters en setters aanpassen, iVars synthetiseren en verplichte protocolmethoden automatisch invullen voor conformiteit, allemaal met een enkele klik. 

Markdown Editing

Andere kleine verbeteringen zijn onder andere native ondersteuning voor Markdown-bestanden (weergegeven met de Markdown-stijlen) in de editor. Deze verbetering is logisch gezien de diepere integratie van Xcode met GitHub, en het is nuttig om toegang te hebben tot README.md bestanden visueel beter in de editor. 

Swift Playgrounds

Xcode 9 biedt ook nieuwe iOS Playground-sjablonen die je niet alleen in Xcode kunt uitproberen, maar ook op Swift Playgrounds voor iPad!

Andere kleine bewerkingsverbeteringen

Het is ook een kleine verbetering, maar de editor laat gebruikers nu de lettertypegrootte van de editor vergroten of verkleinen met behulp van de macOS-conform of snelkoppelingen. 

Een andere kleine verbetering is het aanmaken, hernoemen en verwijderen van groepen in de Project Navigator. Wijzigingen in een groep aanbrengen, wordt nu weergegeven in de bijbehorende map, zodat consistentie wordt benoemd en er geen ergernis is die veel ontwikkelaars hadden met hoe Xcode werkt met bestandssysteemmappen. 

Ten slotte voegen verbeteringen aan de Asset Catalogue van Xcode ondersteuning toe voor de nieuwe HEIF image open standaard die deel uitmaakt van iOS 11.

Verbeteringen in het beheer van broncontroles 

Een van de opmerkelijkste verbeteringen aan Xcode was het geïntegreerde bronbeheerbeheer, dat tot nu toe werd verwaarloosd. In plaats van de vorige semi-gebakken SCM die nooit echt deel uitmaakte van Xcode, bevat Xcode 9 nu een volledig vernieuwde SCM-integratie.

Van een nieuwe SCM-navigator die naadloos is geïntegreerd, krijg je ook krachtigere manieren om met branches en tags te werken. En dat niet alleen, maar Xcode heeft nu een diepe integratie met GitHub, waarmee u uw account rechtstreeks kunt beheren vanuit Xcode-voorkeuren, GitHub-repository's kunt maken met één klik en door openbare repos kunt bladeren vanuit de editor.. 

Voor een nadere blik op nieuwe SCM-functies in Xcode 9, bekijk ons ​​bericht What's New with Git Support in Xcode 9.

Verbeteringen voor foutopsporing en simulatie

Om niet achter te blijven, kreeg ook Debugging veel aandacht in Xcode 9. We zullen beginnen met kijken naar wat er nieuw is in Xcode Simulator.

Xcode Simulator

Voorheen kon je bij het starten van Xcode Simulator maar één simulator per keer starten. Dus als u op meerdere apparaattypen moest testen, zou u ze elk om de beurt moeten uitvoeren. Dit maakte het testen langzamer, zowel voor handmatig als geautomatiseerd testen.

Dit is veranderd in Xcode 9. Ontwikkelaars kunnen voor het eerst gelijktijdig meerdere simulators gebruiken, waarbij geautomatiseerde testtools nu in staat zijn parallel tests uit te voeren. 

Er zijn een paar andere kleine maar handige aanpassingen aan Simulator die Apple heeft geïntroduceerd. Een daarvan is dat je de Option-toets ingedrukt kunt houden om het Simulator-venster te sluiten, maar het toch op de achtergrond draait. U kunt Simulator ook starten vanaf de opdrachtregel, wat handig is voor geautomatiseerde test- en bezorgtools. 

Ontwikkelaars kunnen ook video's van simulators opnemen, naast het maken van screenshots, wat handig is voor het publiceren in de App Store. 

Last but not least, ontwikkelaars die van Simulator afstuderen om te testen op echte apparaten hoeven hun apparaten niet langer fysiek in te pluggen. Apple laat ontwikkelaars nu het snoer doorsnijden en iOS- en Apple TV-apparaten draadloos debuggen, met een functie met de naam Netwerk Debugging.

Hoofddraadcontrole

Een nieuwe standalone debug-tool die Apple heeft geïntroduceerd samen met Xcode 9, Main Thread Checker is in staat om niet-conform gebruik van prominente SDK's zoals AppKit en UIKit te detecteren vanuit een achtergrondthread. Bijvoorbeeld, ontwikkelaars zouden kunnen gebruiken UITableView acties in de achtergrondthread, wat kan resulteren in vreemde visuele effecten en foutieve updates. De hoofddraadcontrole is standaard ingeschakeld en kan worden geconfigureerd via de Scheme Editor. 

Ingebouwde Xcode-server

Xcode 9 heeft nu Xcode Server-bots ingebouwd en standaard, waardoor ontwikkelaars geen installatie van macOS Server nodig hebben. Dit betekent dat ontwikkelaars Xcode Server-bots op elke computer kunnen uitvoeren en profiteren van de beste werkwijzen voor continue integratie. 

Verbeteringen aan de interfacebouwer

Ontwikkelaars zien in de loop der jaren geleidelijke veranderingen en verbeteringen aan Interface Builder (IB), met voortdurende verbeteringen in het weergeven van schermen. Xcode 9 gaat door met het verfijnen van IB door UI-componenten nauwkeuriger op het canvas weer te geven. Verbeterde componenten zijn navigatie, tabblad en de werkbalken. 

Een andere nieuwe functie is dat Xcode en IB ontwikkelaars nu zullen waarschuwen wanneer kijkbeperkingen locatieregels zouden kunnen veroorzaken. U wordt bijvoorbeeld gewaarschuwd wanneer een wijziging in een weergave ervoor kan zorgen dat woorden in een andere taal, zoals het Duits, worden afgekapt of afgekapt. Dit gaat zeker veel tijd besparen voor ontwikkelaars die meerdere talen ondersteunen. 

Over lay-outs gesproken, Interface Builder ondersteunt nu ook veilige hulplijnen voor automatische opmaak, wat hints zijn die ontwikkelaars helpen om UI-elementen te rangschikken. Hiermee worden de bovenste en onderste lay-outgidsen in eerdere versies van Xcode beëindigd.

Conclusie

Het nieuwste deel van Xcode biedt een overvloed aan nieuwe functies die de productiviteit van ontwikkelaars verbeteren. Samen met de aankondiging van Swift 4 maakt Xcode de migratie van Swift 3.2 naar de nieuwste versie een stuk aangenamer, dankzij de ondersteuning voor geleidelijke migratie. Xcode heeft ook tijdige en merkbare snelheidsverbeteringen ontvangen voor het indexeren van zoekresultaten en een volledig herbouwde editor die meer contextueel is, met nieuwe ondersteuning voor refactoring. 

SCM is nu een eersteklas burger, wat betekent dat ontwikkelaars niet langer hoeven te schakelen tussen Xcode en een externe SCM-editor voor hun behoeften op het gebied van gitbeheer. De simulator heeft geprofiteerd van een aantal van de meest opmerkelijke verbeteringen, met de mogelijkheid om meerdere gelijktijdige simulators sneller op meerdere apparaten te testen, evenals het gemak van het draadloos kunnen knippen en debuggen van fysieke apparaten. 

Terwijl iOS 11 de ontwikkelgemeenschap heeft gestimuleerd dankzij de opwindende nieuwe SDK-functies, biedt Xcode 9 het perfecte ontwikkelingsinstrument voor het leveren van innovatie aan hun gebruikers. Blijf op de hoogte voor een aantal praktische tutorials over het gebruik van de nieuwe iOS SDK's. En bekijk enkele van onze andere berichten over de ontwikkeling van iOS-apps!