You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: README.md
+48-1
Original file line number
Diff line number
Diff line change
@@ -57,10 +57,55 @@ Empower Your Lists App with a Robust Backend 🚀
57
57
58
58
The @state-less/clean-starter repository is designed to provide a starting point for developers exploring React Server. It includes essential backend components, utilities, and examples that illustrate the fundamental concepts and capabilities of React Server.
59
59
60
+
# React Server
60
61
React Server allows the creation of server-side React components using TSX, promoting a component-driven architecture for building robust and maintainable backend solutions. By using @state-less/clean-starter, developers can quickly get started with this innovative approach to full-stack development.
// A simple function that can be executed from the client side.
75
+
const increase = () => {
76
+
setState(count+1);
77
+
};
78
+
79
+
return (
80
+
// Simply pass down props to the client side.
81
+
<ServerSideProps
82
+
key={clientKey(`${key}-props`, context)}
83
+
count={count}
84
+
increase={increase}
85
+
/>
86
+
);
87
+
};
88
+
```
89
+
90
+
Use the familiar approach of React to build serverside applications in a declarative way. React has proven to be a successful framework for building large scale applications while keeping a clean state-management solution to provide reactive realtime enabled modern UIs. React favors a clean codebase due to its inherently modular structure and component driven approach. React allows you to cleanly abstract the complexity of modern applications using *states*, *hooks* and *components*.
91
+
92
+
React Server brings the same flexibility to the server side by giving you a Framework that handles TSX compilation, a small React engine that powers *hooks*, *states* and the lifecycle of *components*. It also abstracts data storage and data transportation into a common concept of *states*. Data is stored in *Stores* which can be accessed by components using *hooks* (`useState`). The `useState` hook provides reactivity and automatically re-renders the component when its value is updated using the setter. Data is transported by consuming server-side states / components on the clientside using the `useComponent` hook. We are using *GraphQL* as transportation layer to provide a robust foundation.
93
+
94
+
Developers familiar with **React** and JSX components `<Component hello="world" />` are able to jump right into developing full-stack applications. It really works well and provides a seamless reactive experience on both the backend and the frontend. States are synchronized to all connected clients using PUB / SUB.
95
+
62
96
For detailed documentation and in-depth guides, please visit the official website at [state-less.cloud](https://state-less.cloud).
63
97
98
+
## Explore Examples
99
+
Dive into real-world examples, like the [Lists App](https://lists.state-less.cloud), showcasing the potential of React Server.
100
+
101
+
## Key Features
102
+
103
+
-**Server-Side React**: Create server-side React components using TSX for efficient, component-driven backend development.
104
+
-**@state-less/clean-starter**: Jumpstart your project with essential backend components, utilities, and examples.
105
+
-**Explore the Future**: Harness the power of server-side real-time TSX components.
106
+
107
+
For comprehensive documentation and detailed guides, visit the official [state-less.cloud](https://state-less.cloud) website.
108
+
64
109
## Getting Started
65
110
66
111
### Backend
@@ -175,4 +220,6 @@ _Note: You can still override the provided client if you pass one in the options
175
220
176
221
That's it, your App is now powered by the same backend as the documentation under [state-less.cloud](https://state-less.cloud).
177
222
178
-
Happy Hacking!
223
+
---------
224
+
225
+
**License**: This project is under the **MIT License** - see the [LICENSE.md](/LICENSE.txt) file for details.
0 commit comments