Apples årliga utvecklarkonferens WWDC syns oftast i nyheterna på grund av att Apple visar upp nya versioner av IOS och Mac OS (eller en ny Mac Pro som stjäl mycket av uppmärksamheten). Men själva konferensen handlar ändå om utveckling, och under resten av WWDC-veckan presenterade Apple många nyheter för utvecklare som inte fick plats under öppningseventet 3 juni.

Project Catalyst – Ipad-appar på Mac

En av nyheterna för utvecklare som ändå har fått viss uppmärksamhet är det Apple kallar Project Catalyst. Det har ryktats om projektet i över ett år men då med ”kodnamnet” Marzipan, vilket vi också har skrivit om vid flera tillfällen.

Vad Apple har gjort är att göra det möjligt att förvandla en Ipad-app till Mac-program med ett enda klick i Xcode. Det fungerar för de flesta Ipad-appar, med undantag för appar som använder hårdvara som inte finns i Macar, som gyroskop och accelerometer, eller gps.

Project Catalyst
Foto: Apple

Apples kod gör en stor del av jobbet med att förvandla pekgränssnittet på Ipad till mus-och-tangentbord-gränssnittet på Mac, speciellt om appen redan har aktiverat funktioner som multitaskingstöd, dra-och-släpp och kortkommandon med tangentbord. Utvecklaren behöver inte göra något alls för att dessa ska fungera på Mac.

Allt är dock inte automatiskt och i dokumentationen skriver Apple om flera saker du måste eller bör göra. Det handlar till exempel om att se till att funktioner hamnar i menyer som de ska, att gränssnittet anpassas så att arbetsflödet i programmet följer Mac-konventioner, och att innehåll i fönster skalas och layoutas bra när fönstrets storlek ändras. Macanvändare förväntas sig inte webbliknande layout utan betydligt mer Macanpassade gränssnitt.

Den största vinsten för utvecklare blir att de kan bygga appar för Ipad och Mac i samma projekt, med stora delar av koden delad mellan de båda plattformarna. Även appar som i princip kräver ett helt nytt gränssnitt på Mac kommer ha nytta av det.

Swift UI
Foto: Apple

Swift UI – enklare och snabbare gränssnittsdesign

På tal om gränssnitt: Den nyhet som kanske kommer göra mest nytta för utvecklare framöver är Swift UI, ett helt nytt sätt att bygga gränssnitt.

Swift UI är inbakat i Xcode och gör det möjligt att designa med både kod och en grafisk förhandsvisning samtidigt. Ändringar i förhandsvisningen ändrar koden och tvärt om. Det gör det enklare att manuellt gå in och göra ändringar i kod som är svåra att få till grafiskt, samtidigt som du slipper skriva en massa kod i onödan när det går lika bra att bygga grafiskt.

Koden i Swift UI använder så klart programmeringsspråket Swift, men har en ny deklarativ struktur som påminner om till exempel javascriptbiblioteket React. Det innebär att du helt enkelt beskriver vad gränssnittet ska göra, utan att behöva skriva en massa annan kod runt det. En knapp blir helt enkelt ”knapp”, inte ”skapa en vy, lägg till vyn i fönstret, skapa en knapp, lägg till knappen i vyn”.

Det här gör koden kompaktare så att utvecklaren sparar tid, men också mer lättläst så att olika utvecklare som jobbar på ett projekt snabbare kan förstå varandras kod. Det blir mer uppenbart hur saker ändras, och de nästan omedelbara förhandsvisningarna gör det snabbare att testa och korrigera gränssnitten.

AR Kit 3
Foto: Apple

Ännu mer förstärkt verklighet

Apples satsning på augmented reality fortsätter med uppdaterade AR Kit 3 och flera stora nyheter. People Occlusion kallar Apple en funktion som automatiskt känner igen människor och får virtuellt innehåll att placeras korrekt framför eller bakom dessa, vilket tidigare har krävt mycket kodande från utvecklarna själva.

Motion Capture gör att människors rörelser framför kameran kan användas som inmatning till appar. Det gör det möjligt att byta ut människorna mot animationer som rör sig naturtroget, eller lägga till virtuella föremål – till exempel en boll som någon ”kastar”.

Apple har också utvecklat ett nytt programmingsramverk kallat Realitykit som gör det enklare att bygga fullfjädrade ar-appar. Där AR Kit ger utvecklare tillgång till grundläggande funktioner och friheten att göra vad de vill med dessa ger Realitykit färdiga modeller som snabbt kan fyllas med innehåll och interaktion. Realitykit kombinerar rendering, kameraeffekter, animationer, fysiksimulering och nätverkskod för delade ar-upplevelser.

Create ML
Foto: Apple

Maskininlärning för nybörjare

Apple fortsätter också satsa på maskininlärning som kör direkt på användarnas enheter med Core ML 3. Det uppdaterade ramverket kan automatiskt fördela arbetsuppgifter mellan cpu, gpu och – på nyare enheter – neural engine. Det innebär att appar kan använda fler och mer avancerade maskininlärningsmodeller.

Men för många utvecklare kommer det nya Macprogrammet Create ML vara desto viktigare. Det hjälper dig bygga och träna modeller för olika ändamål som du sedan kan exportera och använda i appar.