github.com/yorinasub17/go-cloud@v0.27.40/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"