Pour gérer vos consentements :
Categories: DéveloppeursProjets

Raspberry Pi et développement : .NET, avec ou sans Windows (épisode 5)

Les plates-formes Java et .NET sont les plus populaires dans le monde des applications business. Le Raspberry Pi sera un excellent candidat pour développer à l’aide des solutions Microsoft.

La firme de Redmond propose en effet une mouture de son OS Windows 10 dédiée à cette carte mère ARM low cost. Windows 10 IoT Core n’est pas un OS desktop complet, mais il permet d’accéder à tous les périphériques du Raspberry Pi et de créer des applications proposant, au besoin, une interface graphique.

À bien des égards, développer pour Windows 10 IoT Core est similaire à la création d’applications pour Windows Embedded. Seul regret, il faudra passer par une version ‘complète’ de Windows pour la phase de mise au point du code, assurée par Visual Studio 2015 (ou d’autres offres, comme SharpDevelop). Pas de développement direct depuis le Raspberry Pi donc.

En plus du développement C/C++ et d’applications universelles en JavaScript, il sera aussi possible de créer du code en C# pour Windows 10 IoT Core. Le code .NET généré à l’aide de Visual Studio 2015 pourra ainsi être déployé sur le Cloud Azure de la firme, sur des PC et serveurs Windows, mais aussi sur des objets connectés, via Windows 10 IoT Core.

L’Open Source pour l’in situ

Pour développer directement avec les langages de la plate-forme .NET sur les différentes versions du Raspberry Pi, il faudra passer par des solutions Open Source : l’OS Linux Raspbian et le projet Mono, clone libre de la plate-forme .NET. Ce dernier est livré en standard dans les dépôts logiciels de Raspbian. L’environnement de développement MonoDevelop sera parfait pour créer des applications C# sur le Raspberry Pi.

Quid de l’interopérabilité avec l’offre de Microsoft ? Tout comme le code Java, le code .NET compilé est portable. La machine virtuelle Mono sera ainsi en mesure d’exécuter la plupart des applications .NET, y compris ASP.NET.

Attention toutefois aux applications desktop. Mono utilise en effet des frameworks différents de ceux de la plate-forme .NET signée Microsoft. Seul réel point de contact entre les deux, WinForms (Windows.Forms), une solution maintenant ancienne, mais qui est aussi efficace que portable. Une application WinForms bien écrite (sans appels natifs) fonctionnera indifféremment sous Windows, OS X, Linux… et Raspbian, l’OS de base du Raspberry Pi.

Linux ou Windows ?

Reste LA question : le code Mono pourra-t-il être déployé sur Windows 10 IoT Core ? A priori non, Windows 10 IoT Core demandant des applications universelles et non des exécutables classiques. Une courte phase d’adaptation/recompilation du projet suffira toutefois, dans la plupart des cas, à passer de Mono à Windows 10 IoT Core.

Et cette opération peut se révéler rentable. Lors de premiers tests, il s’avère que le code .NET s’exécute jusqu’à 5 fois plus rapidement sous Windows 10 IoT Core (.NET 4.5) que sous Raspbian (Mono 4.0.1). La vitesse de traitement sur un Raspberry Pi 2 est même très proche de celle obtenue sur un Core i5 (source). Une implémentation très efficace de la part de Microsoft.

Voir aussi nos quiz :
Raspberry Pi et développement : Apprendre à programmer (épisode 1)
Raspberry Pi et développement : Java SE, first class citizen (épisode 2)
Raspberry Pi et développement : C/C++ à toutes les sauces (épisode 3)
Raspberry Pi et développement : du calcul au Big Data (épisode 4)
Quiz Silicon.fr – Êtes-vous un expert des langages de programmation ?
Quiz Silicon.fr – Les outils de développement rapide (RAD)
Quiz Silicon.fr – 9 questions sur Java 9

Quiz Silicon.fr – L’informatique britannique, du BBC Micro au Raspberry Pi
Quiz Silicon.fr – Savez-vous tout sur le Raspberry Pi 2 ?
Quiz Silicon.fr – 10 questions sur le projet Debian

Recent Posts

GenAI : le Royaume-Uni poursuit ses investigations sur les partenariats de Microsoft et Amazon

L'Autorité de la concurrence et des marchés (CMA) a lancé la phase de recherche de…

11 heures ago

Clients de VMware : les raisons de la colère

Broadcom remplace pas moins de 168 logiciels VMware par deux grandes licences de location correspondant…

12 heures ago

Laurent Carlier – BNP Paribas Global Market : « L’IA permet de modéliser des relations plus complexes, mais il faut rester prudent »

La banque d’investissement de BNP Paribas utilise l'IA pour proposer des stratégies d’investissement individualisées, en…

13 heures ago

Open Compute Project : les datacenters partagent des bonnes pratiques pour l’environnement

OVHCloud partage ses efforts environnementaux au sommet de l’Open Compute Project qui se tient à…

1 jour ago

Phi-3-mini : Microsoft lance son premier SLM

Avec Phi-3-mini, Microsoft lance un SLM conçu pour attirer une clientèle disposant de ressources financières…

1 jour ago

Apple : l’UE serait prête à approuver son plan pour ouvrir l’accès NFC

La Commission européenne serait sur le point d'approuver la proposition d'Apple visant à fournir à…

1 jour ago