A fully featured cross-platform, cross-transport API Client, wormholes excluded.
Explore the docs »
Report Bug
·
Request Feature
Spacetime is not production-ready and is in active development. Pre-release users are welcomed with this warning in mind.
Table of Contents
- REST
- gRPC (we support server reflection! stop reloading protobuf files!)
- Synchronization (coming soon, for free!)
- WebSockets
- Kafka
- Visual Studio 2022 Preview
- .NET MAUI Workload - currently RC1
- npm
- webpack
Once all prerequisites are fulfilled, make sure to run npm install
in the wwwroot
folder. When you build the solution, the project will automatically run npm run build
.
Note: hot reloading does not yet work, but it should be fixed soon.
Use the MSIX Installer
Clone the repository and run the dotnet
command in the Spacetime project folder.
dotnet build -t:Run -f net6.0-maccatalyst
Download the zip file and extract the .app
Open an issue or tweet me on Twitter with any suggestions or bug reports.
The Spacetime MAUI Project uses Fluxor for state management. This means all actions are kicked off using the Dispatcher and handled either in an Effect or a Reducer.
Example:
<button OnClick="Save">Save</button>
@code {
private void Save()
{
Dispatcher.Dispatch(new UpdateRequestAction(Request));
}
}
This will fire an action, and at the very simplest level, can be handled in a reducer method. However, if this action does anything other than mutate state in a reducer, such as an API call, this will be created in an Effect.
All Actions, Reducers, and Effects are in the Spacetime.Store
namespace, organized by "feature."
View the Fluxor documentation for further explanation.
Chat on Discord or tweet me @codemullins