Can anyone confirm this? I always hear it would be way harder than that. Wasn't PPC to Intel way more of a mess?
PPC to Intel was Apple's first time migrating to another architecture and way before iOS/ARM came along. x86 was new to the Apple eco system so clearly had a bit of a learning curve.
Both Intel and ARM code are nowadays highly mature. More important, Apple has all the developer tools in place to simply support multiple architectures in a single binary. Unlike with the transition from PPC to X86 or form 32 to 64 bit, there is typicallly nothing that needs to be done at code level. It really is just recompile and go.
Let me elaborate on this a little bit.
It is possible to write standard C code that would work on PPC but break on Intel x86. These architectures have different endianness and there are also subtle differences in the size and alignment on some data types. In addition, the PPC->Intel transition would often involve a rewrite of a Carbon app to a Cocoa app, which is a lot of work.
It is also possible (and actually, quite easy) to write standard C code that would work on Intel x86 but break on x64, often in some subtle way. Again, the reason for this are differences in the size and alignment of some data types, as well as function call conventions.
AFAIK, it is
not possible to write standard C code that would work on Intel x64 but break on ARMv8, because the basic semantics (datatype sizes, alignment, endianness etc.) between the platforms is
exactly the same(*). Basically, what this means is that the code written for Intel x64 will have exactly the same behaviour when compiled to the 64-bit ARMv8.
In the end, the difference between all the previous transitions and a potential ARMv8 transition, is that the developers had to make sure that their code follows a certain set of rules in order to be compatible with a new platform. But a modern OS X application which works under Intel x64, already complies with all the ARM rules. In the end, if your app is not doing anything crazy (like platform-specific assembly), you won't need to do any porting at all. Provided Apple does not mess up the compiler and the frameworks, of course
(*)There might be some subtle differences in how the CPUs handle floating-point operations, not sure about this.
----------
There's been a few rumors of apple moving along to an ARM architecture, at least for one model. I don't understand it, look at the failure of the windows rt. I'd avoid it like the plague.
Windows RT is a failure because it a whole different version of Windows. What if an ARM-based Apple laptop would run the same OS X, with all (well, ok, most of) the same apps? Apple has the technology to make different platforms coexist seamlessly. I mean, you could copy an application from your ARM machine to your Intel machine and it will start and work in exactly the same way. And I am not talking about merely the
potential of developing such technology they already have it, today.