За потребителите и външните наблюдатели, Световната конференция на разработчиците на Apple (WWDC) винаги е шанс да видите какво ви очаква, когато следващите версии на операционните системи дойдат на техните устройства. За разработчиците обаче всичко е да научат какво прави Apple под капака. На тазгодишното събитие Apple разкри Xcode Cloud, нова функция на своето приложение за разработка на Xcode, която Apple вярва, че ще направи живота по-лесен и прост за създателите на приложения.
Съдържание
- Какво е Xcode Cloud?
- „Дългосрочен проект“
- Прилагайки го на практика
- Проблемът с ценообразуването
- Функция с реален потенциал
Препоръчани видеоклипове
Хората от Apple ни казаха, че са невероятно развълнувани за Xcode Cloud – и разочаровани, че разработчиците не могат да бъдат на място, когато беше обявено на онлайн събитието на компанията – и бързият преглед на Twittersphere извежда богатство от разработчици, замаяни от очакване за новото особеност.
Но какво точно е Xcode Cloud и защо Apple е убедена, че е толкова голяма работа? За да разберем, седнахме както с инженерите на Apple, така и с разработчиците, към които е насочена, за да видим как Xcode Cloud може повлияе на тяхната работа, за да чуе всички опасения, които може да имат, и да разгадае какво може да означава това за бъдещето на приложения.
Свързани
- Мислех, че ще намразя VR слушалките на Apple, но грешах
- Ето защо чипът M3 MacBook на Apple може да унищожи своите конкуренти
- Слушалките Reality Pro на Apple може да стартират по-рано от очакваното
Какво е Xcode Cloud?
Да започнем с основите. За да създават приложения за платформи на Apple, разработчиците използват създадено от Apple приложение за Mac, наречено Xcode. Той съществува от 2003 г. и остава един от най-важните части от софтуера в каталога на Apple. Xcode Cloud е една от най-големите актуализации на Xcode от години, носеща нова функционалност, за която много разработчици трябваше да напуснат Xcode в миналото.
Apple позиционира Xcode Cloud като инструмент, който поставя предишни сложни инструменти в обсега на всички разработчици. Попитах Wiley Hodges, продуктов маркетинг директор за инструменти и технологии в Apple, какво чуват от разработчиците, което доведе до създаването на Xcode Cloud.
„Видяхме, че има... задачи като разпространение на приложенията до бета тестери, като управление на обратна връзка и доклади за сривове, които са наистина критични за изграждането на страхотни приложения“, каза Ходжис. „И ние видяхме, че все повече и повече от нашите разработчици се интересуват от непрекъсната интеграция и използване този автоматизиран процес на изграждане и автоматизиран тест за постоянна проверка на качеството на софтуера, докато съществува построен."
Това са точно проблемите, които Xcode Cloud трябва да адресира.
Xcode Cloud позволява на разработчиците да изпълняват множество автоматизирани тестове наведнъж, използва непрекъсната интеграция (CI), така че кодът на приложението може бързо да се повтаря и актуализира. Той също така опростява разпространението на компилации на приложения до бета тестери и позволява на разработчиците да наваксат обратната връзка. Той може да създава приложения в облака, а не на Mac, за да намали натоварването и позволява създаването на разширени работни процеси, които автоматично стартират и спират в зависимост от зададените условия.
„Искахме да направим тези инструменти и услуги достъпни за всички наши разработчици, защото в момента това е нещо, което аз мисля, че беше по-напреднало ниво за разработчиците, за да настроят и стартират това като част от техния процес, ”Ходжис обясни.
Това звучи достатъчно обещаващо. Но какво мислят реалните разработчици?
„Дългосрочен проект“
Поставянето на тези инструменти отпред и в центъра е нещо, което няколко разработчици ни казаха, че е ключова привлекателност на Xcode Cloud. Сега, когато по-рано доста специализирани възможности са интегрирани в основния инструмент, който използват за създаване на приложения, има много по-малка нужда от намиране на алтернативи на трети страни и добавяне на допълнителни стъпки към тях работни потоци.
Денис Тележкин, софтуерен инженер в ClearVPN, обобщи това чувство в интервю за Digital Trends.
„Бях много заинтересован [от Xcode Cloud], тъй като имаше различни проблеми с различни CI“, каза ми той. „Например Microsoft Azure е труден за конфигуриране, GitHub Actions е скъп и т.н.“
С всичко, интегрирано в Xcode Cloud, разчитането на ненадеждни алтернативи може да стане ненужно. Разбира се, Apple ще се радва да отклони разработчиците от своите конкуренти.
Но главният импулс, настоява Ходжис, е нещо различно: „Мотивацията за Xcode Cloud дойде от нашето наблюдение че въпреки че имаше група отдадени потребители на Xcode Server, повечето разработчици все още не прилагаха непрекъснато интеграция. Започнахме да разглеждаме пречките, които възпрепятстваха приемането, и стигнахме до заключението, че предлагането на CI, хоствано в облак, би било най-добрият начин да получите широко приемане на CI като практика, особено с по-малки разработчици, за които настройката и управлението на специализирани сървъри за изграждане беше по-голямо предизвикателство."
„Виждайки инструменти и услуги като Xcode Cloud, интегрирани директно в платформата за разработка, ни развълнувахме.“
За разработчиците обаче това е нещо повече от CI. Скот Олеховски, главен продуктов директор и съосновател на Plex, трябваше да изпробва бета версия на Xcode Cloud преди съобщението на Apple за WWDC. Той ми каза, че потенциалните ползи са широки.
„Виждайки инструменти и услуги като Xcode Cloud, интегрирани директно в платформата за разработка, ни развълнува оттогава това наистина трябва да ни помогне да бъдем по-ефективни в нашето развитие, QA [осигуряване на качеството] и пускане усилия."
Част от тази повишена ефективност вероятно ще дойде в инструментите за сътрудничество на Xcode Cloud. Всеки член на екипа може да види промените в проекта от своите колеги и могат да бъдат изпращани известия, когато се публикува актуализация на кода. Моментът е благоприятен, като се има предвид начинът, по който продължаващата пандемия физически раздели екипи по целия свят. И все пак това също беше съвпадение, каза Ходжис.
„Реалността е, че сме на този път от доста време, буквално години и години, така че мисля, че времето може да е случайно в това отношение. Това определено е дългосрочен проект, който беше в ход преди нашите злощастни скорошни събития.“
Прилагайки го на практика
Ако има нещо, в което Apple е страхотен, това е изграждането на екосистема от приложения и продукти, които работят заедно. Не е изненадващо, че Xcode Cloud отразява това - свързва се с TestFlight за бета тестери, позволява ви да изпълнявате компилации на множество виртуални устройства на Apple паралелно, работи добре с App Store Connect и много други. За много разработчици тази интеграция може да има силно положително въздействие върху работата им.
Виталий Будник, софтуерен инженер в Setapp на MacPaw, ми каза, че разполагането на всичко на едно място ще означава повече време, прекарано в действително кодиране, и по-малко време за жонглиране с множество инструменти и опции. За колегата на Budnik MacPaw, Богдан Михилиев от Gemini Photos, процесът на разпространение на приложения ще бъде по-бърз и по-гладък, отколкото е в момента.
Apple вижда Xcode Cloud като нещо, което може да подобри живота на големи и малки разработчици. Алисън Трейси, водещ разработчик на Xcode Cloud в Apple, подчертава начина, по който Xcode Cloud изравнява игралното поле и за по-малките разработчици.
„С набора от опции, които съществуват за вас в изживяването на конфигурацията, когато настройвате вашите работни потоци, вие наистина можете да подкрепите нуждите на малък разработчик или някой, който е малък магазин за разработка, или някой, който е нов в непрекъснатата интеграция, чак до повече от усъвършенстваната мощност потребители.”
Това варира от прост процес на включване в четири стъпки до интегриране Приложения за Mac и инструменти като Slack и табла за управление благодарение на вградените API.
Проблемът с ценообразуването
Не всичко обаче върви гладко. Apple отказа да разкрие подробности за цените за Xcode Cloud на WWDC, като каза, че повече информация няма да бъде налична до есента. Много разработчици, с които говорих, бяха загрижени за това в една или друга степен и изглежда, че това леко намалява вълнението, което много разработчици изпитват относно потенциала на Xcode Cloud.
Бяха повдигнати и въпроси относно стойността на Xcode Cloud за екипи от разработчици, които създават приложения както за платформи на Apple, така и за платформи, които не са на Apple, тъй като Xcode може да се изпълнява само на Mac. Предадох това на Алекс Стивънсън-Прайс, инженерен мениджър в Plex, тъй като Plex има приложения за Mac, Windows, Linux, Android, iOS и много други системи. Той ми каза, че различните приложения на Plex са създадени от различни екипи, използващи различни инструменти, така че макар да е страхотно ново низ в лъка на екипа на Apple, няма да е от голяма полза за екипите извън Apple, защото те няма да използват Xcode така или иначе.
Ако искате да получите предимствата на Xcode Cloud, когато създавате приложение за Android, нямате късмет.
Разбира се, не трябва да е изненада, че Apple има ограничен интерес към предоставянето на инструменти за конкурентни екосистеми. Ако искате да получите предимствата на Xcode Cloud, когато създавате приложение за Android, нямате късмет, но Xcode винаги е бил ограничаван (Apple може да каже фокусиран) по този начин. Това може да създаде проблеми за разработчиците, които имат едно и също приложение както на iOS, така и на
Други разработчици ми казаха, че ще трябва да изчакат и да видят дали предполагаемите предимства на Xcode Cloud се играят в действителност. Използването му за соло разработчици също беше поставено под въпрос, отчасти защото редица от функциите му са насочени към екипи с множество членове.
Например Лукас Бургсталер, разработчикът зад приложения като Fiery Feeds и Tidur, ми каза, че помощната програма на Xcode Cloud зависи от настройката.
„Въпреки че не мисля, че ще го използвам за личните си проекти [тъй като] чувствам, че непрекъснатата интеграция е умерено полезна в най-добрия случай за соло разработчик настройка, определено ще започна да го използвам в ежедневната си работа като ръководител на екип за iOS, където планирахме да настроим някакъв вид CI повече от година, но така и не успяхме то."
Но дори и да не използва всяка функция, Burgstaller все пак описа Xcode Cloud като „най-накрая“ съобщение, като каза, че е изключително щастлив, че Apple го добавя към Xcode.
Функция с реален потенциал
Все още е рано за Xcode Cloud. Подобно на много други актуализации и нови функции, обявени на WWDC 2021, от iOS 15 да се MacOS Monterey, в момента е достъпен само за бета тестери. Въпреки няколко опасения - и лоши спомени от неуспешното стартиране на друг инструмент за разработчици, Mac Catalyst, преди няколко години — изглежда, че предимствата далеч надхвърлят недостатъците, поне според разработчиците, с които говорих.
Всъщност никой от тези разработчици не каза, че Xcode Cloud е напълно без заслуги, което предполага, че ще има нещо за повечето хора, които работят за създаване на приложения за екосистемата на Apple. При условие, че Apple продължи да го подобрява, тъй като разработчиците се нуждаят от промяна и стига цените му да не са изключително скъпи, Apple може да е победител с Xcode Cloud.
Както винаги, доказателството е в пудинга и много ще зависи от състоянието, в което се намира Xcode Cloud при стартирането. За много разработчици обаче есенното му издание не може да дойде достатъчно скоро.
Препоръки на редакторите
- Съперникът на Apple ChatGPT може автоматично да напише код вместо вас
- Всички причини, поради които съм развълнуван (и притеснен) за слушалките Reality Pro на Apple
- Следващите MacBook и iPad на Apple може да имат сериозни проблеми
- VR слушалките на Apple нямат убийствено приложение, предупреждава виден автор на информация
- Ето защо WWDC може да бъде „критично събитие“ за Apple