grpc-swift VS cffi

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

grpc-swift

The Swift language implementation of gRPC. (by grpc)

cffi

Safe* C foreign function interface for Rust, using proc macros and marshaling types. (by cffi-rs)
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 cffi
8 1
1,945 15
1.4% -
9.3 2.9
3 days ago about 2 months ago
Swift Rust
Apache License 2.0 Apache License 2.0
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

cffi

Posts with mentions or reviews of cffi. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-07-20.

What are some alternatives?

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

grpc-web - gRPC for Web Clients

PyO3 - Rust bindings for the Python interpreter

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

interoptopus - The polyglot bindings generator for your library (C#, C, Python, …) 🐙

grpc-over-webrtc - gRPC over WebRTC

divvunspell-sdk-swift - A Swift wrapper around DivvunSpell

json-api - A specification for building JSON APIs

cargo-cocoapods - Bundle Cargo crates for use with macOS/iOS in Xcode

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.

tonic - A native gRPC client & server implementation with async/await support.

Cache - :package: Nothing but Cache.

swift-composable-architecture - A library for building applications in a consistent and understandable way, with composition, testing, and ergonomics in mind.