Interface choice for the ace project
Criteria for choosing
- Performance: The interface must be able to handle the requirements of the project efficiently.
- Flexibility: The interface must be able to adapt to changing requirements of the project.
Options for interfaces
- http interface: The http interface is a common choice for web applications. It is easy to use and has good performance.
- grpc interface: The grpc interface is a high-performance, open-source interface that is well-suited for microservices architectures.
- websocket interface: The websocket interface is a real-time interface that is well-suited for applications that require real-time communication
- graphql interface: The graphql interface is a query language for APIs that is well-suited for applications that require flexible queries.
- ffi: The ffi interface is a low-level interface that allows you to call functions written in other languages from your code.
Evaluation of interfaces
For now we will use the http interface for the ace project. It is a common choice for web applications and is easy to use. If we find that the http interface is not meeting our requirements, we can switch to another interface later on.