Winglang (Wing)
App-as-Code
Zorientowany na chmurę język programowania — infrastruktura i logika runtime w jednym modelu (preflight/inflight).
Wing to zorientowany na chmurę język programowania, którego teza jest mocna: istniejące języki nie wystarczają, by dobrze opisać aplikacje chmurowe, bo mieszają dwie fazy życia kodu. Wing rozdziela je jawnie: preflight to kod wykonywany raz, przy kompilacji, który generuje konfigurację infrastruktury (kompiluje się do Terraform lub CDK), a inflight to kod aplikacji działający w runtime. Usługi chmurowe są tu obywatelami pierwszej kategorii, a kompilator pilnuje granicy między fazami. Dla zespołów, które nie chcą uczyć się nowego języka, Wing oferuje też SDK dla TypeScript.
Kiedy używać
- Chcesz opisać aplikację i jej infrastrukturę w jednym, spójnym modelu, bez rozjeżdżania się kodu i IaC.
- Zależy Ci na jawnym rozróżnieniu „co dzieje się przy wdrożeniu” vs „co w runtime” — z kontrolą kompilatora.
- Celujesz w przenośność między chmurami (Wing kompiluje do znanych silników, nie zamyka Cię w jednej platformie).
Przykład użycia
// preflight: definicja infrastruktury (bucket)
bring cloud;
let store = new cloud.Bucket();
// inflight: logika runtime reagująca na zdarzenie
let handler = inflight (msg: str) => {
store.put("ostatni.txt", msg);
};
Warto wiedzieć
- Kompiluje się do Terraform/OpenTofu lub CDK — infrastruktura zostaje w otwartych, znanych formatach.
- To inny punkt na osi „infrastructure-from-code” niż SST (framework IaC) czy Encore (infra wywodzona z kodu); porównanie podejść: IaC w 2026.
- Nowy język to koszt wejścia — SDK dla TypeScript łagodzi go, ale warto policzyć adopcję zespołu.