Không có mô tả

Tim Burks df35d8087a Minor README update. 9 năm trước cách đây
Examples 375e4ade71 Update for swift-protobuf 0.9.24, clarify dependency versions in README. 9 năm trước cách đây
Plugin 7db97e09ba Basic scaffolding for a code generation plugin. 9 năm trước cách đây
QuickProto 0ad10d298b Update file paths in quickproto project 9 năm trước cách đây
Samples 31ef5cbf29 Update Samples to point to main (grpc-hosted) repository. 9 năm trước cách đây
Sources 63c6acfa40 Move CgRPC, gRPC, and QuickProto to "Sources" directory and add new top-level Package.swift. 9 năm trước cách đây
gRPC cc616f53e0 first working TLS client calls 9 năm trước cách đây
gRPC.xcodeproj ce22fc609c Update file paths in gRPC.xcodeproj 9 năm trước cách đây
third_party 63c6acfa40 Move CgRPC, gRPC, and QuickProto to "Sources" directory and add new top-level Package.swift. 9 năm trước cách đây
.gitignore 6a1e661e29 Swift Echo sample 9 năm trước cách đây
.gitmodules 63c6acfa40 Move CgRPC, gRPC, and QuickProto to "Sources" directory and add new top-level Package.swift. 9 năm trước cách đây
CONTRIBUTING.md 98a8b64da5 Update README and CONTRIBUTING. 9 năm trước cách đây
LICENSE d983798ec5 Fix license date (thomasvl@) 9 năm trước cách đây
OVERVIEW.md 9267094097 Add initial API overview document. 9 năm trước cách đây
PATENTS 36f2bde28e Add PATENTS declaration 9 năm trước cách đây
Package.swift 63c6acfa40 Move CgRPC, gRPC, and QuickProto to "Sources" directory and add new top-level Package.swift. 9 năm trước cách đây
README.md df35d8087a Minor README update. 9 năm trước cách đây

README.md

Swift gRPC API

This repository contains an experimental Swift gRPC API.

Not yet intended for production use, it provides low-level Swift wrappers for the C gRPC API that can be used to build higher-level structures supporting streaming and nonstreaming gRPC APIs.

Temporary protocol buffer support is provided in the QuickProto library. This simple Swift library provides an API for building and parsing protocol buffers with no generated code. Conversion to Apple's swift-protobuf library is in progress.

Code is provided for both gRPC clients and servers, and it can be built either with Xcode or the Swift Package Manager. The Xcode build is demonstrated with Echo, a sample Mac app that can be used to run echo clients and servers with streaming and nonstreaming interfaces over secure (TLS) and insecure channels.

Other examples include Sessions, StickyNotes, and Speech.

Swift Package Manager builds are demonstrated on Linux using the instructions in the Packages directory.

Getting started

After cloning this repository, cd third_party; RUNME.sh to download its dependencies (we don't use git submodules to keep this repository lean for imports with the Swift Package Manager).

Building grpc

Swift gRPC currently requires a separate build of the grpc core library. To do this, enter the grpc directory and run git submodule update --init and then make install. If you get build errors, edit the Makefile and remove "-Werror" from the line that begins with "CPPFLAGS +=".

Can't find something?

To make it easier for the Swift Package manager to find, the code for gRPC, CgRPC, and QuickProto is in the [Sources] directory.

Having build problems?

grpc-swift depends on Swift, Xcode, and swift-proto, all of which are in flux and potential sources of breaking changes. We are currently testing with the following versions:

  • Xcode 8.2
  • Swift 3.0.2
  • swift-proto 0.9.24

License

grpc-swift is released under the same license as gRPC, repeated in LICENSE.

Contributing

Please get involved! See our guidelines for contributing.