苹果发布了专用于创建配置文件的脚本编程语言 Pkl(发音为 Pickle)。
官网:pkl-lang.org
Pkl 团队介绍称,该项目旨在应对 JSON、YAML 和属性列表等静态配置格式的不足,提供一种介于静态语言和通用语言之间、「两全其美」的方案。
示例代码
bird.pkl
name = "Swallow"
job {
title = "Sr. Nest Maker"
company = "Nests R Us"
yearsOfExperience = 2
}
↓
bird.json
{
"name": "Swallow",
"job": {
"title": "Sr. Nest Maker",
"company": "Nests R Us",
"yearsOfExperience": 2
}
}
Pkl 的三个设计目标是语法安全、可扩展和 IDE 集成,使用声明式语法、易读易写,但也支持类、函数、条件和循环等常见的编程语言功能。
根据文档,Pkl 可用于生成任何格式的静态配置文件,也可以作为库嵌入在 Java、Kotlin、Swift、Go 等语言的代码中运行。
部分代码示例仓库:
-
https://github.com/apple/pkl-go-examples
-
https://github.com/apple/pkl-jvm-examples
-
https://github.com/apple/pkl-k8s-examples
-
https://github.com/apple/pkl-swift-examples
苹果还同步推出了支持 IntelliJ、Visual Studio Code 和 Neovim 等编辑器的 Pkl 插件,但没有为自家 IDE Xcode 开发插件。