pocarisweat

Apple 开源了一个新的配置文件格式 pkl

  •  
  •   pocarisweat · Feb 4, 2024 · 2524 views
    This topic created in 854 days ago, the information mentioned may be changed or developed.

    https://pkl-lang.org

    https://github.com/apple/pkl

    可以定义类型,带 Schema Check ,可以像 Protobuf 一样生成 Java 、Go 、Swift 和 Kotlin 代码,也可以生成 YAML 、JSON 、XML 和 properties.

    好玩的是这个项目并不是用 Swift 写的,而是 Java. 苹果包括 iCloud 在内的后端服务应该大量用到了 Java

    10 replies    2024-02-05 09:57:12 +08:00
    stinkytofu
        1
    stinkytofu  
       Feb 4, 2024
    对比 JSON 也就省了几个引号, 真有必要再搞一种格式么。
    learnshare
        2
    learnshare  
       Feb 4, 2024
    有点像 QML 的风格
    NnMmOo
        3
    NnMmOo  
       Feb 4, 2024
    Apple 开始走向衰败
    Vegetable
        4
    Vegetable  
       Feb 4, 2024
    首页上的例子我看来,除了 plist ,其他家大差不差。我更倾向于这是 apple 觉得自己的 plist 用着不爽,弄了个新的。
    hash
        5
    hash  
       Feb 4, 2024
    类 XML 的文件结构确实过时了
    Orchestraa
        6
    Orchestraa  
       Feb 4, 2024 via iPhone   ❤️ 1
    所以以后看到一个 .pkl 还得犹豫下是配置文件还是 pickle 了
    zhusimaji
        7
    zhusimaji  
       Feb 4, 2024 via iPhone
    乍一看以为是 python pkl 序列化
    nagisaushio
        8
    nagisaushio  
       Feb 4, 2024   ❤️ 1
    ivvei
        9
    ivvei  
       Feb 4, 2024 via Android
    配置文件的 programmable 我认为是邪路。配置文件最多支持一个变量替换就行了,搞太复杂就失去了配置文件的意义,和程序里直接硬编码有多大区别的
    secondwtq
        10
    secondwtq  
       Feb 5, 2024
    楼主提到了 Apple 的后端服务,我感觉这个项目的关键点应该是可以转换成多种已有格式。我的猜测是 Apple 可能用了一堆开源项目,不同开源项目有不同的配置格式,本身量又多,就搞了一个这玩意统一管理。其他的 feature 都是围绕这个目的做的。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1130 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 47ms · UTC 18:10 · PVG 02:10 · LAX 11:10 · JFK 14:10
    ♥ Do have faith in what you're doing.