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

DevSecOps : Snyk plie mais ne rompt pas

Snyk rejoint la liste de licornes de la cybersécurité qui réduisent leurs effectifs pour affronter…

7 heures ago

Scribe : les enseignements à tirer de l’échec de ce projet d’État

Un seul logiciel pour la rédaction des procédures entre police et gendarmerie. C'était l'objectif du…

8 heures ago

HackerOne : quand un initié détourne le bug bounty

Un employé de HackerOne aurait exploité à des fins personnelles des rapports de sécurité soumis…

13 heures ago

Jean-Noël Barrot, nouveau ministre délégué chargé du numérique

Jean-Noël Barrot est nommé ministre délégué chargé de la Transition numérique et des Télécommunications du…

1 jour ago

Cloud : Microsoft peine à se convertir à sa « nouvelle expérience commerciale »

Microsoft concède de nouveaux reports dans la mise en place de la « nouvelle expérience…

1 jour ago

PC, tablettes et smartphones : la dégringolade qui s’annonce

Tensions géopolitiques, inflation et difficultés d'approvisionnement impactent à la baisse le marché des terminaux. En…

1 jour ago