Lately I noticed due to all the different things I do with the Raspberry Pi how easy the Linux ecosystem jumps between different CPU architectures. I would say it is almost seamless. Here are a couple of examples:
Starting with the Linux Operating System itself in a wider concept, system administration is the same on the x86 PC and on an embedded ARM machine such as a Raspbery Pi. The learning curve when jumping from an x86 Linux to an ARM Linux platform is zero.
On the application software side things look equally bright. LibreOffice works on both my x86 notebook and on the ARM based Raspberry Pi. It looks the same and it feels the same, no difference. Just the speed is not quite the same. VLC, my audio and video player of choice due to its universal capabilities also works on both platforms. Children games and learning apps collection such as Scratch and GCompris work just the same.
In the somewhat more advanced category, there are cloud services and remote support. The Apache web server and lots of additions such as PHP, perl, python, etc. work identically in the x86 and ARM world. Again a learn once – use across platforms experience. Lots of web based applications such as ownCloud, Wikis and even more exotic stuff such as the Logitech Media Server don't care about the CPU platform as the interpreter languages they rely on work the same on x86 and ARM. There's also no difference when it comes to a setup for supporting a device remotely. VNC exists cross-platform so there's no
difference configuring an x86 or ARM Linux for remote administration.
And finally, hardware support on ARM is excellent as well. USB keyboards, mice, sound cards, memory sticks, SD cards etc. just work fine on the ARM based Raspi without installing any drivers.
All of this would be much harder to accomplish if it weren't for a number of major innovations that have been made over the years and bear their full fruits now:
The first one that comes to mind is the centralized application repository and update tool that is at the core of every Linux distribution and has existed long before app stores became popular in the mobile world.
It's also important to realize that Linux repositories go one step further than mobile app stores: As the software contained in them is usually open source, the Linux distribution itself can can compile all software for different CPU platforms.
Finally, third party USB hardware support is fabulous because drivers are already part of the Linux kernel and due to the abstraction via USB don't care about the processor architecture either. Again, everything is compiled by a central instance and hence does not require third parties to compile their drivers for different hardware platforms and give them to the central repository. That dramatically simplifies software updates.
Microsoft must look enviously to the Linux camp in that regard. Their jump over to the ARM world looks much more difficult. There's Windows RT running on ARM based tablets of course but except for Office that was specifically ported to ARM there are few programs known from the x86 Windows world that run on it as well. After all, it's the software companies themselves that would have to support it by compiling their applications for another architecture that lacks support for many of the legacy libraries they use today. And on top of that they have to enter the "tile interface" world. It seems few are willing to do that so it's unlikely Linux will loose its cross CPU platform advantage anytime soon.
I bought a Pi, but I’ve been too busy to play with it. 🙁 Keep us posted on your projects.