But what if it's a web browser or a complicated app with just-in-time code? Rosetta 2 can also translate instructions from x86 to ARM on the fly, while you're running the app.
This way, there will be some level of optimization even before you open the app. When you install an old app, your Mac will examine the app and try to optimize it for your ARM processor. Apple is going to ship Rosetta 2, an emulation layer that lets you run old apps on new Macs. But its performances won't be as good as what you'd get from a native ARM-ready app. As for unoptimized software, you'll still be able to run those apps. If you've been using a Mac for a while, you know that Apple used the same process when it switched from PowerPC CPUs to Intel CPUs - one app, two executables. You can ship those apps with both executables using a new format called Universal 2. TechCrunch reports: First, you'll be able to compile your app to run both on Intel-based Macs and ARM-based Macs.
They also announced that iPad and iPhone apps will be able to run natively on ARM-powered Macs. At the WWDC 2020 keynote today, Apple announced that the company is going to switch from Intel chips to Apple's own silicon, based on ARM architecture.