Vad Apples Xcode Cloud betyder för apparnas framtid

Reklamlogotyp för WWDC 2023.
Den här historien är en del av vår kompletta Apple WWDC-bevakning

För konsumenter och utomstående observatörer, Apples Worldwide Developers Conference (WWDC) är alltid en chans att se vad som väntar när nästa versioner av dess operativsystem kommer till deras enheter. För utvecklare handlar det dock om att lära sig vad Apple gör under huven. Vid årets evenemang avslöjade Apple Xcode Cloud, en ny funktion i sin Xcode-utvecklingsapp som Apple tror kommer att göra livet enklare och enklare för appbyggare.

Innehåll

  • Vad är Xcode Cloud?
  • "Ett långsiktigt projekt"
  • Att omsätta det i praktiken
  • Prissättningsproblemet
  • En funktion med verklig potential

Rekommenderade videor

Folk på Apple berättade för oss att de var otroligt glada över Xcode Cloud – och besvikna över att utvecklare inte kunde vara på plats när det var tillkännagavs vid företagets onlineevenemang – och en snabb genomgång av Twittersphere ger upphov till en mängd utvecklare som svimmar av förväntningar på det nya funktion.

Men vad exakt är Xcode Cloud, och varför är Apple övertygat om att det är en så stor sak? För att ta reda på det satte vi oss ner med både ingenjörer på Apple och utvecklarna som det riktar sig till för att se hur Xcode Cloud kan påverka deras arbete, för att höra eventuella farhågor de kan ha, och reta ut vad det kan betyda för framtidens appar.

Relaterad

  • Jag trodde att jag skulle hata Apples VR-headset, men jag hade fel
  • Här är anledningen till att Apples M3 MacBook-chip kan förstöra sina konkurrenter
  • Apples Reality Pro-headset kan lanseras tidigare än någon förväntat sig

Vad är Xcode Cloud?

En bild från WWDC 2021 som visar Xcode Cloud

Låt oss börja med grunderna. För att göra appar för Apple-plattformar använder utvecklare en Apple-skapad Mac-app som heter Xcode. Den har funnits sedan 2003 och är fortfarande en av de viktigaste programvarorna i Apples katalog. Xcode Cloud är en av de största uppdateringarna till Xcode på flera år, vilket ger ny funktionalitet som många utvecklare var tvungna att lämna Xcode för tidigare.

Apple positionerar Xcode Cloud som ett verktyg som sätter tidigare komplexa verktyg inom räckhåll för alla utvecklare. Jag frågade Wiley Hodges, produktmarknadschef för verktyg och teknik på Apple, vad de hörde från utvecklare som ledde till skapandet av Xcode Cloud.

"Vi har sett att det finns... uppgifter som att distribuera apparna till betatestare, som att hantera feedback och kraschrapporter, som verkligen är avgörande för att bygga fantastiska appar," sa Hodges. "Och vi har sett att fler och fler av våra utvecklare har varit intresserade av kontinuerlig integration och användning denna automatiserade bygg- och automatiserade testprocess för att ständigt verifiera kvaliteten på programvaran medan den pågår byggd."

Det är exakt de problem som Xcode Cloud är tänkt att lösa.

Xcode Cloud låter utvecklare köra flera automatiserade tester samtidigt, använder kontinuerlig integration (CI) så att appkoden snabbt kan itereras och uppdateras. Det förenklar också distributionen av appbyggen till betatestare och låter utvecklarna komma ikapp med feedback. Den kan bygga appar i molnet snarare än på en Mac för att minska belastningen och möjliggör skapandet av avancerade arbetsflöden som automatiskt startar och stoppar beroende på inställda förhållanden.

"Vi ville ta med dessa verktyg och tjänster inom räckhåll för alla våra utvecklare, för just nu har det varit något som jag tror var mer på den avancerade nivån för utvecklare att få det här konfigurerat och köra som en del av deras process,” Hodges förklarade.

Det låter lovande nog. Men vad tycker de verkliga utvecklarna?

"Ett långsiktigt projekt"

Xcode körs på en Apple MacBook Pro

Att sätta dessa verktyg i centrum är något som flera utvecklare sa till oss var en nyckelattraktion för Xcode Cloud. Nu när tidigare ganska specialiserade funktioner har integrerats i det huvudsakliga verktyget de använder för bygga appar, det finns mycket mindre behov av att hitta tredjepartsalternativ och lägga till extra steg till deras arbetsflöden.

