Skip to content

Commit 32005a2

Browse files
sebstofabianfett
andcommitted
Initial Commit for getting started documentation
Co-authored-by: Fabian Fett <[email protected]>
1 parent 50c4ec9 commit 32005a2

File tree

77 files changed

+999
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

77 files changed

+999
-0
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,6 @@
88
xcuserdata
99
Package.resolved
1010
.serverless
11+
.vscode
12+
Examples/SAM
13+
Makefile
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# ``AWSLambdaRuntimeCore``
2+
3+
An AWS Lambda runtime for the Swift programming language
4+
5+
## Overview
6+
7+
Many modern systems have client components like iOS, macOS or watchOS applications as well as server components that those clients interact with. Serverless functions are often the easiest and most efficient way for client application developers to extend their applications into the cloud.
8+
9+
Serverless functions are increasingly becoming a popular choice for running event-driven or otherwise ad-hoc compute tasks in the cloud. They power mission critical microservices and data intensive workloads. In many cases, serverless functions allow developers to more easily scale and control compute costs given their on-demand nature.
10+
11+
When using serverless functions, attention must be given to resource utilization as it directly impacts the costs of the system. This is where Swift shines! With its low memory footprint, deterministic performance, and quick start time, Swift is a fantastic match for the serverless functions architecture.
12+
13+
Combine this with Swift's developer friendliness, expressiveness, and emphasis on safety, and we have a solution that is great for developers at all skill levels, scalable, and cost effective.
14+
15+
Swift AWS Lambda Runtime was designed to make building Lambda functions in Swift simple and safe. The library is an implementation of the [AWS Lambda Runtime API](https://docs.aws.amazon.com/lambda/latest/dg/runtimes-api.html) and uses an embedded asynchronous HTTP client based on [SwiftNIO](https://github.com/apple/swift-nio) that is fine-tuned for performance in the AWS Lambda Runtime context. The library provides a multi-tier API that allows building a range of Lambda functions: from quick and simple closures to complex, performance-sensitive event handlers.
16+
17+
## Topics
18+
19+
### Essentials
20+
21+
- <doc:quick-setup>
22+
- <doc:/tutorials/table-of-content>
23+
- ``LambdaHandler``
24+
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Create a project directory
2+
mkdir SquareNumber && cd SquareNumber
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# Create a project directory
2+
mkdir SquareNumber && cd SquareNumber
3+
# create a skeleton project
4+
swift package init --type executable
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# Create a project directory
2+
mkdir SquareNumber && cd SquareNumber
3+
# create a skeleton project
4+
swift package init --type executable
5+
# open Xcode in the current directory
6+
xed .
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Create a project directory
2+
mkdir SquareNumber && cd SquareNumber
3+
# create a skeleton project
4+
swift package init --type executable
5+
# open Xcode in the current directory
6+
xed .
7+
# alternatively, you may open VSCode
8+
code .
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
// swift-tools-version:5.8
2+
// The swift-tools-version declares the minimum version of Swift required to build this package.
3+
4+
import PackageDescription
5+
6+
let package = Package(
7+
name: "SquareNumberLambda",
8+
)
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
// swift-tools-version:5.8
2+
// The swift-tools-version declares the minimum version of Swift required to build this package.
3+
4+
import PackageDescription
5+
6+
let package = Package(
7+
name: "SquareNumberLambda",
8+
platforms: [
9+
.macOS(.v12),
10+
],
11+
)
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
// swift-tools-version:5.8
2+
// The swift-tools-version declares the minimum version of Swift required to build this package.
3+
4+
import PackageDescription
5+
6+
let package = Package(
7+
name: "SquareNumberLambda",
8+
platforms: [
9+
.macOS(.v12),
10+
],
11+
dependencies: [
12+
.package(url: "https://github.com/swift-server/swift-aws-lambda-runtime.git", .upToNextMajor(from:"1.0.0")),
13+
],
14+
)
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
// swift-tools-version:5.8
2+
// The swift-tools-version declares the minimum version of Swift required to build this package.
3+
4+
import PackageDescription
5+
6+
let package = Package(
7+
name: "SquareNumberLambda",
8+
platforms: [
9+
.macOS(.v12),
10+
],
11+
products: [
12+
.executable(name: "SquareNumberLambda", targets: ["SquareNumberLambda"]),
13+
],
14+
dependencies: [
15+
.package(url: "https://github.com/swift-server/swift-aws-lambda-runtime.git", .upToNextMajor(from:"1.0.0")),
16+
],
17+
)

0 commit comments

Comments
 (0)