Za potrošače i vanjske promatrače, Appleova svjetska konferencija programera (WWDC) je uvijek prilika vidjeti što se sprema kada sljedeće verzije njegovih operativnih sustava stignu na njihove uređaje. Za programere, međutim, sve je u tome da nauče što Apple radi ispod haube. Na ovogodišnjem događaju Apple je otkrio Xcode Cloud, nova značajka njegove razvojne aplikacije Xcode za koju Apple vjeruje da će tvorcima aplikacija olakšati i pojednostaviti život.
Sadržaj
- Što je Xcode Cloud?
- 'Dugoročni projekt'
- Provodeći to u praksi
- Problem s cijenama
- Značajka sa stvarnim potencijalom
Preporučeni videozapisi
Ljudi iz Applea rekli su nam da su nevjerojatno uzbuđeni zbog Xcode Clouda — i razočarani što programeri nisu mogli biti na licu mjesta kada je najavljeno na mrežnom događaju tvrtke - a brzo pregledavanje Twittersphere donosi mnoštvo programera koji vrtoglavo očekuju novi značajka.
Ali što je točno Xcode Cloud i zašto je Apple uvjeren da je to tako velika stvar? Da bismo to saznali, razgovarali smo s inženjerima u Appleu i programerima na koje cilja da vidimo kako bi Xcode Cloud mogao utjecati na njihov rad, čuti sve njihove strahove i zadirkivati što bi to moglo značiti za budućnost aplikacije.
Povezano
- Mislio sam da ću mrziti Appleove VR slušalice, ali prevario sam se
- Evo zašto bi Appleov M3 MacBook čip mogao uništiti svoje rivale
- Appleove Reality Pro slušalice mogle bi se pojaviti prije nego što je itko očekivao
Što je Xcode Cloud?
Počnimo s osnovama. Za izradu aplikacija za Apple platforme, programeri koriste Mac aplikaciju koju je izradio Apple pod nazivom Xcode. Postoji od 2003. i ostaje jedan od najvažnijih dijelova softvera u Appleovom katalogu. Xcode Cloud jedno je od najvećih ažuriranja Xcodea u posljednjih nekoliko godina, donoseći novu funkcionalnost zbog koje su mnogi programeri morali napustiti Xcode u prošlosti.
Apple pozicionira Xcode Cloud kao alat koji stavlja prethodno složene alate na dohvat ruke svim programerima. Pitao sam Wileyja Hodgesa, direktora marketinga proizvoda za alate i tehnologije u Appleu, što su čuli od programera što je dovelo do stvaranja Xcode Clouda.
"Vidjeli smo da postoje... zadaci kao što je distribucija aplikacija beta testerima, kao što je upravljanje povratnim informacijama i izvješćima o rušenju, koji su stvarno ključni za izradu sjajnih aplikacija", rekao je Hodges. “Vidjeli smo da je sve više i više naših programera zainteresirano za kontinuiranu integraciju i korištenje ovu automatiziranu izradu i automatizirani postupak testiranja za stalnu provjeru kvalitete softvera dok postoji izgrađen.”
Upravo su to problemi kojima se Xcode Cloud treba baviti.
Xcode Cloud omogućuje razvojnim programerima pokretanje više automatiziranih testova odjednom, koristi kontinuiranu integraciju (CI) tako da se kod aplikacije može brzo ponoviti i ažurirati. Također pojednostavljuje distribuciju verzija aplikacija beta testerima i omogućuje razvojnim programerima da nadoknade povratne informacije. Može graditi aplikacije u oblaku umjesto na Macu kako bi se smanjilo opterećenje i omogućuje stvaranje naprednih radnih procesa koji se automatski pokreću i zaustavljaju ovisno o postavljenim uvjetima.
"Htjeli smo ove alate i usluge učiniti dostupnima svim našim razvojnim programerima jer je to trenutno nešto što mislim da je to više na naprednoj razini za programere da ovo postave i pokrenu kao dio svog procesa,” Hodges objasnio.
To zvuči dovoljno obećavajuće. Ali što misle stvarni programeri?
'Dugoročni projekt'
Stavljanje tih alata u središte je nešto što nam je nekoliko programera reklo da je ključna atrakcija Xcode Clouda. Sada kada su prethodno prilično specijalizirane mogućnosti integrirane u glavni alat koji koriste za za izradu aplikacija, mnogo je manje potrebe za pronalaženjem alternativa trećih strana i dodavanjem dodatnih koraka njihovim tijek rada.
Denys Telezhkin, softverski inženjer u ClearVPN-u, sažeo je ovaj osjećaj u intervjuu za Digital Trends.
"Bio sam jako zainteresiran [za Xcode Cloud] jer je bilo raznih problema s različitim CI-jevima", rekao mi je. "Na primjer, Microsoft Azure je teško konfigurirati, GitHub Actions je skup, i tako dalje."
Uz sve integrirano u Xcode Cloud, oslanjanje na nepouzdane alternative moglo bi postati nepotrebno. Naravno, Apple će rado skrenuti programere od svojih rivala.
Ali glavni poticaj, inzistira Hodges, bilo je nešto drugo: “Motivacija za Xcode Cloud došla je iz našeg promatranja da iako je postojala skupina predanih korisnika Xcode poslužitelja, većina programera još uvijek nije implementirala kontinuirani integracija. Počeli smo razmatrati prepreke koje su sprječavale usvajanje i došli do zaključka da bi CI ponuda hostirana u oblaku bila najbolji način da se široko prihvaćanje CI-ja kao prakse, osobito s manjim programerima za koje je postavljanje i upravljanje namjenskim poslužiteljima za izgradnju bilo veće izazov."
"Vidjeti alate i usluge poput Xcode Clouda integrirane izravno u razvojnu platformu nas je uzbudilo."
Za programere se ipak radi o više od samog CI-ja. Scott Olechowski, glavni direktor za proizvode i suosnivač Plexa, morao je isprobati beta verziju Xcode Clouda prije Appleove najave za WWDC. Rekao mi je da su potencijalne koristi široke.
“Vidjeti alate i usluge kao što je Xcode Cloud integrirane izravno u razvojnu platformu od tada nas je uzbudilo stvarno bi nam trebalo pomoći da budemo učinkovitiji u našem razvoju, QA [osiguranju kvalitete] i izdavanju napori.”
Dio te povećane učinkovitosti vjerojatno će doći u alate za suradnju Xcode Clouda. Svaki član tima može vidjeti promjene projekta od svojih kolega, a obavijesti se mogu poslati kada se objavi ažuriranje koda. Vrijeme je povoljno, s obzirom na način na koji je tekuća pandemija fizički razdvojila timove diljem svijeta. Ipak, to je također bila slučajnost, rekao je Hodges.
“Stvarnost je da smo na ovom putu već neko vrijeme, doslovno godinama i godinama, pa mislim da bi tajming mogao biti slučajan u tom pogledu. Ovo je definitivno dugoročni projekt koji je bio u tijeku prije naših nedavnih nesretnih događaja.”
Provodeći to u praksi
Ako postoji jedna stvar u kojoj je Apple izvrstan, to je izgradnja ekosustava aplikacija i proizvoda koji rade zajedno. Nije iznenađujuće, Xcode Cloud to odražava — povezuje se s TestFlightom za beta testere, omogućuje paralelno pokretanje nadogradnji na više virtualnih Apple uređaja, dobro se poigrava s App Store Connect i još mnogo toga. Za mnoge programere ta bi integracija mogla imati snažan pozitivan učinak na njihov rad.
Vitalii Budnik, softverski inženjer u MacPaw's Setappu, rekao mi je da će imati sve na jednom mjestu značiti više vremena provedenog u stvarnom kodiranju, a manje vremena žongliranja s više alata i opcija. Za Budnikovog MacPaw kolegu, Bohdana Mihilieva iz Gemini Photos, proces distribucije aplikacije bit će brži i lakši nego što je trenutno.
Apple vidi Xcode Cloud kao nešto što može poboljšati život velikim i malim programerima. Alison Tracey, vodeća programerka za Xcode Cloud u Appleu, naglasila je način na koji Xcode Cloud izjednačava uvjete za igranje i za manje programere.
„S nizom opcija koje vam postoje u iskustvu konfiguracije kada postavljate svoje tijekove rada, stvarno možete podržati potrebe mali razvojni programer ili netko tko je mala razvojna radionica ili netko tko je nov u kontinuiranoj integraciji, sve do veće napredne snage korisnika.”
To se kreće od jednostavnog procesa uključivanja u četiri koraka do integracije Mac aplikacije i alate kao što su Slack i nadzorne ploče zahvaljujući ugrađenim API-jima.
Problem s cijenama
No, nije sve glatko. Apple je odbio otkriti detalje o cijenama za Xcode Cloud na WWDC-u, rekavši da više informacija neće biti dostupno do jeseni. Mnogi programeri s kojima sam razgovarao bili su zabrinuti zbog toga u ovoj ili onoj mjeri, i čini se da je to malo ublažilo uzbuđenje koje mnogi razvojni programeri osjećaju u vezi s potencijalom Xcode Clouda.
Postavljena su i pitanja o vrijednosti Xcode Clouda za razvojne timove koji stvaraju aplikacije i za Appleove platforme i za platforme koje nisu Appleove budući da se Xcode može pokrenuti samo na Macu. Predao sam ovo Alexu Stevenson-Priceu, voditelju inženjeringa u Plexu, budući da Plex ima aplikacije za Mac, Windows, Linux, Android, iOS i mnogi drugi sustavi. Rekao mi je da su razne Plexove aplikacije izradili različiti timovi koristeći različite alate, pa iako je to sjajna nova string u luku Apple tima, neće biti od velike koristi timovima koji nisu Apple jer neće koristiti Xcode svejedno.
Ako želite iskoristiti prednosti Xcode Clouda pri izradi Android aplikacije, nemate sreće.
Naravno, ne bi trebalo biti iznenađenje da Apple ima ograničen interes za pružanje alata za konkurentske ekosustave. Ako želite iskoristiti prednosti Xcode Clouda pri izradi Android aplikacije, nemate sreće, ali Xcode je uvijek bio ograničen (Apple bi mogao reći fokusiran) na taj način. To bi moglo predstavljati probleme programerima koji imaju istu aplikaciju i na iOS-u i na
Drugi programeri rekli su mi da će morati pričekati i vidjeti hoće li se navodne prednosti Xcode Clouda ostvariti u stvarnosti. Njegova upotreba za samostalne programere također je dovedena u pitanje, dijelom zato što je niz njegovih značajki usmjeren na timove s više članova.
Na primjer, Lukas Burgstaller, programer koji stoji iza aplikacija kao što su Fiery Feeds i Tidur, rekao mi je da uslužni program Xcode Cloud ovisi o postavci.
"Iako mislim da ga neću koristiti za svoje osobne projekte [jer] osjećam da je kontinuirana integracija umjereno korisna u najboljem slučaju za samostalnog programera postavljanja, definitivno ću ga početi koristiti u svom svakodnevnom poslu kao vođa iOS tima, gdje smo planirali postaviti neku vrstu CI-ja više od godinu dana, ali nikad nismo to."
No čak i ako možda ne koristi svaku značajku, Burgstaller je ipak opisao Xcode Cloud kao "konačnu" najavu, rekavši da je iznimno sretan što ga Apple dodaje u Xcode.
Značajka sa stvarnim potencijalom
Još je rano za Xcode Cloud. Kao i mnoga druga ažuriranja i nove značajke najavljene na WWDC 2021, od iOS 15 do MacOS Monterey, trenutno je dostupan samo beta testerima. Unatoč nekoliko zabrinutosti — i lošim sjećanjima s neuspjelog pokretanja još jednog alata za razvojne programere, Mac Catalyst, prije nekoliko godina — čini se da prednosti daleko nadmašuju nedostatke, barem prema programerima s kojima sam razgovarao.
Zapravo, nitko od tih programera nije rekao da je Xcode Cloud potpuno bez zasluga, što sugerira da će biti nešto za većinu ljudi koji rade na stvaranju aplikacija za Appleov ekosustav. Pod uvjetom da ga Apple nastavi poboljšavati kako se potrebe programera mijenjaju i sve dok njegove cijene nisu izrazito skupe, Apple bi mogao biti pobjednik s Xcode Cloudom.
Kao i uvijek, dokaz je u pudingu, a puno će ovisiti o stanju u kojem će se Xcode Cloud naći pri lansiranju. Za mnoge programere, međutim, jesensko izdanje ne može doći dovoljno brzo.
Preporuke urednika
- Appleov rival ChatGPT može automatski napisati kod za vas
- Svi razlozi zbog kojih sam uzbuđen (i zabrinut) zbog Appleovih slušalica Reality Pro
- Appleovi sljedeći MacBookovi i iPadi mogli bi biti u ozbiljnim problemima
- Appleove VR slušalice nemaju ubojitu aplikaciju, upozorava istaknuti autor informacija
- Evo zašto bi WWDC mogao biti 'kritičan događaj' za Apple