Denys Telezhkin, en mjukvaruingenjör på ClearVPN, sammanfattade denna känsla i en intervju med Digital Trends.

"Jag var väldigt intresserad [av Xcode Cloud] eftersom det har funnits en mängd olika problem med olika CI: er," berättade han för mig. "Till exempel är Microsoft Azure svårt att konfigurera, GitHub Actions är dyrt och så vidare."

Med allt integrerat i Xcode Cloud kan det bli onödigt att luta sig mot opålitliga alternativ. Naturligtvis kommer Apple gärna att styra bort utvecklarna från sina rivaler.

Men den främsta drivkraften, insisterar Hodges, var något annorlunda: "Motivationen för Xcode Cloud kom från vår observation att även om det fanns en grupp hängivna Xcode Server-användare, implementerade de flesta utvecklare fortfarande inte kontinuerligt integration. Vi började titta på de hinder som hindrade adoption och kom fram till att ett molnbaserat CI-erbjudande skulle vara det bästa sättet att få bred användning av CI som en praxis, särskilt med mindre utvecklare för vilka det var en större uppgift att installera och hantera dedikerade byggservrar utmaning."

"Att se verktyg och tjänster som Xcode Cloud integrerade direkt i utvecklingsplattformen gjorde oss glada."

För utvecklare handlar det dock om mer än bara CI. Scott Olechowski, Chief Product Officer och medgrundare av Plex, fick prova en betaversion av Xcode Cloud innan Apples WWDC tillkännagivande. Han berättade för mig att de potentiella fördelarna är omfattande.

"Att se verktyg och tjänster som Xcode Cloud integrerade direkt i utvecklingsplattformen har gjort oss glada sedan dess det borde verkligen hjälpa oss att bli mer effektiva i vår utveckling, QA [kvalitetssäkring] och release ansträngningar."

En del av den ökade effektiviteten kommer sannolikt att komma i Xcode Clouds samarbetsverktyg. Varje gruppmedlem kan se projektändringar från sina kollegor, och meddelanden kan skickas när en koduppdatering publiceras. Tidpunkten är gynnsam, med tanke på hur den pågående pandemin fysiskt har separerat team över hela världen. Men det var också en slump, sa Hodges.

"Verkligheten är att vi har varit på den här vägen ett bra tag, bokstavligen år efter år, och så jag tror att timingen kan vara slumpmässig i det avseendet. Det här är definitivt ett långsiktigt projekt som var på god väg före våra olyckliga senaste händelser.”

Att omsätta det i praktiken

Xcode körs på MacOS Monterey vid Apples WWDC 2021-evenemang

Om det är något Apple är bra på så är det att bygga ett ekosystem av appar och produkter som alla fungerar tillsammans. Föga överraskande återspeglar Xcode Cloud det – det ansluter till TestFlight för betatestare, låter dig köra builds på flera virtuella Apple-enheter parallellt, spelar bra med App Store Connect och mer. För många utvecklare kan den integrationen ha en starkt positiv inverkan på deras arbete.

Vitalii Budnik, en mjukvaruingenjör på MacPaws Setapp, berättade för mig att ha allt på ett ställe kommer att innebära mer tid åt att faktiskt koda och mindre tid på att jonglera med flera verktyg och alternativ. För Budniks MacPaw-kollega, Bohdan Mihiliev från Gemini Photos, kommer appdistributionsprocessen att vara snabbare och smidigare än den är för närvarande.

Apple ser Xcode Cloud som något som kan förbättra livet för stora och små utvecklare. Alison Tracey, en ledande utvecklare av Xcode Cloud på Apple, betonade hur Xcode Cloud jämnar ut spelplanen även för mindre utvecklare.

"Med det utbud av alternativ som finns för dig i konfigurationsupplevelsen när du ställer in dina arbetsflöden, kan du verkligen stödja behoven hos en liten utvecklare eller någon som är en liten utvecklingsbutik eller någon som är ny på kontinuerlig integration, hela vägen upp till mer av den avancerade kraften användare.”

Detta sträcker sig från en enkel introduktionsprocess i fyra steg till integrering Mac-appar och verktyg som Slack och instrumentpaneler tack vare inbyggda API: er.

Prissättningsproblemet

