Applications langue – Code promo : Apprendre une langue en 10 jours

Applications pour apprendre une langue :

28/08/2017 5 minutes à lire Dans cet article Découvrez les langues prises en charge sur Windows 10 IoT Core ainsi que les types d’applications UWP et non-UWP pris en charge sur IoT Core. Remarque Visual Studio générera une erreur cryptique lors du déploiement sur une image IoT RS5 (ou RS4 avec OpenSSH activé) sauf si un SDK de RS4 ou supérieur est installé auquel Visual Studio peut accéder. Types d’applications Applications de la plate-forme Windows universelle (UWP) IoT Core est un système d’exploitation centré sur UWP et les applications UWP sont son principal type d’application. La plate-forme Windows universelle (UWP) est une plate-forme d’applications commune à toutes les versions de Windows 10, y compris Windows 10 IoT Core. UWP est une évolution de Windows Runtime (WinRT). Vous pouvez trouver plus d’informations et un aperçu de l’UWP ici. Visual Studio est le principal outil d’écriture d’applications UWP pour IoT Core et en général. Vous pouvez trouver une liste détaillée des exigences de compatibilité pour Visual Studio ici. Applications UWP traditionnelles Les applications UWP fonctionnent uniquement sur IoT Core, tout comme elles le font sur les autres éditions de Windows 10. Une application Xaml simple et vierge dans Visual Studio se déploiera correctement sur votre appareil IoT Core comme elle le ferait sur un téléphone ou un PC Windows 10. Tous les langages UWP standard et les modèles de projet sont entièrement pris en charge sur IoT Core. Il existe quelques ajouts au modèle d’application UWP traditionnel pour prendre en charge les scénarios IoT et toute application UWP qui en profite aura besoin des informations correspondantes ajoutées à son manifeste. En particulier, l’espace de noms « iot » doit être ajouté au manifeste de ces applications UWP standard. Dans l’attribut du manifeste, vous devez définir le xmlns iot et l’ajouter à la liste IgnorableNamespaces. Le fichier XML final devrait ressembler à ceci : Applications d’arrière-plan En plus des applications d’interface utilisateur traditionnelles, IoT Core a ajouté un nouveau type d’application UWP appelé « Applications d’arrière-plan ». Ces applications n’ont pas de composant d’interface utilisateur, mais ont plutôt une classe qui implémente l’interface « IBackgroundTask ». Ils enregistrent ensuite cette classe en tant que « StartupTask » à exécuter au démarrage du système. Puisqu’il s’agit toujours d’applications UWP, elles ont accès au même ensemble d’API et sont prises en charge à partir du même langage. La seule différence est qu’il n’y a pas de point d’entrée dans l’interface utilisateur. Chaque type de IBackgroundTask obtient sa propre politique de ressources. Ceci est généralement restrictif pour améliorer la durée de vie de la batterie et les ressources de la machine sur les appareils où ces applications d’arrière-plan sont des composants secondaires des applications d’interface utilisateur de premier plan. Sur les appareils IoT, les applications d’arrière-plan sont souvent la fonction principale de l’appareil et ces StartupTasks obtiennent donc une politique de ressources qui reflète les applications d’interface utilisateur de premier plan sur d’autres appareils. L’exemple suivant montre le code nécessaire pour créer une application d’arrière-plan C# qui fait clignoter une LED : espace de noms BlinkyHeadlessCS public scellé classe StartupTask : IBackgroundTask BackgroundTaskDeferral deferral; valeur GpioPinValue privée = GpioPinValue.High ; privé const int LED_PIN = 5; broche GpioPin privée ; minuteur ThreadPoolTimer privé ; public void Run(IBackgroundTaskInstance taskInstance) deferral = taskInstance.GetDeferral(); InitGPIO(); timer = ThreadPoolTimer.CreatePeriodicTimer(Timer_Tick, TimeSpan.FromMilliseconds(500)); private void InitGPIO() pin = GpioController.GetDefault().OpenPin(LED_PIN); pin.Write(GpioPinValue.High); pin.SetDriveMode(GpioPinDriveMode.Output); privé void Timer_Tick(ThreadPoolTimer timer) value = (value == GpioPinValue.High) ? GpioPinValue.Low : GpioPinValue.High ; pin.Write(valeur); Vous pouvez trouver des informations détaillées sur les applications d’arrière-plan ici. Applications non UWP IoT Core prend en charge certains types d’applications Win32 traditionnels tels que les applications de console Win32 et les services NT. Ces applications sont conçues et exécutées de la même manière que sur Windows 10 Desktop. De plus, il existe un modèle de projet de console IoT Core C++ pour faciliter la création de telles applications à l’aide de Visual Studio. Il existe deux limitations principales sur ces applications non UWP : Aucune prise en charge de l’interface utilisateur Win32 héritée : IoT Core ne contient pas d’API pour créer des fenêtres classiques (HWND). Les méthodes héritées telles que CreateWindow() et CreateWindowEx() ou toute autre méthode qui gère les handles Windows (HWND) ne sont pas disponibles. Par la suite, les frameworks qui dépendent de ces API, notamment MFC, Windows Forms et WPF, ne sont pas pris en charge sur les applications IoT Core C++ uniquement : actuellement, seul C++ est pris en charge pour le développement d’applications Win32 sur IoT Core. Langages de programmation IoT Core prend en charge un large éventail de langages de programmation. Langues de la boîte Les langues UWP traditionnelles sont livrées avec la prise en charge dans Visual Studio par défaut. Tous les langages In-Box prennent en charge à la fois l’interface utilisateur et les langages d’applications en arrière-plan C# C++ JavaScript Câblage Arduino Visual Basic Le câblage Arduino nécessite le téléchargement des « modèles de projet Windows IoT Core » à partir de Visual Studio Tools->Extensions and Updates manager. Le câblage Arduino ne prend en charge que les applications en arrière-plan. Vous pouvez également créer des composants Windows Runtime à l’aide de C#, C++ ou Visual Basic, puis référencer ces bibliothèques à partir de n’importe quel autre langage. C# et Visual Basic (VB) C# et VB sont tous deux pris en charge en tant qu’applications UWP et ont accès à la partie du .NET Framework disponible pour les applications UWP. Ils prennent en charge les applications d’interface utilisateur construites avec Xaml ainsi que les applications d’arrière-plan. Vous pouvez également créer des composants Windows Runtime pouvant être utilisés à partir d’autres langages pris en charge. Exemples : JavaScript Vous pouvez utiliser JavaScript pour créer à la fois des applications d’interface utilisateur et d’arrière-plan. Les applications d’interface utilisateur fonctionnent de la même manière que sur toutes les éditions UWP. Les applications d’arrière-plan sont nouvelles pour IoT Core mais sont simples. L’exemple de code suivant montre la sortie du nouveau modèle de projet JS : // Le modèle d’application en arrière-plan est documenté à l’adresse http://go.microsoft.com/fwlink/?LinkID=533884&clcid=0x409 (function () « use strict » ; // A FAIRE : Insérez le code ici pour la tâche de démarrage )(); C++ Avec C++, vous pouvez créer des applications d’interface utilisateur Xaml ou DirectX, ainsi que des projets d’arrière-plan UWP et des applications Win32 non-UI. Exemples : Remarque Pour ceux qui envisagent d’écrire leur application en C++, vous devrez cocher la case UWP C++ lors du téléchargement. Câblage Arduino Avec la prise en charge du câblage Arduino, vous pouvez créer des applications dans le câblage Arduino pour de nombreux composants et périphériques populaires de l’écosystème IoT. Notre guide de projet de câblage Arduino fournit des instructions complètes sur la configuration pour créer ces applications. Les exemples copiés et liés ci-dessous vous aideront à commencer à créer le vôtre. Vous pouvez même créer des composants WinRT dans Arduino qui peuvent ensuite être utilisés à partir d’autres langages. Exemple de code Blinky L’exemple de code complet et la documentation sont disponibles sur notre page d’exemples et vous pouvez trouver le code complet ci-dessous : void setup() // mettez votre code de configuration ici, à exécuter une fois : pinMode(GPIO5, OUTPUT); void loop() // mettez votre code principal ici, à exécuter à plusieurs reprises : digitalWrite(GPIO5, LOW); retard (500); écriture numérique (GPIO5, ÉLEVÉ); retard (500);

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *