- Pkl (pronuncia-se Pickle) é uma linguagem de programação para gerar configurações, e a Apple anunciou a primeira versão após abrir o código de algo que usava internamente
-
"Configuration that is Programmable, Scalable, and Safe"
-
- Linguagens estáticas como JSON, YAML e Property Lists têm limitações quando a complexidade aumenta
- O Pkl busca um equilíbrio entre linguagens estáticas e linguagens de programação de propósito geral
Tour rápido pelo Pkl
- Inclui recursos como classes, funções, loops e anotações de tipo para oferecer uma sintaxe familiar aos desenvolvedores e facilitar o aprendizado
- Arquivos Pkl são usados para definir esquemas de configuração e também para definir outros dados de configuração
- Programas Pkl podem ser facilmente renderizados em formatos comuns como YAML, JSON e XML
Validação embutida
- Os dados precisam ser válidos, e no Pkl a validação é alcançada com o uso de anotações de tipo
- As anotações de tipo podem definir restrições, e restrições que falham geram erros de avaliação
Compartilhamento de pacotes
- O Pkl oferece recursos para publicar pacotes e importá-los como dependências em projetos
- É possível criar e publicar pacotes facilmente com GitHub Releases, além de gerenciar dependências por meio do projeto
Bindings de linguagem
- O Pkl pode gerar configurações como saída de texto e também pode ser incorporado como biblioteca em outras linguagens
- Esquemas Pkl podem ser gerados como classes/structs na linguagem de destino, com suporte a Swift, Go, Java, Kotlin e outras
Suporte a editores
- O objetivo é tornar a experiência de escrita em Pkl a melhor possível
- Oferece suporte robusto para editores da JetBrains, incluindo um plugin para IntelliJ
- Fornece recursos como autocompletar, navegação e validação, com planos de oferecer suporte ao Language Server Protocol
Próximos passos
- Recomenda consultar o guia detalhado do Pkl, a referência da linguagem e a comunicação via GitHub Discussions
- Também recomenda um repositório de exemplos de uso do Pkl, o download da CLI e a instalação de plugins de editor
Opinião do GN⁺:
- O Pkl é uma nova linguagem de programação criada para resolver a complexidade do gerenciamento de configurações e parece ser útil para desenvolvedores
- Os recursos de validação embutida e compartilhamento de pacotes podem melhorar a reutilização e a manutenibilidade do código
- Os bindings para várias linguagens e o suporte a editores permitem aplicar o Pkl em mais ambientes de desenvolvimento, ajudando desenvolvedores a gerenciar configurações com mais facilidade.
2 comentários
Eu até imaginei isso, mas tem binding para Go. Parece que a Apple também usa bastante Go.
apple/pkl-go: Bindings de Pkl para a linguagem de programação Go
Opiniões no Hacker News