En bild från WWDC 2021 som visar Xcode som körs på en iMac och MacBook Pro

Det är dock inte helt smidigt. Apple vägrade att avslöja prisinformation för Xcode Cloud på WWDC och sa att mer information inte skulle vara tillgänglig förrän under hösten. Många utvecklare jag pratade med var i en eller annan grad bekymrade över det, och det verkar lägga en liten dämpning på spänningen som många utvecklare känner över Xcode Clouds potential.

Frågor har också väckts om Xcode Clouds värde för utvecklarteam som skapar appar för både Apple och icke-Apple-plattformar eftersom Xcode bara kan köras på Mac. Jag skickade detta till Alex Stevenson-Price, Engineering Manager på Plex, eftersom Plex har appar för Mac, Windows, Linux, Android, iOS och många andra system. Han berättade för mig att Plex olika appar är byggda av olika team som använder olika verktyg, så även om det är en fantastisk nyhet sträng i Apple-teamets båge, kommer det inte att vara till stor nytta för icke-Apple-teamen eftersom de inte kommer att använda Xcode i alla fall.

Om du vill få Xcode Clouds fördelar när du bygger en Android-app har du ingen tur.

Naturligtvis bör det inte komma som en överraskning att Apple har begränsat intresse av att tillhandahålla verktyg för rivaliserande ekosystem. Om du vill få Xcode Clouds fördelar när du bygger en Android-app har du ingen tur, men Xcode har alltid varit begränsad (Apple kan säga fokuserad) på det sättet. Det kan ställa till problem för utvecklare som har samma app på både iOS och Android — eller valfritt antal andra plattformar.

Andra utvecklare sa till mig att de kommer att behöva vänta och se om Xcode Clouds välrenommerade fördelar spelar ut i verkligheten. Dess användning för solo-utvecklare ifrågasattes också, delvis för att ett antal av dess funktioner är inriktade på team med flera medlemmar.

Till exempel, Lukas Burgstaller, utvecklaren bakom appar som Fiery Feeds och Tidur, berättade för mig att Xcode Clouds verktyg beror på inställningen.

"Även om jag inte tror att jag kommer att använda det för mina personliga projekt [eftersom] jag känner att kontinuerlig integration i bästa fall är måttligt hjälpsam för en ensamutvecklare installation, jag kommer definitivt att börja använda det i mitt dagliga jobb som iOS-teamledare, där vi planerade att sätta upp någon sorts CI i över ett år men aldrig kom till Det."

Men även om han kanske inte använder alla funktioner, beskrev Burgstaller fortfarande Xcode Cloud som ett "äntligen" tillkännagivande och sa att han var extremt glad att Apple lägger till det i Xcode.

En funktion med verklig potential

En bild av Xcode som körs på MacOS Monterey vid Apples WWDC 2021-evenemang

Det är fortfarande tidiga dagar för Xcode Cloud. Liksom många andra uppdateringar och nya funktioner som tillkännagavs på WWDC 2021, från iOS 15 till MacOS Monterey, den är för närvarande endast tillgänglig för betatestare. Trots några farhågor – och dåliga minnen från den fläckiga lanseringen av ett annat utvecklarverktyg, Mac Catalyst, för några år sedan — fördelarna verkar vida överväga nackdelarna, åtminstone enligt de utvecklare jag pratade med.

Faktum är att ingen av dessa utvecklare sa att Xcode Cloud var helt utan meriter, vilket tyder på att det kommer att finnas något för de flesta som arbetar med att skapa appar för Apples ekosystem. Förutsatt att Apple fortsätter att förbättra det när utvecklarnas behov förändras, och så länge dess prissättning inte är extremt dyra, kan Apple vara en vinnare med Xcode Cloud.

Som alltid ligger beviset i puddingen, och mycket kommer att bero på tillståndet Xcode Cloud befinner sig i vid lanseringen. För många utvecklare kan dock höstsläppet inte komma snart nog.

Redaktörens rekommendationer

  • Apples ChatGPT-konkurrent kan automatiskt skriva kod åt dig
  • Alla anledningar till att jag är exalterad (och orolig) för Apples Reality Pro-headset
  • Apples nästa MacBook och iPad kan vara i allvarliga problem
  • Apples VR-headset har ingen mördarapp, varnar framträdande läckare
  • Här är anledningen till att WWDC kan vara en "kritisk händelse" för Apple