macOS Mojave aandelen-app

Marzipan: alles over universele apps voor iOS en macOS

Apple is van plan om het overzetten van iOS-apps naar de Mac gemakkelijker te maken. Hiervoor wordt binnen Project Marzipan gewerkt aan universele apps. Ontwikkelaars kunnen er vanaf 2019 mee aan de slag.

Marzipan: wat is het?

Apple is niet van plan om iOS en macOS samen te voegen, maar gaat er wel voor zorgen dat apps makkelijker uitwisselbaar zijn. In Project Marzipan wordt eraan gewerkt om iOS-apps sneller te kunnen overzetten naar de Mac. Dit gebeurt in fasen: in 2018 gaat Apple een viertal eigen apps overzetten naar de Mac en in 2019 kunnen externe ontwikkelaars ermee aan de slag.

De naam Marzipan

Het project heette aanvankelijk ‘Marzipan’ en die naam is ook bij het grote publiek blijven hangen, ook al noemt Apple het intern niet meer zo. Volgens Apple-kenner John Gruber heeft het project inmiddels een andere naam, die hij nog niet wil verklappen. Hij heeft de naam verborgen in een versleuteld woord, een zogenaamde SHA1 hashed string. Daarmee kunnen we na Apple’s aankondiging kijken of Gruber inderdaad de juiste naam had ontdekt. Maar eigenlijk is de naam niet zo interessant; het gaat vooral om wat je ermee kan!

Aandelen-app in macOS Mojave

Waarom universele apps?

Apple zit met een probleem: er zijn miljoenen apps voor de iPhone en iPad gemaakt, maar de Mac App Store loopt een beetje achter. Ontwikkelaars vinden het minder interessant om Mac-apps te maken en ook bij Apple zelf is te merken dat de focus vooral op iOS ligt. Daarnaast is er een ander probleem: steeds meer functies moeten zowel op iOS als macOS beschikbaar komen en daarbij komt de Mac vaak op de tweede plaats. Zo was de Woning-app lange tijd wel op iOS te gebruiken, maar nog niet op de Mac. Op zich is dat vreemd, want zo heel moeilijk is het niet om de Woning-app geschikt te maken voor macOS.

Daar heeft Apple nu iets op gevonden: universele apps. Dit houdt in dat onderdelen van UIKit, het iOS app-framework, naar de Mac worden overgebracht. Daardoor wordt het mogelijk om iOS-apps sneller geschikt te maken voor de Mac.

macOS Mojave aandelen-app

Marzipan fase 1: universele apps van Apple zelf

Tijdens WWDC 2018 kondigde Apple aan dat iOS en macOS niet zullen worden samengevoegd, maar dat er wel wordt gewerkt aan een oplossing voor universele apps. Die info was al eerder uitgelekt. De uitrol vindt in twee fase plaats. In fase 1 heeft Apple de volgende iOS-apps overgezet naar macOS:

  • Apple News
  • Woning
  • Dictafoon
  • Aandelen

Als je goed kijkt zijn deze Mac-apps eigenlijk identiek aan de iPad-versies. We krijgen nu alvast een ‘sneak peak’ van hoe het eruit gaat zien.

Marzipan fase 2: universele apps van externe ontwikkelaars

In fase 2 kunnen ontwikkelaars zelf aan de slag gaan met het omzetten van hun iOS-apps naar de Mac. Daarbij zal in veel gevallen ook de iPad-versie het uitgangspunt zijn. We krijgen tijdens WWDC 2019 waarschijnlijk meer details te horen over de ‘nieuwe’ UIKit. Volgens John Gruber gaat het daarbij om ontwikkelaarstools die declaratief werken. Dit maakt het eenvoudiger om apps te maken met een interface die onafhankelijk is van een specifiek besturingssysteem. Ontwikkelaars hoeven dan geen rekening te houden met de verschillen tussen iOS en macOS.

Gruber spreekt over een ‘declaratieve control API’. Je hoeft bij het programmeren van een knop alleen maar aan te geven dat er een knop met standaard eigenschappen moet worden geplaatst, in plaats van het vastleggen van de precieze configuratie en positie van de knop in een venster. Dit doet denken aan CSS, waar je op één plaats vastlegt hoe de standaard opmaak eruit moet zien, waarna je alleen maar hoeft op te sommen welke elementen er getoond moeten worden.

Fase 2 zullen we gaan zien in macOS 10.15 en iOS 13 of 13.1. In hetzelfde jaar kunnen we een nieuw design voor het beginscherm en de interface van iOS en macOS verwachten.

Wat is het voordeel van cross-platform apps?

Het voordeel voor gebruikers is dat apps sneller beschikbaar komen op macOS. Je hoeft dus niet meer tien jaar te wachten tot de Aandelen- en Dictafoon-app eindelijk naar de Mac komen. Ook lopen apps zoals iMessage, Safari, Notes en Kaarten en functies zoals Siri niet meer zover uiteen als je de iOS-versie met de Mac-versie vergelijkt.

Voor ontwikkelaars heeft het ook voordelen, dat ze makkelijker hun apps kunnen uitbreiden van iOS naar macOS.

macOS Mojave dictafoon-app

UIKit vs AppKit

Daarnaast heeft het voor Apple allerlei voordelen. De huidige iOS-apps maken gebruik van het nieuwere UIKit framework, terwijl de Mac-apps gebruik maken van de oudere AppKit frameworks. AppKit biedt alle elementen van de gebruikersinterface, zoals vensters, knoppen, menu, scrollbalken en tekstvelden. Ook regelt het aan de softwarekant alles wat nodig is om apps op het scherm te tonen. AppKit dateert echter uit de jaren tachtig van de vorige eeuw en is ontstaan uit de NeXTSTEP Application Kit van NeXT, het bedrijf dat Steve Jobs oprichtte in de periode dat hij bij Apple was opgestapt.

