Найти в Дзене

Apple может потерять толпу разработчиков

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

В июне Apple объявила на WWDC2020, что в течение следующих двух лет они переведут все компьютеры Mac на собственные чипы ARM. Об этом шаге ходили слухи и ждали долгое время, но услышать об этом от самих Apple было совсем другим. Они не только переходят, но и намерены сделать это полностью в течение очень коротких двух лет.

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

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

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

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

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

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

Для разработчиков, не занимающихся разработкой специально для экосистемы Apple, эта новость может быть либо очень незначительной, либо нарушить условия сделки. Многим кроссплатформенным разработчикам, вероятно, не придется много делать, поскольку фреймворки, лежащие в основе этих приложений, скорее всего, будут выполнять обычную работу, необходимую для работы на Apple Silicon. Тем не менее, Bootcamp (утилита, используемая для запуска Windows на оборудовании Apple) не будет работать на новых Mac. Это является преградой для многих разработчиков, потому что Windows на ARM лицензируется только OEM-производителям, поэтому на данный момент нет возможности запускать Windows на ARM Mac.

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

В качестве примера того, что это означает, я обычно использую Mac, потому что на своем единственном компьютере я могу тестировать свои приложения на всех основных платформах одновременно. Хотите протестировать в Windows? Запустите Parallels и загрузитесь в виртуальную машину Windows или выполните двойную загрузку в раздел Bootcamp. Хотите протестировать на Linux? Снова запустите Parallels. Разрабатываете для мобильных устройств? Mac - единственный компьютер, на котором вы можете тестировать как iOS, так и Android на одном компьютере. В то же время я могу в первую очередь писать свои серверные скрипты на своем Mac, а затем проверять совместимость с помощью Parallels и исправлять несколько проблем, которые могут возникнуть в результате работы на Mac вместо Linux, перед их развертыванием на реальных серверах. С Apple Silicon многое из этого абзаца может больше не соответствовать действительности.

Суть

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

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