Still in preview, but look! You can now develop Azure Sphere apps in Linux – if you dare
19.11 brings penguin support and a Visual Studio Code extension
Microsoft's forever-in-preview Azure Sphere received an important update this week, bringing a Linux SDK (also in preview form) and Visual Studio Code support.
Microsoft <3 Linux
The 19.11 release of the Azure Sphere SDK brings Linux support, although you do have to jump through a few hoops in order to get it working. Ubuntu 18.04 LTS is also required, although it might work on other distros.
Ominously, Microsoft warns that "your success using different distributions may vary", so Ubuntu it is then. This is preview stuff after all.
Once installed, it should be possible to build, deploy and debug Azure Sphere apps in Linux using either the command line or the cross-platform Visual Studio Code.
It is fair to say that getting the preview Linux SDK up and running is not for the faint of heart, even with the prerequisites, including Ubuntu, in place.
Full sudo permission is needed, and while Microsoft helpfully provides a script to download and install the SDK, it is up to the user to ensure that primary key fingerprints shown by the script match Microsoft's public-key fingerprint.
After a reboot, a further script must be run to connect to something like a MediaTek MT3620 hardware development kit. Vaguely annoyingly, that script has to be run after every reboot and every time the hardware is detached and reattached.
Once the SDK is installed CMake and Ninja are required (through a
sudo apt install rather than as a snap). Fire up Visual Studio, find the Azure Sphere extension in the Marketplace, and you're good to go.
Visual Studio Code
While our tinkering with the tech in the past has been mainly on Windows using the full-blown Visual Studio, it was heartening to see support for Visual Studio Code arrive via the Azure Sphere extension.
Supporting Linux (see above) and, of course, Windows, the extension makes for an altogether friendlier development environment for those that prefer the open-source code wrangler (and goodness, there's a lot that do).
Late and getting later?
Azure Sphere is Microsoft's take on very lightweight IoT devices that can be kept up to date using Azure (avoiding the security pain usually associated with the devices).
When first announced, the tech left us agog – Microsoft had designed its own IoT Arm chip and was running a customised version of Linux on it?
Some 18 months on, and with the flagship Surface Pro running Arm and a Linux kernel due to turn up in next year's Windows, it seems a little less surprising nowadays.
The problem is that Microsoft had promised that devices using the tech would be shipping by the end of the year and only the staunchest of apologists would suggest that has truly happened. There have been some high-profile pilots, but the "preview" tag has proven difficult to shake. Indeed, early 2020 is looking likely at the moment.
While the improvements seen in the previews of Azure Sphere over the months have been impressive, we can't help but wonder if the tech, as originally planned, is in danger of missing the boat as IoT alternatives such as the Raspberry Pi continue winning developer and industry hearts and minds alike. ®