На июньской WWDC 2020 Apple объявила о том, что в течение следующих двух лет все компьютеры Mac перейдут на собственные чипы ARM компании. Об этом решении уже давно ходили слухи, но услышать эту новость от самой Apple — совсем другое дело. Компания не только выполнит этот переход, но и стремится завершить его всего за пару лет.



Эта смена платформы напоминает событие, произошедшее в 2006 году, когда Apple перешла с PowerPC на Intel, но есть несколько отличий. Во-первых, когда компания переключилась с PowerPC на Intel, Windows уже по большей мере работала на архитектуре x86/x86–64. Следовательно, благодаря этому Mac попал на ту же процессорную платформу, на которой находилась доминирующая ОС Windows. В этот раз Apple делает нечто противоположное — переносит Mac на ARM, не имеющий большой доли в настольных компьютерах и ноутбуках. Отличается и ситуация с рынком — сегодня доминирующим типом компьютеров являются смартфоны. Кроме того, значительно выросла рыночная доля Linux, который занимает более 2% (в основном его используют разработчики).

Что всё это будет значить для разработчиков под macOS и iOS?


Для разработчиков под iOS это довольно хорошая новость. Такой переход означает, что Mac теперь будет работать на той же архитектуре, что и iPhone с iPad, то есть создавать приложения с поддержкой macOS будет намного проще. Особенно справедливо это потому, что все приложения iOS теперь будут доступны на Mac с ARM с момента выпуска, если только разработчик приложения не откажется от этого. Мне кажется, что при этом и так уже замечательные симуляторы iPhone и iPad будут обеспечивать ещё более высокую производительность.

Однако автоматическая публикация приложений iOS на Mac — это обоюдоострый меч. Приложения iPhone разрабатывались для оптимальной работы на iPhone. Это значит, что без дополнительных усилий со стороны разработчиков они могут выглядеть очень странно на гораздо большем экране с соотношением сторон 16:10. Чтобы приложение выглядело на Mac отлично, потребуется лишний труд разработчиков.

Для разработчиков под Mac преимущество будет заключаться в большем времени работы от аккумулятора и разработке на потенциально гораздо более мощном компьютере. Но на этом… преимущества практически заканчиваются. Rosetta 2 позволит запускать старые приложения на новой архитектуре ARM, но ценой снижения производительности. На самом деле, Rosetta 2 — это только временное решение, дающее разработчикам время на портирование своих приложений. А для этого, опять же, требуются усилия разработчика.

А что насчёт других разработчиков?


Для разработчиков, у которых экосистема Apple не является основной целевой платформой, изменения могут или остаться незаметными, или приведут к отказу от платформы. Многим кроссплатформенным разработчикам, вероятно, не придётся делать почти ничего лишнего, потому что всю работу по адаптации приложений под процессоры Apple, скорее всего, возьмут на себя фреймворки. В то же время, Bootcamp (ПО, используемое для запуска Windows на «железе» Apple) на новых Mac работать не будет. Для многих разработчиков это станет причиной отказа от платформы, потому что Windows на ARM лицензируется только для OEM, а значит, пока нет способов запуска Windows на Mac с ARM.

Для множества других разработчиков, в особенности для веб-разработчиков (составляющих подавляющее большинство), эта новая архитектура может создать трудности, заключающиеся в том, что их машины будут работать на архитектуре, отличающейся от архитектуры используемых ими Linux-серверов.

Объясню, что это значит, на примере: обычно я работаю с Mac, потому что на одной машине могу сразу протестировать свои приложения на всех основных платформах. Нужно протестировать ПО под Windows? Запускаем Parallels и загружаем Windows VM или выполняем dual boot с раздела Bootcamp. Требуется тестирование под Linux? Снова запускаем Parallels. Разрабатываем приложение для мобильных? Mac — это единственный компьютер, на котором можно протестировать ПО для iOS и Android. В то же время, я пишу серверные скрипты в основном на Mac, потом тестирую их совместимость с помощью Parallels, а затем исправляю немногочисленные ошибки, которые могут возникать из-за того, что я работаю на Mac, а не под Linux, и уже после этого выполняю деплой на серверах. После перехода на процессоры Apple многие из перечисленных возможностей могут быть потеряны.

Вывод


Хотя в этой статье я в основном сосредоточился на негативных аспектах перехода на процессоры Apple, у него есть и множество плюсов. Представьте ноутбук, способный несколько дней работать от аккумулятора, и при этом более мощный, чем современные модели. Представьте, что можно написать приложение один раз и без проблем запускать его на iPhone, iPad и Mac. Представьте, что можно запускать самые новые игры с отличной частотой кадров без отдельного GPU и быстрого разряда аккумулятора. Вскоре всё это может стать реальностью.

С другой стороны, что если AMD и Intel по-прежнему будут доминировать на рынке мощных компьютеров, а чипы ARM компании Apple смогут конкурировать только в нижнем сегменте? Что если ставка на смену архитектур не оправдает себя, и Apple потеряет благосклонность разработчиков?



На правах рекламы


Каким бы вы устройством не пользовались, вы всегда можете заказать наши эпичные серверы с мгновенной активацией. Удобная панель управления серверами, которая прекрасно работает с любого девайса. Для регистрации и заказа услуги достаточно указать свой email, активация сервера — в течение минуты!

Комментарии (89)