5 outils et technologies de développement Microsoft à explorer en 2020

À la fin de 2019, cela vaut la peine de regarder vers l'avenir lorsque vous établissez vos plans de développement d'applications et vos feuilles de route technologiques. Les dernières années ont apporté beaucoup de changements pour quiconque s'appuie sur les nombreuses plates-formes de Microsoft, et ce rythme ne ralentit pas.

Que devriez-vous regarder en 2020 et pourquoi? Voici cinq options pour Windows, pour Azure et au-delà. Ils ne sont pas les seuls, mais ils devraient vous lancer sur la voie d'un ensemble plus moderne de plates-formes et d'outils de développement.

Démarrer la transition vers .NET 5

Le plus grand défi auquel est confronté quiconque construit du code .NET est peut-être le passage du .NET Framework vieillissant à .NET Core avec la sortie de .NET 5 vers la fin de 2020. Rassembler les deux brins de .NET a du sens, même s'il nécessite la perte de certaines API plus anciennes. Microsoft a publié une liste de ce qui fera et ne fera pas la transition sur le référentiel .NET GitHub. Certaines des API manquantes passeront à des implémentations communautaires, tandis que d'autres bénéficieront d'alternatives plus modernes.

Si vous prenez en charge et développez du code .NET Framework, 2020 vous donne une bonne occasion d'explorer comment le code sera livré à l'avenir. La version actuelle de .NET Core 3.1 est une version de prise en charge à long terme et, avec les bibliothèques .NET Standard, prend en charge de nombreuses API qui seront dans .NET 5. Le portage de code vers .NET Core 3.1 vous donne l'occasion d'explorer non seulement les modifications à apporter à votre code, mais également pour créer une nouvelle chaîne d'outils.

L'avenir de .NET Core est multiplateforme, avec Blazor sur WebAssembly et côté serveur via ASP.NET et Razor; .NET Core sur Windows, macOS et Linux; et avec Xamarin sur les appareils mobiles. Le déplacement du code vers .NET 5 ne concerne pas seulement la prise en charge des futures versions de Windows, c'est une opportunité de le fournir à de nombreuses autres plates-formes et utilisateurs.

Commencez à explorer WinUI 3.0

2020, c'est quand la plate-forme Windows change. Microsoft divise enfin le SDK Windows en deux: séparer les composants de l'interface utilisateur dans WinUI et laisser les fonctionnalités au niveau du système d'exploitation. Avec la prochaine version de WinUI 3.0, les composants de l'interface utilisateur pourront être expédiés à une cadence différente de celle du système d'exploitation, en ajoutant de nouveaux contrôles au fur et à mesure de leur publication. Ils seront pris en charge dans Windows 10 pour une utilisation dans les applications Win32 et WinForms ainsi que dans les applications de la plateforme Windows universelle (UWP).

WinUI sera également pris en charge dans les navigateurs modernes tels que le nouveau Edge basé sur Chromium grâce à un partenariat avec la plate-forme Uno, qui portera les contrôles sur WebAssembly, permettant à WinUI d'atteindre un public beaucoup plus large. Les applications UWP existantes pourront utiliser WinUI 3.0 avec des modifications minimes, et le code C ++ pourra utiliser de nouveaux contrôles pour ajouter la prise en charge du langage de conception Fluent de Microsoft.

Utilisez AKS pour les applications cloud natives

Créer des applications cloud modernes signifie créer des applications basées sur des microservices distribués, déployer du code conteneurisé quand et où c'est nécessaire et gérer les ressources pour répondre à la demande. Tout cela s'ajoute au besoin d'un orchestrateur pour gérer la mise à l'échelle et le déploiement. Vous pouvez implémenter Kubernetes vous-même, en entrant dans le vif du sujet des fichiers de configuration kubectl et YAML. Cependant, il existe une alternative sur Azure: une option gérée avec le service Azure Kubernetes, pour les conteneurs Linux et Windows.

