github.com/SaurabhDubey-Groww/go-cloud@v0.0.0-20221124105541-b26c29285fd8/doc.go (about) 1 // Copyright 2018 The Go Cloud Development Kit Authors 2 // 3 // Licensed under the Apache License, Version 2.0 (the "License"); 4 // you may not use this file except in compliance with the License. 5 // You may obtain a copy of the License at 6 // 7 // https://www.apache.org/licenses/LICENSE-2.0 8 // 9 // Unless required by applicable law or agreed to in writing, software 10 // distributed under the License is distributed on an "AS IS" BASIS, 11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 // See the License for the specific language governing permissions and 13 // limitations under the License. 14 15 /* 16 Package cloud contains a library and tools for open cloud development in Go. 17 18 The Go Cloud Development Kit (Go CDK) allows application developers to 19 seamlessly deploy cloud applications on any combination of cloud providers. 20 It does this by providing stable, idiomatic interfaces for common uses like 21 storage and databases. Think `database/sql` for cloud products. 22 23 At the core of the Go CDK are common "portable types", implemented on top of 24 service-specific drivers for supported cloud services. For example, 25 objects of the blob.Bucket portable type can be created using 26 gcsblob.OpenBucket, s3blob.OpenBucket, or any other Go CDK driver. Then, the 27 blob.Bucket can be used throughout your application without worrying about the 28 underlying implementation. 29 30 The Go CDK works well with a code generator called Wire 31 (https://github.com/google/wire/blob/master/README.md). It creates 32 human-readable code that only imports the cloud SDKs for drivers you use. This 33 allows the Go CDK to grow to support any number of cloud services, without 34 increasing compile times or binary sizes, and avoiding any side effects from 35 `init()` functions. 36 37 For non-reference documentation, see https://gocloud.dev/ 38 39 # URLs 40 41 See https://gocloud.dev/concepts/urls/ for a discussion of URLs in the Go CDK. 42 43 # As 44 45 See https://gocloud.dev/concepts/as/ for a discussion of how to write 46 service-specific code with the Go CDK. 47 */ 48 package cloud // import "gocloud.dev"