Если вы разрабатываете в экосистеме эппл (xcode и это всё) - приложения смогут поддерживать x86 и ARM архитектуры. Свои приложения, а также MS Office и линейка Adobe уже портированы на новую платформу.
Я тупой джавист и ассемблер писал только в 2000-ом году и то под Дос 6.22, объясните мне: чо, реально старые исходники на С/C++ нельзя тупо скомпилить под ARM и радоваться? В чём там проблема?
В случае с эпл это скорее очень большая работа, чем проблема. И это фактически единственная компания в мире, которая может провернуть такой ход. Они хотят полностью свою платформу - от железа до софта, и чтобы сторонние разработчики их поддержали эпл требуется облегчить им жизнь. И со swift они это делают.
Если ты писал на C/C++, начинается интересное - нужны порты компилятора и библиотек. Плохой компилятор - плохие программы. Но допустим, компилятор сдюжил, но с библиотеками - даже опенсорс здесь не всегда поможет, ведь если дело касается чего-нибудь очень близкого к железу (ffmpeg с хитрыми флагами и вот мы попали на ассемблерные оптимизации), а теперь их нет и все работает не так, если вообще работает. Или ты опирался на API, например OpenGL, который эпл не поддерживает. Но была реализация от Mesa и на x86 тебя устраивала производительность, благодаря вылизанным оптимизациям. А на новой платформе, вдруг, API реализован не полностью и скорость работы уже не та, чтобы конкурировать на рынке.
Надо посмотреть, что там с clang в первую очередь. А остальное подтянется, но не сразу, конечно.
чо, реально старые исходники на С/C++ нельзя тупо скомпилить под ARM и радоваться? В чём там проблема?
Если ты писал на C/C++, начинается интересное - нужны порты компилятора и библиотек. Плохой компилятор - плохие программы. Но допустим, компилятор сдюжил, но с библиотеками - даже опенсорс здесь не всегда поможет, ведь если дело касается чего-нибудь очень близкого к железу (ffmpeg с хитрыми флагами и вот мы попали на ассемблерные оптимизации), а теперь их нет и все работает не так, если вообще работает. Или ты опирался на API, например OpenGL, который эпл не поддерживает. Но была реализация от Mesa и на x86 тебя устраивала производительность, благодаря вылизанным оптимизациям. А на новой платформе, вдруг, API реализован не полностью и скорость работы уже не та, чтобы конкурировать на рынке.
Надо посмотреть, что там с clang в первую очередь. А остальное подтянется, но не сразу, конечно.