Use Swift to define Amazon Lambda functions and Alexa Custom Skills by compiling to a Linux executable wrapped in a Node.js shim.
Swift On Lambda is a project that enables developers to write Amazon Lambda functions and Alexa Custom Skills using the Swift programming language. It solves the problem of Lambda's lack of official Swift support by compiling Swift code to a Linux executable and wrapping it with a Node.js shim. This allows Swift developers to deploy serverless functions and voice-controlled applications on AWS.
Swift developers interested in serverless computing, AWS Lambda, or building Alexa skills without switching to Node.js, Java, or Python. It's also for those exploring cross-platform Swift development on Linux.
Developers choose Swift On Lambda because it provides a proven method to use Swift in environments where it's not natively supported, leveraging Docker for cross-compilation and Terraform for reliable AWS deployment. It offers a clear, example-driven approach to integrating Swift with modern cloud services.
Use Swift to define an Amazon Lambda function, and an Alexa Custom Skill
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provided a working method to run Swift on AWS Lambda before official support, using a Node.js shim to wrap Linux executables, as described in the README's approach to compiling Swift for Linux.
Leverages Docker containers to compile Swift code for Linux and bundle necessary libraries, ensuring compatibility with AWS's environment, as shown in the detailed Docker command breakdown.
Uses Terraform to provision and manage AWS resources like Lambda, S3, IAM, and API Gateway, enabling reproducible deployments, as outlined in the provisioning section.
Hosts Alexa Custom Skills on Lambda to avoid complex HTTPS authentication, making voice app development with Swift easier, as noted in the README's explanation of why Lambda is beneficial for Alexa.
The project is mostly irrelevant as of June 2020 because Apple now supports Swift on Lambda directly, making this workaround unnecessary, as stated in the README update.
Requires installing and configuring Docker, Terraform, and AWS credentials, adding significant overhead compared to native Lambda runtimes, as listed in the prerequisites.
Building Alexa skills demands manual setup of intent schemas and sample utterances on Amazon's developer site, with no API for automated deployment, as admitted in the README.