← Katalog
E I A C

Winglang (Wing)

App-as-Code

Zorientowany na chmurę język programowania — infrastruktura i logika runtime w jednym modelu (preflight/inflight).

★ 4700 MIT #app-as-code#infrastructure-from-code#cloud#typescript

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.