- Pkl (se pronuncia Pickle) es un lenguaje de programación para generar configuración, y Apple anunció su primer lanzamiento después de liberar como código abierto una herramienta que usaba internamente
-
"Configuration that is Programmable, Scalable, and Safe"
-
- Los lenguajes estáticos como JSON, YAML y Property Lists tienen límites cuando la complejidad aumenta
- Pkl busca un equilibrio entre los lenguajes estáticos y los lenguajes de programación de propósito general
Recorrido rápido por Pkl
- Incluye funciones como clases, funciones, bucles y anotaciones de tipos para ofrecer una sintaxis familiar para desarrolladores y una curva de aprendizaje sencilla
- Los archivos Pkl se usan para definir esquemas de configuración y también otros datos de configuración
- Los programas Pkl pueden renderizarse fácilmente en formatos comunes como YAML, JSON y XML
Validación integrada
- Los datos deben ser válidos, y en Pkl esto se logra mediante anotaciones de tipos.
- Las anotaciones de tipos pueden definir restricciones, y una restricción que falle provoca un error de evaluación.
Compartir paquetes
- Pkl ofrece la capacidad de publicar paquetes e importarlos como dependencias dentro de proyectos
- Se pueden crear y publicar paquetes fácilmente con GitHub Releases, y gestionar dependencias a través del proyecto
Bindings de lenguaje
- Pkl puede generar configuraciones como salida de texto y también puede integrarse como biblioteca en otros lenguajes.
- Los esquemas de Pkl pueden generarse como clases/structs del lenguaje de destino, con soporte para Swift, Go, Java, Kotlin y más
Soporte de editor
- Su objetivo es hacer que la experiencia de escribir Pkl sea la mejor posible
- Ofrece un soporte completo para los editores de JetBrains, incluido un plugin para IntelliJ
- Proporciona funciones como autocompletado, navegación y validación, y planea dar soporte a Language Server Protocol
Siguientes pasos
- Recomienda consultar la guía detallada de Pkl, la referencia del lenguaje y la comunicación a través de GitHub Discussions
- También recomienda un repositorio de ejemplos para casos de uso de Pkl, descargar el CLI e instalar plugins de editor
Opinión de GN⁺:
- Pkl parece ser un nuevo lenguaje de programación creado para resolver la complejidad de la gestión de configuración, y podría ser útil para los desarrolladores.
- La validación integrada y la función de compartir paquetes pueden mejorar la reutilización y el mantenimiento del código.
- Los bindings para varios lenguajes y el soporte de editor permitirán aplicar Pkl en más entornos de desarrollo, ayudando a los desarrolladores a gestionar configuraciones con mayor facilidad.
2 comentarios
Lo sospechaba, y sí, hay bindings para Go. Parece que Apple también usa bastante Go.
apple/pkl-go: Bindings de Pkl para el lenguaje de programación Go
Opiniones en Hacker News
.inio en el registro de Windows, y también podía editarse manualmente. Ahora hay que usar un lenguaje de programación en forma de binario de 87 MB para generar archivos de configuración, y para ejecutar ese mismo lenguaje también hay que crear manualmente un archivo de configuración. A este paso, parece que se va a necesitar un framework de 500 GB, pero para un lenguaje de programación que genera archivos de configuración. Da la impresión de que los desarrolladores modernos se dedican a crear problemas.