Een revolutionair iOS framework waarmee de beste gebruikersinterfaces worden gemaakt. Zo heeft Apple in Juni de nieuwe technologieën onthuld waarmee ontwikkelaars gemakkelijker (en dus sneller) nieuwe apps kunnen maken. SwiftUI is Apple’s vernieuwde en versimpelde manier om intuïtieve apps te ontwikkelen, en laat het ontwikkelen van intuïtieve apps nu nét onze missie zijn. Toeval? Wij denken van niet. Dit Apple ontwikkelaars ecosysteem staat nog in beta en zal verder doorontwikkeld moeten worden wil het rendabel of mogelijk zijn om geavanceerde apps te ontwikkelen in SwiftUI. Echter, als innovatieve app ontwikkelaar kunnen wij natuurlijk niet wachten om met SwiftUI aan de slag te gaan. Onze iOS Guru’s vertellen hun bevindingen.
Minder code, meer resultaat
Een baanbrekend nieuwe technologie voor het ontwikkelen van apps met complexe gebruikersinterfaces, zo noemt Apple het nieuwe iOS framework SwiftUI. Met het nieuwe SwiftUI framework, ARKit 3 en nieuwe Xcode tools wordt het ontwikkelen van iOS apps makkelijker en sneller. Doordat ontwikkelaars vanuit één universeel framework kunnen werken voor iOS, iPadOS, macOS, watchOS en tvOS, kunnen wij als ontwikkelaar dadelijk sneller native apps ontwikkelen voor alle platforms van Apple. SwiftUI is ontwikkeld om de ontwikkeling van apps sneller, makkelijker en interactiever te maken. Met een relatief simpele code die makkelijk te gebruiken is kunnen ontwikkelaars uitgebreide interfaces maken met behulp van automatische functies, layout opties, donkere modus, toegankelijkheid en internationalisatie.
![SwiftUI apparaten apple](https://coffeeit.nl/wp-content/uploads/2019/09/SwiftUI-apple.png)
Real-time automatische previews van de UI met Xcode 11
Ontwikkelaars kunnen voor Mac- en iOS apps nu hetzelfde project en broncode gebruiken dankzij de nieuwe tools en API’s. Xcode maakt het mogelijk om een bestaand iPad project te openen en automatisch Mac features toe te voegen of aan te passen. Mac- en iPad applicaties zijn gebaseerd op dezelfde code, dus elke aanpassing in de code heeft invloed op zowel de iPadOS als de macOS versie. Dankzij Xcode 11 kunnen UI ontwikkelaars zonder dat ze een regel code hoeven te schrijven snel een gebruikersinterface samenstellen. Dankzij de nieuwe grafische UI ontwerptool. De Swift-code wordt automatisch gegenereerd en wordt de code aangepast dan zijn deze real-time te zien in de designtool. Dit is een groot voordeel, omdat de ontwikkelaar previews ziet van de UI terwijl ze de code schrijven. Dit maakt het samenstellen, testen en verfijnen een stuk sneller op alle devices.
Wat betekent SwiftUI voor ontwikkelaars?
Met SwiftUI geeft Apple ontwikkelaars nieuwe handvaten mee voor het opzetten van user interfaces (UI). Zo heeft Apple met het nieuwe iOS framework de bottlenecks van storyboards geëlimineerd. Interface builder is de grafische tool om storyboards mee te ontwikkelen. Je kunt er eenvoudig schermen mee opbouwen. Een probleem met het werken met storyboards is dat het lastig is om met meerdere designers tegelijkertijd aan de app te werken. De ontwikkelaar moet de app eerst bouwen, waarna een designer het resultaat kan testen, wat onder sommige condities niet mogelijk is. SwiftUI maakt het mogelijk om schone, leesbare code eenvoudig aan te passen met een grafische variant. App ontwikkelaars kunnen zowel in de code als in het preview scherm bepaalde elementen aanpassen. Apple benadrukt al een tijdje dat de apps in de App Store uniek moeten zijn en van toegevoegde waarde. Met de ontwikkelingen van SwiftUI komt Apple een stapje dichter bij dit doel. Doordat de achterliggende techniek achter app ontwikkeling steeds ingewikkelder wordt, treden er ook steeds vaker bugs op. SwiftUI maakt een app robuuster, dat wilt zeggen: door complexe zaken automatisch en versimpeld in te richten wordt het maken van de app gemakkelijker. En dus minder kans op bugs..
Onze ervaring met SwiftUI
Als innovatieve app ontwikkelaar zitten wij er natuurlijk strak op wanneer er nieuwe programmeer-tools beschikbaar zijn. Om het gemakkelijk te maken heeft Apple een gratis tutorial aangeboden voor het schrijven van landmarks in SwiftUI. Frank Solleveld, onze iOS developer, heeft de tutorial doorlopen en presenteert zijn bevindingen:
- SwiftUI is in vergelijking met UIKit een stuk efficiënter, doordat je veel minder regels schrijft.
- Je schrijft niet alleen minder code (wat tijd scheelt), maar je ziet de resultaten ook gelijk in een preview. Dit maakt het heel fijn werken, omdat je direct ziet wat code doet en er hoeft geen simmulator aan te pas te komen.
- De elementen opbouw is zowel logisch als gemakkelijk. Waar je met UIKit werkt met constraints gebruik je hiervoor maar 1 regel code in SwiftUI.
Dit nieuwe framework zal naar verwachting een grote stap zijn binnen mobile app development als het gaat om efficiëntie. Het is nu nog klein, en UIKit kan nog prima gebruikt worden. Maar naar verwachting zal SwiftUI een gedegen opvolger zijn waarbij programmeren toegankelijker wordt voor een groter publiek. UIKit is namelijk soms best onlogisch, waar SwiftUI heel goed op een versimpelde manier laat zien hoe je een app bouwt. Minder code, meer plezier. Aldus Frank Solleveld, onze iOS developer.
“Dit nieuwe framework zal naar mijn verwachting een grote stap zijn binnen mobile app development als het gaat om efficiëntie. UIKit is namelijk soms best onlogisch, waar SwiftUI heel goed op een versimpelde manier laat zien hoe je een app bouwt. Minder code, meer plezier.”
Zelf aan de slag met SwiftUI
Wil je zelf aan de slag met SwiftUI of ben je benieuwd of jouw app in het SwiftUI framework gemaakt kan worden? Via deze link kun je zelf stoeien met de gratis tutorial van Apple.
Heb je al een reeds bestaande app voor het Apple besturingssysteem? Het is in sommige gevallen mogelijk om een reeds bestaande app om te bouwen naar SwiftUI. Echter, doordat het framework nog relatief nieuw is zullen wij dit in de meeste gevallen nog niet aanraden. Te veel functies zullen niet (geheel) omgezet kunnen worden en de community moet nog worden uitgebreid. Tevens wordt SwiftUI nu enkel door toestellen met iOS 13 beschikbaar gesteld en wordt dit later dit jaar pas uitgerold. Waarschijnlijk wil je als ontwikkelaar en opdrachtgever dat de app ook op oudere iOS versies wordt ondersteund. Overstappen is dus mogelijk, maar nog wel erg vroeg.
Ben je een ontwikkelaar en wil je zelf een kijkje in de keuken nemen? Download dan in ieder geval de laatste Xcode 11 en MacOS Catalina, welke je hier kunt downloaden. Wil je toch proberen SwiftUI te integreren? Kijk dan eens naar de volgende sessie die Apple heeft gehost tijdens hun jaarlijkse developers conferentie: https://developer.apple.com/videos/play/wwdc2019/231/
Wil je nog meer weten over SwiftUI of één van onze iOS developers spreken? Neem dan contact op via onderstaande button en we staan je graag te woord!
Bekijk de onderstaande video voor de aankondiging van SwiftUI tijdens de WWDC 2019.
Andere nieuwe features voor iOS frameworks:
In een eerdere blog van 4 juni schreven we al over de Apple update waarin Apple o.a. nieuwe richtlijnen aankondigde en het SwiftUI-framework. In deze blog hebben wij ons toen vooral gericht op de consequenties die dit had voor onze iOS klanten met applicaties in de Apple App Store. Bijvoorbeeld het feit dat gebruikers voortaan kunnen inloggen met een Apple ID in plaats van het aanmaken van accounts. Dit maakt het voor de app gebruiker laagdrempeliger en veiliger doormiddel van tweestapsverificatie.
Andere belangrijke nieuwe features voor app ontwikkelaars voor het iOS framework:
- MapKit: bevat nieuwe features zoals rasterweergave, filtertools, limieten voor zoomen en bewegen met de camera en ondersteuning Donkere Modus.
- Verbeterde ondersteuning voor talen die gericht zijn op SwiftUI en Module Stability. Dit is de basis voor het bouwen van binair compatibele frameworks in Swift.
- Code kan gemakkelijker gedeeld worden tussenGPU-types en Apple platformen met de nieuwe Metal Device-groepen.
- PencilKit: Apple Pencil kunnen gemakkelijk toegevoegd worden aan de app met het nieuwe toolset.
- SiriKit: voegt ondersteuning toe voor audio applicaties. Dit maakt het mogelijk om Siri te integreren waardoor gebruikers audio kunnen besturen middels stemgebruik.