jeudi, 19 mai 2022

Accédez à WebAssembly avec Hippo

WebAssembly est une toute nouvelle technologie incroyablement attrayante qui suscite beaucoup d’intérêt de la part des équipes informatiques natives du cloud de Microsoft, à la fois dans sa filiale Deis Labs et dans Azure. Avec l’arrivée rapide des tout nouveaux outils WebAssembly, vous avez besoin d’un environnement dans lequel vous pouvez les essayer.

C’est pourquoi la sortie par Deis Labs de sa nouvelle plate-forme Hippo WebAssembly est si importante. Développé comme de nombreux outils de Deis pour se débarrasser de ses propres démangeaisons, c’est un moyen d’installer, de gérer et d’exécuter rapidement le code WebAssembly (WASM), qu’il s’agisse d’un navigateur Internet hébergé ou d’une interface utilisateur WebAssembly System (WASI) autonome. En utilisant ses canaux intégrés en conjonction avec un serveur Git, vous pouvez créer et publier différentes versions dans un même environnement, en séparant les constructions de production, de mise en scène et de développement tout en n’ayant besoin que d’un seul serveur Hippo.

Vous pouvez héberger plusieurs applications dans Hippo. WebAssembly indique qu’ils sont en bac à sable par défaut, nécessitant des autorisations spécifiques pour accéder au système hôte ou aux périphériques externes. Votre code est également portable. Une fois compilé pour WebAssembly, il fonctionnera sur n’importe quel système WebAssembly, que ce soit Windows, Linux ou macOS, ou Intel, RISC-V ou ARM. Hippo vous offre un moyen de créer une fois, de tester une fois et d’exécuter votre code n’importe où.

  • Établir Hippo sur un PC avancé
  • Qu’est-ce que Bindle ?Créer et exécuter Hippo Développer votre toute première application Hippo
  • WebAssembly Établir Hippo sur un PC avancé Bien que des outils comme Hippo soient parfaits pour les opérations natives du cloud, la version actuelle du concepteur vient d’être testée sur des systèmes de bureau. J’ai choisi de l’essayer sur un PC Windows exécutant une construction récente de WSL2, hébergeant Ubuntu. Deis fournit des instructions pour exécuter Hippo localement, avec des détails pour les systèmes macOS et Linux. Il y a eu quelques problèmes pour obtenir les conditions requises pour exécuter Hippo sur un système WSL2 Ubuntu 20.04 LTS. J’avais besoin d’installer WAGI, l’interface d’entrée d’application WebAssembly. Cela s’installe assez rapidement, avec un seul binaire dans le fichier tar téléchargeable hébergé dans son référentiel GitHub. Une fois téléchargé, décompressé et déplacé vers un site de répertoire binaire utilisateur, il s’exécutait facilement. J’en ai profité pour configurer Rust, car j’en aurais peut-être besoin si je devais recompiler l’un des outils Deis. Cette action était peut-être la plus difficile sur WSL2, car elle nécessitait une copie de la

    boîte à outils build-essential. Ubuntu 20.04 n’a pas le bon ensemble de dépendances pour cela, j’avais donc besoin d’un programme d’installation de plan alternatif qui me permettrait de rétrograder certaines bibliothèques cruciales vers les versions appropriées. Une réponse Stack Overflow m’a indiqué aptitude, une option d’apt qui vous permet de choisir les dépendances appropriées pour une installation et de lui permettre de remplacer 2 bibliothèques C de bas niveau. J’ai enfin installé build-essential, prêt pour Rust, en utilisant ses scripts de configuration. Qu’est-ce que Bindle ? La principale raison de l’installation de Rust dans le cadre d’une configuration Hippo est pour Bindle, l’outil d’emballage WebAssembly de Deis. Bindle est décrit comme un système de « stockage d’articles agrégés ». La métaphore utilisée par ses documents est que « Bindle est le tiroir à argenterie numérique. » Nous pouvons tous avoir des objets différents dans notre tiroir à argenterie, mais nous utilisons tous le tiroir pour trier et ranger l’argenterie. Bindle fait à peu près la même chose pour les artefacts qui composent une application contemporaine tout en offrant un niveau de compréhension de la façon dont les applications sont constituées, en fonction de la manière et de l’endroit où elles sont utilisées. Vous pouvez avoir une description Bindle d’une application qui contient les composants nécessaires à une configuration sporadique sur un hôte périphérique aux ressources limitées (comme

un Raspberry Pi) et pour un serveur de grande puissance au cœur d’un public nuage. Un client Bindle dans un hôte d’application peut prendre les aspects et les dépendances et les déployer correctement. Le résultat est un modèle de publication centré sur l’application qui évite les builds multiples utilisant des référentiels et des descriptions intelligentes pour fournir le code idéal dans le meilleur environnement. Dès que Bindle est configuré, vous pouvez l’exécuter, en utilisant les valeurs par défaut pour établir un serveur Bindle local prêt à être utilisé par Hippo. Ensuite, j’ai configuré node.js, en utilisant les instructions WSL fournies par Microsoft.

