grpc-swift VS tonic

Compare grpc-swift vs tonic and see what are their differences.

grpc-swift

The Swift language implementation of gRPC. (by grpc)

tonic

A native gRPC client & server implementation with async/await support. (by hyperium)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
grpc-swift tonic
8 48
1,945 8,951
1.4% 3.3%
9.3 8.6
7 days ago 7 days ago
Swift Rust
Apache License 2.0 MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

grpc-swift

Posts with mentions or reviews of grpc-swift. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-07-19.
  • LinkedIn Adopts Protocol Buffers and Reduces Latency Up to 60%
    4 projects | news.ycombinator.com | 19 Jul 2023
  • Trouble building for ios device
    7 projects | /r/bazel | 23 Nov 2022
    load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") http_archive( name = "com_github_buildbuddy_io_rules_xcodeproj", sha256 = "564381b33261ba29e3c8f505de82fc398452700b605d785ce3e4b9dd6c73b623", url = "https://github.com/buildbuddy-io/rules_xcodeproj/releases/download/0.9.0/release.tar.gz", ) http_archive( name = "cgrindel_rules_spm", sha256 = "03718eb865a100ba4449ebcbca6d97bf6ea78fa17346ce6d55532312e8bf9aa8", strip_prefix = "rules_spm-0.11.0", url = "https://github.com/cgrindel/rules_spm/archive/v0.11.0.tar.gz", ) load( "@cgrindel_rules_spm//spm:defs.bzl", "spm_pkg", "spm_repositories", ) load( "@cgrindel_rules_spm//spm:deps.bzl", "spm_rules_dependencies", ) spm_rules_dependencies() load( "@com_github_buildbuddy_io_rules_xcodeproj//xcodeproj:repositories.bzl", "xcodeproj_rules_dependencies", ) xcodeproj_rules_dependencies() load( "@build_bazel_rules_apple//apple:repositories.bzl", "apple_rules_dependencies", ) apple_rules_dependencies() load( "@build_bazel_rules_swift//swift:repositories.bzl", "swift_rules_dependencies", ) swift_rules_dependencies() load( "@build_bazel_rules_swift//swift:extras.bzl", "swift_rules_extra_dependencies", ) swift_rules_extra_dependencies() load( "@build_bazel_apple_support//lib:repositories.bzl", "apple_support_dependencies", ) apple_support_dependencies() spm_repositories( name = "swift_pkgs", platforms = [ ".macOS(.v10_15)", ], dependencies = [ spm_pkg( url = "https://github.com/apple/swift-log.git", exact_version = "1.4.2", products = ["Logging"], ), spm_pkg( url = "https://github.com/pointfreeco/swift-composable-architecture.git", exact_version = "0.43.0", products = ["ComposableArchitecture"], ), spm_pkg( name = "Bow", url = "https://github.com/bow-swift/bow.git", exact_version = "0.8.0", products = ["Bow", "BowEffects", "BowOptics"], ), spm_pkg( url = "https://github.com/grpc/grpc-swift.git", exact_version = "1.7.3", products = ["GRPC"], ), spm_pkg( url = "https://github.com/hyperoslo/Cache", exact_version = "6.0.0", products = ["Cache"], ), ], )
  • anyone has used grpc in iOS app?
    1 project | /r/iOSProgramming | 3 Jul 2022
    Did you have a look at examples on grpc-swift ?
  • Considering gRPC-C++ for an iOS project
    2 projects | /r/iOSProgramming | 19 Feb 2022
    You don’t want to use the Swift version?
  • Fullstack grpc tutorials?
    1 project | /r/iOSProgramming | 24 Oct 2021
    The Basic Tutorial or examples from the gRPG-Swift repository might be useful to you as well.
  • Application design: communication from Rust to another language
    5 projects | /r/rust | 20 Jul 2021
    At the moment I would recommend gRPC for Swift and Rust, even though in general gRPC drives me insane, it is currently the most convenient choice. Use tonic for the Rust server-side, and grpc-swift for the client-side. I've had quite a lot of success with this in the past.
  • gRPC Implementation in Swift
    1 project | /r/swift | 4 Jun 2021
  • REST vs. gRPC vs. GraphQL
    10 projects | news.ycombinator.com | 15 Mar 2021
    Swift is at least supported via Objective-C, and swift-grpc looks solid https://github.com/grpc/grpc-swift

tonic

Posts with mentions or reviews of tonic. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-10-28.

What are some alternatives?

When comparing grpc-swift and tonic you can also consider the following projects:

grpc-web - gRPC for Web Clients

actix-web - Actix Web is a powerful, pragmatic, and extremely fast web framework for Rust.

hasura-cms - Automatically exposed GraphQL API via Hasura with schema + permissions for GraphCMS-like handling of content types

grpc-rust - Rust implementation of gRPC

grpc-over-webrtc - gRPC over WebRTC

tarpc - An RPC framework for Rust with a focus on ease of use.

json-api - A specification for building JSON APIs

axum - Ergonomic and modular web framework built with Tokio, Tower, and Hyper

cffi - Safe* C foreign function interface for Rust, using proc macros and marshaling types.

prost - PROST! a Protocol Buffers implementation for the Rust Language

graphql-code-generator - A tool for generating code based on a GraphQL schema and GraphQL operations (query/mutation/subscription), with flexible support for custom plugins.

rust-prometheus - Prometheus instrumentation library for Rust applications