Nexonoma Compare · Curated snapshot
Categorization of design and architectural principles for interfaces (e.g., REST, GraphQL, gRPC) to guide modeling, communication, and error handling.
Compare concrete tools against the same functional, non-functional, and commercial properties. The matrix presents evidenced differences. Weighting, recommendations, and selection will follow in Decide.
Select 2 to 4
REST is an architectural style that defines the communication between client and server via the HTTP protocol.
REST identifies resources and manipulates them through representations within a uniform interface.
1The uniform interface combines resource identification, representations, self-descriptive messages, and hypermedia.
1The REST constraints do not define a dedicated streaming operation; continuous connections are modeled through additional web mechanisms.
1Resource state is transferred as a representation whose concrete format is determined by media type and application.
1The uniform interface improves visibility, simplicity, and independent evolution. Its generality can cost efficiency compared with specialized interfaces.1
GraphQL is a query language for APIs and a runtime for executing those queries.
Every GraphQL service defines types and fields against which incoming operations are validated and executed.
5The GraphQL specification is transport-agnostic; HTTP is the most common transport for queries and mutations.
6A subscription creates a response stream from an underlying event stream; support is optional.
4GraphQL over HTTP commonly uses JSON for requests and structured responses with data, errors, and extensions.
6The formal GraphQL specification defines the language, type system, validation, and execution independently of an implementation.
4gRPC is a powerful RPC framework from Google that efficiently provides remote procedure capabilities.
A service defines remotely callable methods with parameters and return types.
9gRPC uses Protocol Buffers by default as the IDL for services and messages; other alternatives are possible.
9gRPC defines four method types ranging from simple request/response to independent bidirectional streams.
9Server, client, and bidirectional streaming are first-class types in the service contract.
9Protocol Buffers describe the service interface and messages by default; generated clients serialize payloads.
9Browsers use gRPC-Web and typically a proxy such as Envoy to translate requests to the gRPC backend.
11The gRPC core documentation describes RPC calls and streams; reusable application results are cached outside this transport model.
9Numbers link each property to its evidence.