1709210803
2024-02-29 12:30:10
最近、 りんご オープンソースの Pkl (「ピクル」と発音)、コードとしての構成言語。 Pkl には、コマンド ライン ユーティリティ、ソフトウェア ライブラリ、またはビルド プラグインとして機能することにより、構成管理を合理化するという目標があります。
次のような静的構成言語 JSON、 YAML、 または プロパティリスト 構成が複雑になると表現力が制限され、エラーが発生しやすくなります。 多くの場合、これらの制限により補助ツールやカスタム ロジックが導入され、構成はプログラミング言語に似たものになりますが、複雑さが増します。
あるいは、次のような汎用言語を使用します。 コトリン、 ルビー、 または JavaScript 構成は強力ですが、本来はデータの定義と検証を目的として設計されたものではないため、注意が必要です。
露天商 は、使いやすく、特定のエコシステムに束縛されない構成用の専用言語を提供することで、このギャップを埋めることを目指しています。 Pkl 開発では、開発者はクラス、関数、条件、ループなどの使い慣れた言語要素にアクセスできます。 開発者は抽象化レイヤーを確立し、パッケージの作成と公開を通じてコード共有を促進できます。 さらに重要なことは、Pkl はさまざまな構成要件に対応していることです。 これにより、さまざまな形式で静的構成ファイルを生成したり、別のアプリケーション ランタイム内のライブラリとして統合したりできます。
他の機能に関しては、Pkl 内で、オプションで定義された制約を含めることができる型アノテーションによって検証が容易になります。 制約には任意の式が含まれており、開発者は Pkl で表現可能なあらゆる検証基準に対応できる型を定義できます。 たとえば、最初と最後の文字が一致する必要がある奇数長の文字列を規定するサンプル タイプ要件を考えてみましょう。
名前: String(length.isOdd, chars.first == chars.last)
Pkl は、さまざまなプロジェクトに依存関係としてインポートできるパッケージを作成および配布する機能も提供します。 これにより、さまざまなプロジェクト間での Pkl コードのシームレスな共有が容易になります。
パッケージの作成と公開も簡単です。 開発者は、GitHub でリリースしたり、任意の場所にアップロードしたりできます。 パッケージは絶対 URI を使用してインポートできます。
import “package://pkg.pkl-lang.org/pkl-pantry/[email protected]#/toml.pkl” Output { renderer = new toml.Renderer {} }
の技術コミュニティ ハッカーニュース そして レディット この発表に注目しました。 Hacker News ユーザーの 1 人 ジャシーマビッド 言及された, 「Pkl は Apple の最高の社内ツールの 1 つでした。それがついにオープンソース化されたのはとてもうれしいことです。」 Redditユーザーの一人 すごい4ever いつ興味がありましたか Python や Node などのその他の言語 サポートされるでしょう。
Pkl は、テキスト形式で構成を生成する機能を提供し、言語バインディングを通じて他の言語に統合されたライブラリとしても機能します。 言語と統合する場合、Pkl スキーマはターゲット言語内のクラス/構造体に自動的に変換できます。
Pkl の編集に関しては、ユーザーは提供されたテンプレートに基づいて構成データを入力する際のガイダンスを受けます。 また、エディターはリアルタイム検証を提供し、無効な値にフラグを立て、ドキュメントへの即時アクセスを提供します。 エディターのその他の主要な機能には、オートコンプリート、ナビゲーション、検証などがあります。
Pkl についてさらに深く掘り下げるには、次のようなリソースがあります。 チュートリアル そして 言語リファレンス ご利用いただけます。 さらに、Pkl コミュニティと対話するために、ユーザーは GitHub ディスカッション。
#Apple #オープンソース #PklConfiguration #Code #プログラミング言語