> ## Documentation Index
> Fetch the complete documentation index at: https://frpc.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Roadmap

We're constantly building new features into fRPC to improve its functionality and expand its ease of use.
We'd love to hear your feedback on these as well as any other ideas you have!
Also, if you have any questions, please feel free to join our [Discord Server](https://loopholelabs.io/discord) where
you can ask questions and get help from other fRPC developers.

## Currently In Development

These are the features that are actively being developed right now.

### Load Balancing Support

One of gRPC's most important features is load balancing. This is a feature that allows you to distribute your requests
across multiple servers, and allows you to scale your application to handle more requests. Currently, fRPC does not
have load balancing built-in, however it is already possible to do application-level load balancing on top of a normal
fRPC client.

Our goal is to have a built-in solution that Developers can use off the shelf, though, and this feature
is being actively developed. We're expecting to have it available in the coming months.

### Retry Support

Sometimes requests fail, whether it's because of a network issue or because of a server issue. Currently, this sort
of failure will result in an fRPC client reporting an error - instead, we'd like to be able to retry the request
a number of times before giving up.

It's currently possible to do this at the application level, but our goal is to have a built-in solution that Developers \
can use off the shelf, though, and this feature is being actively developed. We're expecting to have it available in the coming months.

# Planned Features

These are the features that we've planned to work on in the coming months. If any of these are important to you please
let us know! We use community feedback to plan our roadmap, and we also encourage contributors to submit their ideas
to the [Discord Server](https://loopholelabs.io/discord) so that we can discuss them with the community.

### OneOf Message Types

A recent addition to the proto3 syntax, `OneOf` message types allow developers to specify that
only a single field from a set can be used at a time.

This feature is also actively being developed and should be available in the coming months.

### JS/TS Support

Currently, fRPC is only compatible with `Golang` but we plan to add support for JS and TS in the near future.
We know it's important to have an RPC framework that can be used across language boundaries so this is a big priority for us.

We've already begun the work required to add support for JS and TS by porting the [polyglot-go](https://github.com/loopholelabs/polyglot-go)
framework to [Typescript](https://github.com/loopholelabs/polyglot-ts). This means we are already able to serialize and
deserialize RPCs in Typescript.

### Rust Support

Currently, fRPC is only compatible with `Golang` but we plan to add support for Rust in the near future.

We've already begun the work required to add support for Rust by porting the [polyglot-go](https://github.com/loopholelabs/polyglot-go)
framework to [Rust](https://github.com/loopholelabs/polyglot-rs). This means we are already able to serialize and
deserialize RPCs in Rust.

### Websocket Support

We would love for developers to be able to use fRPC over websockets. This would allow fRPC clients to in the browser and
communicate directly with fRPC servers.
