WWDC is als Kerstmis voor Cocoa-ontwikkelaars, en dit geldt zeker voor de editie van dit jaar vanwege de schaarste aan lekken en geruchten die hebben geleid tot de conferentie. Ook al zijn we allemaal nieuwsgierig om te horen wat Apple in petto heeft voor iedereen die van Apple houdt, de keynote is veel leuker als je geen idee hebt wat er op het punt staat te worden aangekondigd, zoals dit jaar..
Als je de keynote van Tim Cook hebt gezien, ben je zeker dat je het ermee eens bent dat Apple ieders verwachtingen heeft overtroffen. Laten we een paar minuten nemen om samen te vatten wat Apple heeft aangekondigd, wat het betekent voor ontwikkelaars en wat u later dit jaar kunt verwachten.
Ongeacht wat er de afgelopen maanden over Apple is geschreven, Apple is springlevend. Het lijkt erop dat Apple inderdaad heeft verdubbeld-down op geheimhouding, omdat sommige, zo niet de meeste, van wat werd aangekondigd tijdens de keynote van maandag een verrassing was, zelfs voor mensen die bekend zijn met Apple's productlijn en stappenplan.
Wat me tijdens de keynote verraste was de toon van de hoofdsprekers, Tim Cook en Craig Federighi. Het bedrijf heeft het vertrouwen teruggekregen dat het bedrijf in 2011 leek te hebben verlaten, toen Steve Jobs overleed.
Het bedrijf is trots op zijn producten, zijn ontwikkelaarscommunity, en het schrikt het af en toe voor de gek houden van Android niet weg. De gezonde relatie met Microsoft was ook aanwezig tijdens de keynote.
Vanuit het oogpunt van een iOS-ontwikkelaar lijkt de aankondiging van OS X Yosemite misschien niet zo belangrijk, maar dit is niet helemaal correct. Hoewel Apple herhaaldelijk heeft verklaard dat iOS en OS X afzonderlijke besturingssystemen blijven, is het duidelijk dat het bedrijf hun integratie met elke release verbetert.
Het is geen toeval dat de ontwikkelingscyclus van OS X is veranderd van 18-24 maanden tot 12 maanden, hetzelfde als die van iOS. Hoewel iOS de eerste paar jaar veel van OS X heeft geërfd, lijkt het erop dat iOS nu de voorkeur geeft. Met OS X Yosemite lijkt het uiterlijk van OS X meer op dat van iOS. OS X wordt niet alleen platter, net als zijn kleine broertje, de nieuwe functie Continuïteit is een volgende stap naar een betere integratie van en communicatie tussen beide besturingssystemen.
Functies zoals AirDrop, Handoff en iCloud Drive maken het schakelen tussen iOS en OS X eenvoudiger, bijna wrijvingsloos. Deze functies zijn onderdeel van het antwoord van het bedrijf op het verzoek van consumenten om de integratie tussen iOS en OS X beter en minder omslachtig te maken.
Maar Apple liet het daarbij niet liggen. Het bedrijf heeft het nog een stap verder gebracht door gebruik te maken van proximity-detectie, wat betekent dat uw Mac weet wanneer uw iOS-apparaat in de buurt is. Dit maakt een aantal dingen mogelijk, zoals het accepteren van inkomende oproepen op uw iPhone vanaf uw Mac. Je iPhone zal ook automatisch een persoonlijke hotspot instellen zodra hij weet dat een van je Mac's in de buurt is. Hoe cool is dat?
De overgang van iOS 6 naar iOS 7 was meer dan evolutionair en ik weet zeker dat je het ermee eens bent dat de rit niet zo soepel verliep als Apple beweert. iOS 7 introduceerde zoveel nieuwe functies, visuele veranderingen en paradigmaverschuivingen dat de gemiddelde gebruiker, en de meeste ontwikkelaars, we zijn een beetje terughoudend in het omarmen van de nieuwe richting die Apple met iOS had ingenomen.
De aankondiging van iOS 8 is echter anders. De meeste wijzigingen die in iOS 8 zijn aangebracht, zijn wijzigingen die het besturingssysteem verfijnen, integreren met OS X en de algemene stabiliteit en bruikbaarheid van het besturingssysteem verbeteren..
De applicatie Foto's heeft een revisie ondergaan, deze is nu krachtiger dan ooit. Apple liet in het kort een versie zien voor OS X die begin volgend jaar wordt verzonden. Er was geen sprake van iPhoto of Aperture en het is onduidelijk of Photos for OS X ze zal vervangen.
Met Foto's voor iOS kun je nu elke foto en film doorzoeken die je ooit met een iOS-apparaat hebt gemaakt. Dat is het idee en iCloud, dat nu elke foto en film kan opslaan die u met een iOS-apparaat neemt, moet dit mogelijk maken.
Met die verandering is Apple het territorium van Dropbox binnengegaan. Hoewel elke foto en film die je met een iOS-apparaat neemt, wordt opgeslagen in iCloud, is dit niet voor iedereen gratis. Apple's prijzen lijken echter meer dan redelijk.
Vanaf iOS 8 kan een applicatie een of meer extensies hebben die de functionaliteit van een applicatie uitbreiden naar andere applicaties, waaronder het besturingssysteem. Uitbreidingen zijn het antwoord van Apple op een zeer algemeen verzoek van zowel ontwikkelaars als eindgebruikers.
Uitbreidingen zijn er in vele vormen. Een extensie kan een eenvoudige widget zijn voor Berichtencentrum met weergegevens, maar het kan ook een aangepast toetsenbord zijn, nog een grote verandering voor iOS. Tijdens de keynote liet Federighi bijvoorbeeld zien hoe een applicatie van een derde partij werd gebruikt om een foto te bewerken in Foto's voor iOS. De applicatie van derden biedt de gebruikersinterface en de integratie leek vrij naadloos.
Volgens Apple is Touch ID een groot succes, met meer dan 80% van de consumenten die het hebben ingeschakeld. In iOS 8 opent Apple de Touch ID API voor externe ontwikkelaars. Beveiliging blijft essentieel, wat betekent dat de feitelijke vingerafdrukinformatie niet toegankelijk is of zelfs wordt blootgesteld aan ontwikkelaars.
iCloud is nog steeds een zeer belangrijk aspect van het iOS- en OS X-ecosysteem voor Apple. De rol van iCloud wordt zelfs belangrijker bij elke iteratie van iOS en OS X..
De cloud-oplossing van Apple is drastisch verbeterd, zowel vanuit het perspectief van de eindgebruiker als vanuit het oogpunt van de ontwikkelaar. Ik heb al genoemd hoe iCloud nu elke foto en film die je maakt op je iOS-apparaten kan opslaan, maar Apple maakt ook toegang mogelijk tot de gegevens die op iCloud zijn opgeslagen door iCloud Drive te introduceren. Het maakt het delen van gegevens tussen iOS- en OS X-applicaties eenvoudiger en transparanter.
Het verzenden van e-mails met grote bijlagen is niet langer een probleem met iCloud Drive. Zoals ik eerder al zei, is iCloud gratis tot 5 GB. Extra ruimte kost $ 0,99 per 20 GB per maand of $ 3,99 per maand voor 200 GB. De bovengrens is 1TB.
iCloud Drive is niet de enige verandering die Apple aan de serverzijde heeft aangebracht, het bedrijf introduceerde ook Cloud Kit. Met Cloud Kit zorgt Apple voor het server-aspect van iOS-applicatie-ontwikkeling, waardoor de ontwikkelaar zich kan concentreren op de iOS-applicatie. Met Cloud Kit is Apple de BaaS- of PaaS-markt betreden.
Apple heeft ook HealthKit en Health voor iOS aangekondigd. HealthKit is een platform voor het beheren van uw gezondheids- en fitnessgegevens. De Health-toepassing visualiseert deze gegevens op Apple-wijze. Uiteraard hangt de data Health voor iOS-shows af van de invoer die het ontvangt van andere applicaties die de data verzamelen.
Een toepassing zoals Nike + kan bijvoorbeeld zijn fitnessgegevens delen via HealthKit en vragen om voedingsgegevens die zijn verzameld door een andere toepassing. Apple benadrukte dat privacy een belangrijke zorg is. Toepassingen van derden hebben geen toegang tot uw gezondheidsgegevens zonder uw toestemming.
Het is indrukwekkend hoeveel nieuwe functies, frameworks en API's er zijn geïntroduceerd tijdens de keynote van dit jaar. HomeKit is een andere verrassende toevoeging aan iOS. Het HomeKit-framework is een integratie tussen iOS-apparaten en apparaten die voldoen aan het Home Automation Protocol van Apple.
Het idee is om de groeiende markt van domotica gezond te houden, waarbij elke fabrikant zijn eigen normen en toepassingen heeft. Het lijkt er niet op dat Apple alleen maar de wateren test met HomeKit, omdat het bedrijf een indrukwekkende lijst van grote merken opsomt die beweren HomeKit te ondersteunen. Laten we hopen dat HomeKit domotica minder pijnlijk en consistenter maakt voor iOS-gebruikers.
Een andere grote verrassing was de introductie van Metal, een low-level API voor het uitvoeren van complexe grafische afbeeldingen op iOS-apparaten. Zoals aangetoond tijdens de keynote, wil Metal de overhead die OpenGL heeft minimaliseren door deze te vervangen door een API die niet alleen deze overhead verlaagt, maar ook de prestaties op iOS-apparaten verhoogt..
SpriteKit, geïntroduceerd in iOS 7, heeft een belangrijke update gekregen met per-pixel fysica, inverse kinematica en veldkrachten. Bovendien is SceneKit, dat al enkele jaren beschikbaar is op OS X, nu ook beschikbaar op iOS.
Het aantal belangrijke aankondigingen was duizelingwekkend. We wisten al dat Apple Burstly, het bedrijf achter TestFlight, heeft overgenomen, maar ik verwachtte niet dat ze het zo snel als een eigen dienst zouden aanbieden. Maar dat deden ze.
TestFlight, de naam is niet veranderd, zal de distributie van bèta-applicaties mogelijk maken via Apple's TestFlight-applicatie. Het enige nadeel is dat het iOS 8 nodig heeft. De overname van Burstly lijkt echter niets anders dan upsides te hebben. Elke applicatie, geen ontwikkelaarsaccount, kan bijvoorbeeld maximaal 1000 testers bevatten. Er is geen limiet op het aantal apparaten per tester. Dit is echt geweldig nieuws en het zal het proces veel minder omslachtig maken voor iOS-ontwikkelaars. Applicatie-inrichting is ook veel eenvoudiger dankzij TestFlight. Als je dacht dat bètadistributie eenvoudig was met TestFlight, werd het nog eenvoudiger dankzij, nou, TestFlight.
Apple zou Apple niet zijn als het de distributie van builds naar testers niet strak controleerde. Op basis van de bijgewerkte Licentieovereenkomst voor iOS-ontwikkelaars, moet een toepassing door Apple worden beoordeeld voordat deze aan testers kan worden gedistribueerd. Hoe dit zal gebeuren en hoe lang het zal duren voordat Apple tienduizenden testversies doorneemt, is onduidelijk, maar, zoals Ole Begemann opmerkt, lijkt het erop dat Apple soepeler is als het gaat om het beoordelen van testversies. We zullen tot de herfst moeten wachten om uit te zoeken hoe de zaken zullen verlopen.
De belangrijkste aankondiging van de WWDC-keynote van dit jaar was ongetwijfeld de introductie van Swift, een gloednieuwe programmeertaal om iOS- en OS X-applicaties te ontwikkelen. Het doel van Swift is om ontwikkeling gemakkelijker, minder pijnlijk en moderner te maken. Op het eerste gezicht is Swift een dynamische programmeertaal die ongelooflijk expressief is dankzij het intuïtieve, aansprekende en syntaxis.
Swift heeft geen headers, geen puntkomma's en ondersteunt sluitingen en generieke geneesmiddelen. Functies kunnen meerdere retourwaarden en optionele argumenten hebben. Een ander aandachtspunt van de taal is veiligheid. Uw toepassing zal bijvoorbeeld niet crashen wanneer u een element van een array opent dat buiten de grenzen van de array valt.
Betekent dit dat elke Cocoa-ontwikkelaar vanaf nul moet beginnen als het gaat om het leren van de ontwikkeling van cacao? Nee. De schoonheid van Swift is dat het mooi integreert met Cocoa en Cocoa Touch.
Als je een aantal van de codevoorbeelden van Apple onderzoekt, zul je snel twee dingen opmerken. Ten eerste is de syntaxis heel gemakkelijk te leren. Het is minder uitgebreid in vergelijking met C en Objective-C, en intuïtiever. Ten tweede maakt Swift gebruik van bestaande API's en frameworks, wat betekent dat uw kennis van het bouwen van iOS- en OS X-applicaties u een voorsprong geeft als u besluit om Swift in uw projecten te gebruiken.
Hoewel er veel functies van de Swift-taal zijn die onze aandacht verdienen, zou ik er een paar willen benadrukken die enige gewenning vereisen als u een Objective-C-ontwikkelaar bent.
In Swift worden typen afgeleid, wat betekent dat u een variabele niet langer als een declareert NSString
of NSDictionary
. De compiler is slim genoeg om het type af te leiden en het zal zelfs je code achter de schermen optimaliseren.
Zeg vaarwel aan header- en implementatiebestanden. Snel haalt header-bestanden helemaal weg en ik weet zeker dat je dat niet erg vindt.
Net als bij Ruby en CoffeeScript is het niet nodig om een regel code te eindigen met een puntkomma, tenzij een regel meerdere instructies bevat.
Swift speelt goed met Objective-C en C. Swift gebruikt dezelfde runtime Objective-C-toepassingen. Je kunt Swift en Objective-C probleemloos in hetzelfde project gebruiken. Dit maakt het migreren van Objective-C naar Swift iets minder een monumentale taak.
Hoewel Xcode 6 nog steeds in bèta is, heeft Apple ook een grote release gepland voor zijn geïntegreerde ontwikkelomgeving. Xcode 6 voegt ondersteuning toe voor Swift, bekijk debugging, verbeterde ondersteuning voor het lokaliseren van projecten, live rendering in Interface Builder, aangepaste iOS-fonts en ondersteuning voor extensies.
Dit is slechts een kleine selectie van de nieuwe functies en verbeteringen van Xcode 6. Als je je afvraagt waar Apple de afgelopen jaren aan gewerkt heeft, vraag je dan niet meer af.
Ik ben het eens met Joshua Topolsky en Craig Hockenberry, de toon van de keynote was ongelooflijk optimistisch. Apple is klaar om zijn concurrentie aan te gaan en heeft zijn vertrouwen opnieuw gevonden. Tim Cook heeft geen enkele gelegenheid gemist om de spot te drijven met Google's Android en mensen te laten zien dat Apple nog steeds de leider is van de mobiele ruimte.
Google I / O is net om de hoek en ik kan niet wachten om te zien wat Google voor ons in petto heeft. Het is nooit een beter moment geweest om een mobiele ontwikkelaar te zijn of te worden.