Cela impliquait d’utiliser curl pour télécharger nvm, puis de l’exécuter pour installer les versions d’assistance les plus récentes et les plus durables de node. N’utilisez pas les instructions d’Ubuntu pour installer le nœud ; ils utilisent un jeu d’enfant pour l’installer, et les snaps ne sont pas bien pris en charge dans WSL2. Vous devrez installer le support wasm32-wasi de Rust pour toutes les applications Rust WebAssembly hébergées par Hippo, ainsi que les outils d’échafaudage d’applications yo-wasm Yeoman. Cela vous permettra d’assembler du code Rust sur une cible WASI, le tout configuré pour s’exécuter dans Hippo. Avec ceux-ci en place, je pouvais maintenant installer .NET 5, en configurant d’abord la prise en charge des référentiels de plans Debian de Microsoft avant de configurer à la fois le SDK .NET 5 et l’environnement d’exécution. Vous avez deux options pour les runtimes .NET : une

avec la prise en charge d’ASP.NET Core et une sans. Comme Hippo est une application Web modèle-vue-contrôleur, vous devez utiliser la variante ASP.NET du runtime. Structure et fonctionnement d’Hippo Dès que tous les prérequis sont effectivement installés, vous pouvez construire Hippo. Commencez par cloner le référentiel Hippo GitHub dans un répertoire local de votre système WSL. Une fois qu’elle est installée, vous pouvez construire et exécuter l’application, en la pointant

vers votre serveur Bindle régional en ajoutant une variable d’environnement BINDLE_URL. C’est une bonne idée d’installer la CLI d’Hippo à ce stade, car elle est requise pour le développement et le déploiement d’applications. Vous pouvez maintenant vous connecter à votre serveur Hippo pour évaluer son bon fonctionnement. Vous devriez le découvrir sur localhost sur le port 5001. Si vous exécutez une version actuelle de WSL 2, vous devez pouvoir vous y connecter à partir d’un navigateur de bureau Windows à l’aide de localhost, comme Microsoft l’a finalement corrigé parmi les réseaux durables de WSL 2. problèmes, en mettant en proxy son réseau de créateurs virtuels via Windows tout en protégeant sa propre adresse IP et son commutateur de réseau virtuel. Il n’y a plus aucune exigence pour les scripts d’extraire et de partager les adresses réseau. Avant de pouvoir vous connecter au serveur, vous devrez créer un compte. Comme il s’exécute localement, vous pouvez choisir les détails de votre compte ; assurez-vous simplement qu’ils sont quelque chose que vous pouvez garder à l’esprit, car vous aurez besoin des informations pour créer votre toute première application. Lorsque vous avez créé un compte, connectez-vous. Vous devez accéder à une page Vos applications avec un bouton Créer une nouvelle application. Produire votre toute première application Hippo WebAssembly Vous pouvez développer des applications pour Hippo à partir de l’interface utilisateur Web, il est maintenant beaucoup plus facile d’utiliser la ligne de commande. Assurez-vous que la CLI Hippo est installée, car Yeoman l’utilisera pour développer un échafaudage d’applications pour vous. Avant de commencer, définissez les variables d’environnement pour votre compte Hippo et votre mot de passe comme

ainsi que pour ses points de terminaison. Oui, ce n’est pas une excellente pratique de sécurité, mais ici, nous ne faisons que créer et exécuter un code de test sur un PC séparé en utilisant un logiciel qui n’est pas encore préparé pour la production. Pour développer une application hi world standard, utilisez les outils yo-wasm pour créer une application WebAssembly Rust. Si vous suivez le script et entrez les valeurs appropriées, cela développera et remplira le code source sur votre serveur Hippo. Utilisez ensuite l’outil de fret Rust pour compiler et vérifier votre application WASI. Lorsque vous l’avez exécuté sur la ligne de commande, vous pouvez utiliser l’outil CLI d’Hippo pour le pousser vers Bindle où

il apparaîtra dans Hippo. Ouvrez le travail, sélectionnez l’environnement de développement de votre développement et cliquez sur le lien pour exécuter votre code. Il y a beaucoup à aimer dans Hippo. S’il manque quelque chose à WebAssembly, c’est un terrain de jeu efficace de type Heroku pour vous aider à démarrer. Hippo n’est peut-être pas encore ce terrain de jeu, mais c’est certainement celui que vous pouvez utiliser dans le cadre de votre propre flux de travail de développement maintenant, même à ses débuts. Avoir la possibilité de l’exécuter sur un PC avancé est un avantage supplémentaire, car il n’est pas nécessaire de dépendre de systèmes tiers. Son impact est suffisamment faible pour qu’il puisse être exécuté dans le cadre d’un environnement WSL 2, vous pouvez donc tirer le meilleur parti d’outils tels que Visual Studio Code, qui gère ses fonctions de développement à distance pour éditer le code Rust dans WSL à partir de Windows. Si vous êtes intéressé par WebAssembly, Hippo pourrait bien être l’outil dont vous avez besoin pour démarrer. Cela simplifie la gestion du code WebAssembly, en réunissant de nombreux éléments différents nécessaires pour exécuter un développement en un seul endroit. Bien qu’il s’agisse encore clairement d’une version préliminaire, il y en a assez ici pour vous permettre de commencer, ce qui en fait un outil important pour quiconque travaille avec WebAssembly.

Toute l’actualité en temps réel, est sur L’Entrepreneur

LAISSER UN COMMENTAIRE

S'il vous plaît entrez votre commentaire!
S'il vous plaît entrez votre nom ici