Bij de ontwikkeling van iOS koos Apple voor een compleet nieuw software-framework voor apps, namelijk UIKit. Dit was afgestemd op kleinere schermen en touch-bediening. Hoewel apps voor iOS en macOS met Objective-C en Swift worden gemaakt, gebruiken ze toch fundamenteel andere frameworks voor de interface.

Apple probeerde ooit de Foto’s-app (de vervanger van iPhoto) met UXKit te bouwen, zodat het gelijktijdig op iOS en macOS verscheen, maar dit liep vertraging op en de gebruikerservaring was niet optimaal. Ook bij andere oplossingen om cross-platform apps te maken valt de gebruikerservaring vaak tegen. Zo zijn er externe frameworks (niet van Apple) die beloven dat je in één moeite iOS- en Android-apps kunt maken. Meestal zien ze er echter uit als een typische iOS-app, waardoor Android-gebruikers ontevreden zijn. Of omgekeerd: dat apps een Android-achtige interface krijgen, waardoor iOS-gebruikers zich niet goed thuis voelen.

macOS Mojave met Apple News

Wanneer komen universele apps?

Je kunt nu al aan de slag met de universele apps van Apple zelf, te weten Woning, Dictafoon, Aandelen en Apple News. Die laatste is alleen beschikbaar in Engelstalige landen zoals de VS en Australië. In 2019 krijgen we meer universele apps te zien. Apple zal de benodigde tools beschikbaar stellen na WWDC 2019, waarna we de eerste praktische toepassingen in het najaar van 2019 tegemoet kunnen zien.

Betekent dit het einde van Mac-apps?

Niet helemaal, we zullen nog steeds traditionele ‘native’ Mac-apps zien, die speciaal voor macOS gemaakt zijn. Maar er komen ook veel meer apps bij die eruit zien als iPad-apps. Nu zijn ontwikkelaars vaak gedwongen om te kiezen tussen het ontwikkelen van een iOS-app of een Mac-app. Ze hebben ook maar beperkte tijd en middelen, dus allebei lukt vaak niet omdat er bij een app nog veel meer komt kijken, zoals support. Vaak valt de keuze dan op een iOS-app, omdat er domweg veel iPhone- en iPad-gebruikers zijn. Daardoor loop je als Mac-gebruiker vaak leuke nieuwe apps mis. Door het makkelijker te maken om apps over te zetten hoopt Apple dat er meer keuze komt voor Mac-gebruikers. Het zal daarbij vaak gaan om lichtgewicht apps. Zo zou een app voor Instagram erg nuttig kunnen zijn.

Je zult in de Mac App Store vanaf 2019 een mix gaan zien van native Mac-apps en apps die eruit zien als iPad-apps. Deze apps zijn uiteraard aangepast voor een andere bediening. Op de Mac gebruik je een toetsenbord en muis, terwijl je op de iPhone en iPad met je vingers werkt. Dat het heel goed mogelijk is om apps van iOS naar een ander platform over te brengen is al te merken bij tvOS: er zijn heel wat Apple TV-apps die vanuit een iOS-versie zijn overgezet naar een versie die op het grotere tv-scherm getoond kan worden. Voor elk platform gelden wel andere eisen, bijvoorbeeld wat de bediening en het design betreft. Op een Apple TV moeten de knoppen extra groot zijn, zodat je op afstand kunt lezen wat er staat. En je moet ze met een afstandsbediening kunnen aansturen.

macOS Mojave Woning-app voor HomeKit

Opgeblazen iPad-apps
Toch zien de eerste Marzipan-apps die Apple heeft uitgebracht er vooral uit als opgeblazen iPad-apps. Ze zijn te bedienen met toetsenbord en muis, maar de gebruikersinterface is niet speciaal aangepast voor de Mac. Dat blijkt vooral in de Woning-app, die er op de Mac hetzelfde uitziet als op de iPad, met grote knoppen waarop je kunt tikken. Op de Mac zul je er echter met de muispijl naartoe moeten bewegen. Dat kan gaan veranderen als Apple in 2019 zelf vooruitgang heeft geboekt. Apple is in UIKit al bezig om klassieke interface-elementen van de Mac toe te voegen, zoals een zijmenu.

Ontwikkelaars kunnen straks in Xcode aangeven dat ze een versie van hun app willen maken die op macOS draait, waardoor meteen de layout en de werking van de app wordt aangepast. Een long press in iOS zal dan automatisch worden vervangen door een dubbelklik met de muis in macOS. Sommige ontwikkelaars zullen wat meer moeite doen om van hun app een native uitziende Mac-app te maken, terwijl andere ontwikkelaars tevreden zullen zijn met een 1-op-1 kopie.

Een interessante bijkomstigheid is dat iPhones en iPads draaien op ARM-processors, terwijl Macs nu nog draaien op Intel-processors. Als apps in de nabije toekomst voor beide processortypen geschikt zijn wordt het gemakkelijker voor Apple om op een ARM-gebaseerde Mac over te stappen. Er zijn geruchten dat Apple bezig is om in eigen huis een Mac-processor te ontwikkelen, zodat Intel aan de kant gezet kan worden.

Suggestie hoe we dit artikel kunnen verbeteren? Laat het ons weten!

Informatie

Laatst bijgewerkt september 2018