- Pkl (prononcé Pickle) est un langage de programmation destiné à générer des configurations, dont Apple a annoncé la première version après l’avoir open sourcé alors qu’il était utilisé en interne
-
"Configuration that is Programmable, Scalable, and Safe"
-
- Les langages statiques comme JSON, YAML et Property Lists montrent leurs limites lorsque la complexité augmente
- Pkl vise un équilibre entre les langages statiques et les langages de programmation généralistes
Tour rapide de Pkl
- Il inclut des fonctionnalités comme les classes, fonctions, boucles et annotations de type pour offrir une syntaxe familière aux développeurs et facile à apprendre
- Les fichiers Pkl servent à définir des schémas de configuration ainsi que d’autres données de configuration
- Les programmes Pkl peuvent être facilement rendus dans des formats courants comme YAML, JSON ou XML
Validation intégrée
- Les données doivent être valides, et Pkl s’appuie sur les annotations de type pour assurer cette validation.
- Les annotations de type peuvent définir des contraintes, et toute contrainte non respectée provoque une erreur d’évaluation.
Partage de packages
- Pkl permet de publier des packages et de les importer comme dépendances dans un projet
- Il est possible de créer et publier facilement des packages via les releases GitHub, puis de gérer les dépendances dans le projet
Liaisons de langage
- Pkl peut générer des configurations sous forme de sortie texte et être intégré comme bibliothèque dans d’autres langages.
- Les schémas Pkl peuvent être générés en classes/structures du langage cible, avec prise en charge de Swift, Go, Java, Kotlin, etc.
Support éditeur
- L’objectif est d’offrir la meilleure expérience possible pour l’écriture de Pkl
- Il propose un support riche pour les éditeurs JetBrains, y compris un plugin IntelliJ
- Il offre l’autocomplétion, la navigation, la validation, etc., et prévoit de prendre en charge le Language Server Protocol
Prochaines étapes
- Il recommande de consulter le guide détaillé, la référence du langage et les échanges via GitHub Discussions pour en savoir plus sur Pkl
- Il encourage à essayer le dépôt d’exemples, à télécharger la CLI et à installer le plugin d’éditeur
Avis de GN⁺
- Pkl est un nouveau langage de programmation conçu pour résoudre la complexité de la gestion de configuration, et il semble pouvoir être utile aux développeurs.
- La validation intégrée et le partage de packages peuvent améliorer la réutilisabilité et la maintenabilité du code.
- Les liaisons vers plusieurs langages et le support des éditeurs permettent d’appliquer Pkl à davantage d’environnements de développement, aidant ainsi les développeurs à gérer plus facilement leurs configurations.
2 commentaires
Je me posais la question, et il y a bien des bindings Go. Apple semble aussi beaucoup utiliser Go.
apple/pkl-go: Pkl bindings for the Go programming language
Avis Hacker News