Cela simplifie le déploiement de vos applications et services en conteneur, à l'aide du portail Azure familier, avec un accès aux propres fonctionnalités de mise en réseau d'Azure et la possibilité de travailler avec des outils tels que Terraform de HashiCorp. D'autres options incluent le contrôle d'accès basé sur les rôles pour verrouiller l'accès aux ressources, réduisant ainsi votre exposition à la sécurité.

AKS mettra automatiquement à l'échelle votre cluster Kubernetes de haut en bas et s'intègre aux outils de surveillance d'Azure afin que vous puissiez garder un œil attentif sur vos opérations de service. Le résultat est un mélange d'une plate-forme Kubernetes pure qui peut être gérée à l'aide des outils Kubernetes pour un contrôle précis et du portail Azure familier avec un accès géré à d'autres services Azure. Cette intégration de service peut simplifier les opérations Kubernetes, par exemple avec un accès direct au stockage Azure pour les données persistantes et la prise en charge du propre registre de conteneurs d'Azure.

Si vous créez des applications Kubernetes sur Azure, il n'y a vraiment pas d'alternative, en particulier lorsque vous considérez des services comme Azure Dev Spaces. S'appuyant sur AKS, Dev Spaces vous offre un environnement sécurisé et privé pour créer, tester et déboguer votre code cloud natif sans affecter les services de production.

Développez pour le cloud sur votre ordinateur portable avec WSL 2 et Docker

Il n'y a pas si longtemps, vous ne voyiez rien d'autre qu'une ligne de logos Apple brillants lors de tout événement de développeur. Maintenant, c'est une gamme beaucoup plus mixte, car Microsoft a travaillé pour ramener les développeurs à Windows, offrant un accès rapide aux langages populaires tels que Python, un éditeur de programmeur facile à personnaliser dans Visual Studio Code, un nouveau terminal Windows et, la plupart surtout, le sous-système Windows pour Linux (WSL).

Initialement émulant un noyau Linux, WSL sera bientôt mis à niveau avec son propre noyau Linux fonctionnant avec Windows. Destiné à simplifier la création et le test d'applications cloud sur un PC, WSL 2 comprendra également un système de fichiers Linux accessible depuis Windows et la prise en charge de l'édition à distance à l'aide de Visual Studio Code. Docker a commencé à tester une version de Docker Desktop pour WSL 2. Cela ajoute la prise en charge native du conteneur Linux à Windows, en utilisant des fichiers docker familiers pour créer et déployer des instances de conteneur locales, et Code pour travailler directement avec leur contenu.

La combinaison de Windows, Linux et Docker fournit une base flexible pour la construction d'un puissant ensemble d'outils de développement de bout en bout qui utilise pleinement chaque plate-forme et vous donne la flexibilité de travailler comme vous le souhaitez tout en fournissant du code aux référentiels communs.

Sécuriser l'IoT avec Azure Sphere

Cela fait un moment que je n'ai pas regardé pour la dernière fois Azure Sphere, la plate-forme de Microsoft pour un IoT sécurisé. Mélanger la sécurité matérielle avec un noyau Linux personnalisé et une plate-forme de gestion hébergée dans le cloud est un moyen de garantir que le système d'exploitation et les applications exécutées sur votre matériel n'ont pas été falsifiés et que ce code ne peut pas être modifié ou inséré. par des tiers malveillants.

Une carte de développement utilisant le microcontrôleur ARM sécurisé de Microsoft est disponible depuis un certain temps déjà, et elle a récemment été rejointe par des alternatives moins chères. Il est clair qu'Azure Sphere est maintenant prêt à être utilisé dans vos produits, avec des modules prêts pour la production et des SOC maintenant disponibles, afin que vous puissiez créer votre propre matériel autour de lui. Vous n'avez pas besoin de nouveaux outils de développement; tout le développement d'Azure Sphere a lieu dans le Visual Studio familier.

L'un des développements les plus intéressants est un ensemble d'unités de gardien basées sur Sphère qui peuvent fonctionner avec des contrôleurs industriels existants, ajoutant une couche de protection lors de l'intégration d'automates et d'autres systèmes industriels existants avec vos applications, vous permettant de connecter des appareils qui auraient pu être envisagés. trop risqué pour être ajouté à une plate-forme IoT dans le passé.