首先,您可以编译您的应用程序以在基于英特尔的Mac和基于ARM的Mac上运行。你可以使用一种名为Universal 2的新格式将这些应用程序与两个可执行文件一起发布。如果你已经使用了一段时间的Mac,你就会知道苹果在从PowerPC CPU切换到英特尔CPU时使用了相同的流程--一个应用程序,两个可执行文件。
至于未经优化的软件,你仍然可以运行这些应用程序。但它的性能不会像本地ARM就绪应用程序那样好。苹果公司将推出Rosetta2,这是一个模拟层,可以让你在新的Mac电脑上运行旧的应用程序。
当你安装一个旧的应用程序时,你的Mac会检查该应用程序,并试图针对你的ARM处理器对其进行优化。这样,即使在你打开应用程序之前,也会有一定程度的优化。
但是,如果它是网络浏览器或带有即时代码的复杂应用程序呢?当你运行应用程序时,Rosetta2还可以将指令从x86即时翻译成ARM。
如果您是开发将要在服务器上运行的代码的开发人员,那么Apple也在开发一套虚拟化工具。您将能够在ARM Mac上运行Linux和Docker。
作为额外的好处,用户还可以访问更大的应用程序库。“Mac用户首次可以在Mac上运行iOS和iPadOS应用程序,”苹果首席执行官蒂姆·库克说。
虽然该公司没有透露太多细节,但苹果并没有谈论Catalyst,这是苹果自己的框架,可以更容易地将iOS应用移植到MacOS上。即使开发人员从未针对MacOS优化过这些应用程序,您也应该能够下载和运行这些应用程序。
过渡将需要一段时间-大约两年。第一款基于ARM的Mac将于今年年底发货。对于有兴趣将应用程序移植到基于ARM的Mac上的开发人员,将有一个快速入门计划。除了文档和私人论坛外,苹果还将向你发送一台搭载A12Z系统的定制Mac Mini。这样,您就可以在装有ARM芯片的实际Mac上测试您的应用程序。