

これは AWS CDK v2 デベロッパーガイドです。旧版の CDK v1 は 2022 年 6 月 1 日にメンテナンスを開始し、2023 年 6 月 1 日にサポートを終了しました。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# AWS CDK のサポートされているプログラミング言語
<a name="languages"></a>

AWS Cloud Development Kit (AWS CDK) には、次の汎用プログラミング言語に対するファーストクラスサポートがあります。
+ TypeScript
+ JavaScript
+ Python (パイソン)
+ Java
+ C\$1
+  Go 

その他の JVM や .NET CLR 言語も理論上使用できますが、現時点では公式なサポートを提供していません。

AWS CDK は TypeScript という 1 つの言語で開発されています。他の言語をサポートするため、AWS CDK は [JSII](https://github.com/aws/jsii) と呼ばれるツールを活用して言語バインディングを生成します。

AWS CDK を使用した開発ができるだけ自然で直感的にするため、各言語の通常の規則を提供することに取り組んでいます。例えば、任意の言語の標準リポジトリを使用して AWS コンストラクトライブラリモジュールを配布し、ユーザーは言語の標準パッケージマネージャーを使用してインストールします。メソッドおよびプロパティも、言語の推奨命名パターンを使用して名前が付けられます。

次の内容は、いくつかのコード例です。

**Example**  

```
const bucket = new s3.Bucket(this, 'amzn-s3-demo-bucket', {
  bucketName: 'amzn-s3-demo-bucket',
  versioned: true,
  websiteRedirect: {hostName: 'aws.amazon.com'}});
```

```
const bucket = new s3.Bucket(this, 'amzn-s3-demo-bucket', {
  bucketName: 'amzn-s3-demo-bucket',
  versioned: true,
  websiteRedirect: {hostName: 'aws.amazon.com'}});
```

```
bucket = s3.Bucket("amzn-s3-demo-bucket", bucket_name="amzn-s3-demo-bucket", versioned=True,
            website_redirect=s3.RedirectTarget(host_name="aws.amazon.com"))
```

```
Bucket bucket = Bucket.Builder.create(self, "amzn-s3-demo-bucket")
                      .bucketName("amzn-s3-demo-bucket")
                      .versioned(true)
                      .websiteRedirect(new RedirectTarget.Builder()
                          .hostName("aws.amazon.com").build())
                      .build();
```

```
var bucket = new Bucket(this, "amzn-s3-demo-bucket", new BucketProps {
                      BucketName = "amzn-s3-demo-bucket",
                      Versioned  = true,
                      WebsiteRedirect = new RedirectTarget {
                              HostName = "aws.amazon.com"
                      }});
```

```
bucket := awss3.NewBucket(scope, jsii.String("amzn-s3-demo-bucket"), &awss3.BucketProps {
	BucketName: jsii.String("amzn-s3-demo-bucket"),
	Versioned: jsii.Bool(true),
	WebsiteRedirect: &awss3.RedirectTarget {
		HostName: jsii.String("aws.amazon.com"),
	},
})
```

**注記**  
これらのコードスニペットは、あくまでも説明用に使用されています。不完全なため、そのままでは実行されません。

AWS コンストラクトライブラリは、NPM、PyPi、Maven、NuGet などの各言語の標準パッケージ管理ツールを使用して配布されます。各言語の「[AWS CDK API リファレンス](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-construct-library.html)」のバージョンも提供します。

このガイドでは、AWS CDK を任意の言語で使用できるように、サポートされている言語に関する次のトピックについて説明します。
+  [TypeScript で AWS CDK を使用する](work-with-cdk-typescript.md) 
+  [JavaScript で AWS CDK を使用する](work-with-cdk-javascript.md) 
+  [Python で AWS CDK を使用する](work-with-cdk-python.md) 
+  [Java で AWS CDK を使用する](work-with-cdk-java.md) 
+  [C\$1 で AWS CDK を操作](work-with-cdk-csharp.md) 
+  [Go で AWS CDK を操作](work-with-cdk-go.md) 

TypeScript は AWS CDK でサポートされている最初の言語であり、AWS CDK のコード例の多くは TypeScript で記述されています。このガイドには、サポートされている他の言語で TypeScript AWS CDK コードを使用するため、適応させる方法に特化したトピックが含まれています。詳細については、「[TypeScript の AWS CDK を他の言語と比較](work-with.md#work-with-cdk-compare)」を参照してください。