A universal React-compatible render engine.
Rax is a universal JavaScript library with a largely React-compatible API. If you use React, you already know how to use Rax.
⚡ Fast: blazing fast virtual DOM.
🎯 Tiny: 8.0kb only after min+gzip.
🎨 Universal: cross Browser、Weex and Node.js.
Angular 1.5.8 - 55.4kb (gzip)
React 15.3.2 - 43.7kb (gzip)
Vue 2.1.8 - 17.9kb (gzip)
Rax 0.0.2 - 8.0kb (gzip)
Benchmark repository: Run on a MacBook Air Intel Core i5 @1.4 GHz x 2 with 8 GB memory.
Library | renderToString (per second) |
---|---|
React@15.3.2 | 297 op/s |
Vue@2.0.8 | 1092 op/s |
Rax@0.0.2 | 1553 op/s (fastest) |
Install the Rax CLI tools to init project:
npm install rax-cli -g
rax init YourProjectName
Start local server to launch project:
cd YourProjectName
npm run start
import {createElement, Component, render} from 'rax';
import {Text} from 'rax-components';
class Hello extends Component {
render() {
return <Text style={styles.title}>Hello {this.props.name}</Text>;
}
}
const styles = {
title: {
color: '#ff4400',
fontSize: 48,
fontWeight: 'bold',
}
};
render(<Hello name="world" />);
More examples take a look at the examples
folder:
- 🚥 rax-test-renderer: Rax renderer for snapshot testing.
- 💻 rax-server-renderer: Rax renderer for server-side render.
- 🌏 universal-env: A universal environment utilities.
- ➿ universal-transition: A universal transition API.
- 📱 universal-platform: A universal Platform API.
- 👙 universal-stylesheet: A universal StyleSheet API.
- 👆 universal-panresponder: A universal PanResponder API.
- 💬 universal-toast: A universal Toast API.
- 📮 universal-jsonp: A universal JSONP utilities.
- React Developer Tools: Allow you inspect and modify the state of your Rax components at runtime in Chrome Developer Tools.
- Redux DevTools extension: Provide power-ups for your Redux development workflow.
- Use the
rax-redux
module in your app - Simply replace code follow the Redux DevTools extension usage doc
- Use the
Want to file a bug, contribute some code, or improve documentation? Excellent! Read up on our guidelines for contributing.
After cloning rax, run npm install
to fetch its dependencies.
Run npm run setup
link and bootstrap project before development.
Then, you can run several commands:
npm run lint
checks the code style.npm test
runs the complete test suite.npm test -- --watch
runs an interactive test watcher.npm test <pattern>
runs tests with matching filenames.npm run build
createslib
anddist
folder with all the packages.npm start
start local server withexamples
folder.