Wing Programming Language

website·Indexed 30 days ago

https://docsite-omega.vercel.app

A general purpose programming language designed for developing entire cloud applications, including their infrastructure. Winglang features a formal language specification covering primitive, container, and Json types, and provides a dedicated SDK for stateful resources, data serialization, and event handlers. It supports deployment to various clouds and Kubernetes, and includes a CLI for secrets management.

Tokens
206.9K
Snippets
1.3K
Records
1.7K
Agent score
74%

What's inside Winglang

  1. Overview of Winglang toolchain and ecosystem

    Winglang provides a "batteries-included" toolchain designed for cloud development, integrating a compiler, cloud simulator, testing framework, and IDE extension. To leverage the broadest possible ecosystem, Winglang compiles to JavaScript and maintains native interoperability with JavaScript, TypeScript, and any NPM module.
  2. Overview of the Wing CLI

    The Wing CLI is the primary tool for compiling, testing, and managing Wing code. It is designed to be easy to install and update across various systems. It handles dependency management independently of specific Node package managers (like npm, pnpm, or yarn) and provides built-in capabilities to create and publish Wing libraries (winglibs) with automatically generated API documentation.
  3. Overview of Wing programming environment

    Wing is a programming environment designed for building and testing distributed cloud systems. It allows developers to leverage cloud primitives such as queues, topics, API endpoints, buckets, and websites. Key features include:

    • Visual Cloud Simulator: Enables interaction and testing of complete cloud applications locally with fast hot reloading, eliminating the need for immediate cloud deployment.
    • Pluggable Platform Providers: Applications are cloud- and provisioning-engine agnostic, supporting deployment to multiple providers (e.g., AWS, GCP, Azure) and engines (e.g., Terraform/OpenTofu, CloudFormation).
    • Custom Platforms: Platform teams can create custom platforms using CDK constructs to enforce organizational best practices, security, and compliance policies.
  4. Overview of Winglang

    Winglang is an open-source programming language for the cloud that integrates infrastructure and runtime into a single programming model. It allows developers to build serverless cloud-native applications without deep DevOps expertise. Winglang code compiles to Terraform and JavaScript and supports deployment on AWS, GCP, and Azure.
  5. Overview of Wing compiler plugins

    Compiler plugins are JavaScript files that export specific hook functions used to extend the Wing compiler. They allow developers to customize compilation output, such as enforcing tagging conventions on infrastructure resources. Plugins can implement one or multiple hooks, and each hook receives a context object to interact with the compilation process.
  6. Introduction to Wing programming language

    Wing is an open source programming language designed for the cloud. It integrates infrastructure and runtime code into a single language, allowing developers to manage both aspects of cloud application development within one workflow to improve delivery speed and security.
  7. Overview of Wing Cloud Preview Environments

    Wing Cloud Preview Environments allow developers to build and deploy Wing applications to ephemeral environments using the Wing Simulator platform. These environments are integrated with GitHub, providing unique URLs for collaboration and sharing. When a preview environment is created, tests are executed automatically, and results are posted as comments on the corresponding GitHub Pull Request.
  8. Overview of the Wing Programming Language

    Wing is a statically typed, compiled, cloud-oriented programming language. It allows developers to define both infrastructure and application behavior within a single codebase, abstracting the underlying cloud infrastructure. The Wing compiler can target multiple platforms, including AWS, Azure, Google Cloud, Kubernetes, and a local cloud simulator (Wing Console).
  9. Introduction to Wing Cloud-Oriented Programming Language

    Wing is a programming language specifically designed for the cloud to improve the developer experience. It aims to solve common cloud development pain points by removing the need for developers to manually manage non-functional mechanics—such as bundling dependencies, managing zip uploads to S3, configuring complex IAM policies (e.g., sns:Publish actions), and dealing with ARNs—allowing them to focus on the functional domain of their application.
  10. Overview of Wing cloud-oriented programming

    Wing is a cloud-oriented programming language that allows developers to build distributed systems without managing underlying infrastructure. It treats the cloud as a computer, leveraging managed services and distributed programming to create scalable, highly-available, and robust systems. The Wing compiler produces a bundle of artifacts for deployment, including Terraform files for infrastructure definition and JavaScript code for cloud compute resources. For example, when targeting AWS, Wing automatically maps resources to Amazon S3 (buckets), Amazon SQS (queues), Amazon DynamoDB (counters), and AWS Lambda (handlers), while generating least-privilege IAM security policies.
    bring cloud;
    
    let queue = new cloud.Queue(timeout: 2m);
    let bucket = new cloud.Bucket();
    let counter = new cloud.Counter(initial: 100);
    
    queue.setConsumer(inflight (body: str) => {
      let next = counter.inc();
      let key = "myfile-{next}.txt";
      bucket.put(key, body);
    });
  11. Overview of Wing Custom Platform Hooks

    Wing Custom Platforms allow developers to hook into the Wing application compilation process. Available hooks include:

    • preSynth: Executed before the compiler begins synthesis; provides access to the root app in the construct tree.
    • postSynth: Executed after artifacts are synthesized; allows manipulation of the resulting configuration (e.g., modifying Terraform JSON configuration).
    • validate: Executed after postSynth; provides the same input as postSynth but the configuration is immutable, making it suitable for validation operations.