Building with Lattice
The Lattice SDK™ allows developers to build applications, data services, and hardware integrations which create, exploit, and enhance Lattice Mesh™ data. The Lattice Developer Program complements this documentation by providing qualified developers with access to development environments running Lattice Mesh services with representative notional data, as well as access to Anduril solutions architecture guidance and developer support.
Integration data flow
The primary entry-points for these solutions are the gRPC Entity Manager and Task Manager APIs or the HTTP Entities and Tasks APIs.
The diagram above shows how your integration fits into the Lattice ecosystem.
An integration with Lattice can be unidirectional or bidirectional, supporting one or both of the following functions:
- Pushing data into Lattice, such as publishing data feeds or integrating a new robot.
- Pulling data from Lattice, such as tracks generated by towers in order to be tasked against them.
Choose between HTTP or gRPC endpoints
The Lattice SDK exposes both HTTP and gRPC endpoints to support a variety of use-cases.
Lattice implements gRPC natively. We recommend using gRPC to build applications and connect with Lattice. The gRPC client is more performant and provides you with a greater level of type-safety. Moreover, as the interfaces are fully defined in commonly visible resources, data publishers and data consumers can achieve a higher degree of compatibility assurance. For more information, and to get started with gRPC endpoints, see Installing the Lattice SDKs.
Lattice also provides an OpenAPI v3.0 RESTful API for use-cases where your application architecture is not compatible with gRPC. The benefit of using the OpenAPI API is that you may make simple HTTP requests with JSON data to create, read, update, and delete structured data models such as Entities and Tasks. While using the REST API offers flexibility, you incur additional overhead network usage costs. Additionally, the Lattice HTTP API represents a subset of the fully integrated gRPC interface. To get started with OpenAPI endpoints, you can use methods such as curl, Postman, or access our OpenAPI definition and generate an HTTP SDK in the programming language of your choice.