As you may have heard, Microsoft is slowly replacing its monolithic and proprietary .NET technologies with the open, modular, and cross-platform .NET Core. As part of this effort, the broader .NET community is porting .NET Core to various Internet of Things (IoT) platforms, including Raspberry Pi 2 and 3.
The software giant has been pretty quiet about this work, choosing instead to focus its own efforts at bringing .NET Core to higher profile platforms such as Windows, macOS and Linux. But as IDG noticed this week, the broader .NET community is also making progress bringing this platform to IoT generally, and to Raspberry Pi specifically. And there is already an early release on GitHub for interested parties.
Sign up for our new free newsletter to get three time-saving tips each Friday — and get free copies of Paul Thurrott's Windows 11 and Windows 10 Field Guides (normally $9.99) as a special welcome gift!
"*" indicates required fields
“We can confirm there is an ARM32 version of .NET Core out on GitHub,” a Microsoft spokesperson told IDG. “It is an implementation of .NET Core that Samsung, Microsoft, and the community are working on. We are making it available to customers … so they can use it on Raspberry Pis, IoT, etc.”
Microsoft confirming that something exists on GitHub is semi-pointless—anyone can go see it—but the underlying message there is that it’s not just Microsoft working on .NET Core. Now that these technologies are truly open, they can—and will—spread anywhere. And Samsung mention, by the way, means that .NET Core is also coming to Tizen, apparently in late 2017.
“Samsung will be shipping their Tizen platform on both .NET Core x86 and .NET Core ARM32,” the spokesperson told IDG. “They will build their own supported releases of this just like Red Hat builds their own supported releases of .NET Core.”
OK, but what about Raspberry Pi?
“ARM32 support for .NET Core is still being brought up,” the GitHub page explains, “but there are now daily runtime builds that are ready to use. There is no SDK that runs on ARM32 yet but you can publish an application that will from on a Raspberry Pi.”
I haven’t tried this outside of Windows yet beyond some light console app work in the Bash for Windows 10 Linux environment, but you can now install .NET Core on Linux or macOS and then create and run .NET Core apps in those environments. With this community release, you can also do so on Raspberry Pi.
Looking at the GitHub instructions, this process appears to work identically on Raspberry Pi, but you need to be running Ubuntu Linux (14.04 or 16.04) or Windows 10 IoT Core on that hardware. Which I guess makes sense. But this also casts the cross-platform nature of .NET Core in a new light: Not only does it run on different software platforms, but it can run on different hardware platforms too. Neat!
skane2600
<p>If there's supposed to be some MS business case for putting .NET core on Raspberry Pi, I fail to see it. </p>
skane2600
<blockquote><em><a href="#89756">In reply to mhectorgato:</a></em></blockquote><p>That strategy would be consistent with MS's SOP of 10 years ago, but now they don't want to limit their customers to their own platform. I'm not an expert, but I'd be very surprised to learn that you couldn't use Azure IoT hub without using VS and .NET core.</p>
skane2600
<blockquote><em><a href="#89771">In reply to mhectorgato:</a></em></blockquote><p>As has been shown time and time again, cross-platform solutions are not very effective except in headless applications that interface only with standard hardware. But you're right that it appears to be Microsoft's approach although it seems to be based more on philosophy than on a business strategy. </p>
skane2600
<blockquote><em><a href="#89740">In reply to mjw149:</a></em></blockquote><p>What language are you referring to? winJS? (ok, not technically a prog language). Not sure why education and beginner adoption is key as opposed to professional developers, but there's certainly no shortage of C# developers. In any case a Raspberry Pi isn't a convenient platform to learn a computer language on. IMO, it's greatest educational value is in teaching about HW components at a macro level.</p><p><br></p><p>For most IoT applications, you don't need a processor as fast as a "normal" PC. The key component in a RPi is an ARM processor, just like almost all cell phones and Chromebooks. There's nothing special about it compared to other ARM-based systems. </p>
skane2600
<blockquote><em><a href="#90153">In reply to Carlos Osuna:</a></em></blockquote><p>WORE is a pipe dream and Java is exhibit A proving it. </p>