Articles

Ruby prend en charge WebAssembly

Ruby, le langage de programmation populaire, a récemment annoncé qu’il prend désormais en charge WebAssembly, ce qui ouvre de nouvelles possibilités pour les développeurs.

« Ruby Rejoint le Rang des Langues Capables de Cibler WebAssembly avec sa Dernière Version 3.2 »

En tant qu’informaticien enthousiaste, je suis ravi de voir que Ruby a rejoint les rangs des langages capables de cibler WebAssembly avec sa dernière version 3.2. Cette mise à jour apparemment mineure pourrait être la plus grande chose qui soit arrivée à ce langage depuis Rails, car elle permet aux développeurs Ruby d’aller au-delà du back-end. En portant leur code sur WebAssembly, ils peuvent le faire fonctionner n’importe où : sur le front-end, sur des périphériques embarqués, en tant que fonctions sans serveur, à la place des conteneurs ou sur le bord. WebAssembly a le potentiel de faire de Ruby un langage universel.

Qu’est-ce que WebAssembly?

WebAssembly (souvent abrégé en Wasm) est un format d’instructions binaires bas niveau qui s’exécute sur une machine virtuelle. Le langage a été conçu comme alternative à JavaScript. Son objectif est de faire fonctionner des applications sur n’importe quel navigateur à des vitesses proches de celles natives. Wasm peut être ciblé depuis n’importe quel langage de haut niveau tel que C, Go, Rust et maintenant également Ruby.

Les avantages de WebAssembly pour les développeurs Ruby

Les développeurs Ruby peuvent tirer parti de WebAssembly pour créer des applications plus performantes et plus flexibles. Les applications compilées en Wasm sont plus rapides et plus légères que les applications JavaScript, ce qui les rend plus faciles à télécharger et à exécuter. De plus, les applications Wasm peuvent être exécutées sur des périphériques embarqués et des systèmes d’exploitation légers, ce qui permet aux développeurs Ruby d’accéder à une gamme plus large de plates-formes et de périphériques. Enfin, le code Wasm peut être exécuté en tant que fonction sans serveur, ce qui permet aux développeurs Ruby de réduire leurs coûts de serveur et d’améliorer la scalabilité et la sécurité de leurs applications.

En conclusion, l’ajout de WebAssembly à Ruby est une excellente nouvelle pour les développeurs Ruby. Grâce à cette technologie, ils peuvent créer des applications plus performantes et plus flexibles qui peuvent être exécutées sur une variété de plates-formes et de périphériques. De plus, le code Wasm peut être exécuté en tant que fonction sans serveur, ce qui permet aux développeurs Ruby de réduire leurs coûts de serveur et d’améliorer la scalabilité et la sécurité de leurs applications. Enfin, cette technologie offre aux développeurs Ruby la possibilité de travailler avec des données volumineuses et complexes, ce qui ouvre la voie à un nouveau type d’applications.

Source de l’article sur DZONE

This is the perfect time to raise this point — just as Spring Native is coming to the forefront. Is it time to move to GraalVM? Spoiler: it depends. Yes, if you’re building serverless, probably no if you’re building pretty much anything else — with a few exceptions for some microservices.

Before I begin, I want to qualify that I’m talking about native image (SubstrateVM) which is what most people mean when they say GraalVM. That specific feature took over a much larger and more ambitious project that includes some amazing capabilities such as polyglot programming. GraalVM native images let us compile our Java projects to native code. It performs analysis and removes unnecessary stuff, it can reduce the size and startup time of a binary significantly. I’ve seen 10-20x improvement to startup time, that’s a lot. Ram usage is also much lower sometimes by a similar scale but usually not as significant.

Source de l’article sur DZONE

Efficient code doesn’t just run faster; if it’s using less compute-resource, it may also be cheaper to run. In particular, distributed cloud applications can benefit from fast, lightweight serialization. 

OpenSource Java Serializer

Chronicle-Wire is an OpenSource Java serializer that can read and write to different message formats such as JSON, YAML, and raw binary data. This serializer can find a middle ground between compacting data formatting (storing more data in the same space) versus compressing data (reducing the amount of storage required). Instead, data is stored in as few bytes as possible without causing performance degradation. This is done through marshaling an object.

Source de l’article sur DZONE