Le consortium Unicode publie ICU4X 1.0, une bibliothèque d'internationalisation écrite en Rust

Par:
fredericmazue

lun, 03/10/2022 - 15:34

Le Consortium Unicode, après 2 ans et demi de travail auquel ont participé Google, Mozilla, Amazon et les partenaires de la communauté, publie la bibliothèque ICU4X 1.0.

Cette bibliothèque écrite en Rust a été conçue à partir de zéro pour être légère, rapide, portable et sécurisée. Le Consortium unicode souligne que ICU4X tire les leçons de décennies d'expérience pour apporter un formatage de date localisé, un formatage de nombre, un classement, une segmentation de texte, etc. à des appareils qui, jusqu'à présent, n'avaient pas de solution appropriée.

ICU4X est la première bibliothèque d'Unicode à prendre en charge le découpage de données statiques et le chargement de données dynamiques. Avec ICU4X, les applications clientes peuvent inspecter leur code compilé pour créer facilement de petits packs de données de paramètres régionaux optimisés, puis charger ces packs de données à la volée, permettant aux applications de s'adapter à plus de langues que jamais auparavant. Même lorsque la plate-forme i18n est disponible, ICU4X convient comme polyfill pour ajouter des fonctionnalités ou des langues supplémentaires.

En ce qui concerne la portabilité, ICU4X prend en charge plusieurs langages de programmation prêts à l'emploi. ICU4X peut être utilisé nativement dans le langage de programmation Rust, avec des wrappers officiels en C++ via l'interface de fonction étrangère (FFI) et JavaScript via WebAssembly. Plus de langages de programmation peuvent être ajoutés en écrivant des plugins, sans avoir besoin de toucher à la logique de base i18n. ICU4X permet également de mettre à jour les fichiers de données indépendamment du code, ce qui facilite le déploiement des mises à jour Unicode.

En ce qui concerne la sécurité, le Consortium Unicode souligne que le système de type et le modèle de propriété de Rust garantissent la sécurité de la mémoire et la sécurité des threads, empêchant ainsi de grandes classes de bogues et de vulnérabilités.

ICU4X ne cherche pas à remplacer ICU4C ou ICU4J, elle cherche plutôt à remplacer le grand nombre de bibliothèques i18n non Unicode, souvent non entretenues et souvent incomplètes qui ont été écrites pour apporter i18n à de nouveaux langages de programmation et à des environnements à ressources limitées.

ICU4X est un logiciel libre sous licence UNICODE, disponible sur GitHub. Un didactitiel pour sa prise en main est disponible sur GitHub également.