|
2 | 2 |
|
3 | 3 | Rive React Native 2.0 |
4 | 4 |
|
| 5 | +## Development Preview |
| 6 | + |
| 7 | +> **⚠️ Development Preview**: This package is currently in development preview. While it's functional and actively maintained, the API may change in future releases. We recommend testing thoroughly before using in production applications. We're actively gathering feedback to improve the library. Please share your thoughts and report any issues you encounter. |
| 8 | +
|
5 | 9 | ## Requirements |
6 | 10 |
|
7 | 11 | - **React Native**: 0.78 or later (0.79+ recommended for better Android error messages) |
@@ -79,7 +83,10 @@ Rive_RiveRuntimeAndroidVersion=10.6.0 |
79 | 83 | Use an inline config plugin in your `app.config.ts`: |
80 | 84 |
|
81 | 85 | ```typescript |
82 | | -import { withPodfileProperties, withGradleProperties } from '@expo/config-plugins'; |
| 86 | +import { |
| 87 | + withPodfileProperties, |
| 88 | + withGradleProperties, |
| 89 | +} from '@expo/config-plugins'; |
83 | 90 |
|
84 | 91 | export default { |
85 | 92 | expo: { |
@@ -125,32 +132,51 @@ try { |
125 | 132 |
|
126 | 133 | ## Feature Support |
127 | 134 |
|
128 | | -The following runtime features are currently supported: |
129 | | - |
130 | | -✅ Supported | ⚠️ Partial | 🚧 In Development | ❌ Not Planned |
131 | | - |
132 | | -| Feature | Status | Description | |
133 | | -| -------------------------- | ------ | ---------------------------------------------------------------- | |
134 | | -| Artboard selection | ✅ | Sepecify artboard to render | |
135 | | -| State machine selection | ✅ | Specify a state machine to play | |
136 | | -| Animation selection | ❌ | Animation playback not planned, use state machines | |
137 | | -| View autoPlay & play/pause | ✅ | Control view playback | |
138 | | -| Fit & Alignment | ✅ | Fit modes supported, alignment coming soon | |
139 | | -| Layout & Responsiveness | ✅ | Basic responsive layouts supported | |
140 | | -| Data Binding | ⚠️ | Control data binding through runtime code | |
141 | | -| Asset management | 🚧 | Out-of-band assets not yet supported | |
142 | | -| State machine inputs | ✅ | Get/Set (nested) state machine inputs (legacy, see data binding) | |
143 | | -| Text Runs | ✅ | Update (nested) text runs (legacy, see data binding) | |
144 | | -| Rive Events | ✅ | Listen to Rive events | |
145 | | -| Rive Audio | ✅ | Full Rive audio playback supported | |
146 | | -| `useRive()` hook | ✅ | Convenient hook to access the Rive View ref after load | |
147 | | -| `useRiveFile()` hook | ✅ | Convenient hook to load a Rive file | |
148 | | -| `RiveView` error handling | ✅ | Error handler for failed view operations | |
149 | | -| `source` .riv file loading | ✅ | Conveniently load .riv files from JS source | |
150 | | -| Renderer options | ❌ | Single renderer option available (Rive) | |
| 135 | +This section provides a comprehensive overview of feature availability in `react-native-rive`, comparing it with the [previous Rive React Native runtime](https://github.com/rive-app/rive-react-native) and outlining the development roadmap. |
| 136 | + |
| 137 | +### Runtime Feature Comparison |
| 138 | + |
| 139 | +**Status Legend:** ✅ Supported | ⚠️ Partial | 🚧 In Development | ❌ Not Planned |
| 140 | + |
| 141 | +The following table compares feature availability with the [previous Rive React Native runtime](https://github.com/rive-app/rive-react-native). |
| 142 | + |
| 143 | +| Feature | Status | Description | |
| 144 | +| --------------------------------- | ------ | ---------------------------------------------------------------- | |
| 145 | +| Artboard selection | ✅ | Specify artboard to render | |
| 146 | +| State machine selection | ✅ | Specify a state machine to play | |
| 147 | +| View autoPlay & play/pause | ✅ | Control view playback | |
| 148 | +| Fit & Alignment | ✅ | Fit modes supported, alignment coming soon | |
| 149 | +| Layout & Responsiveness | ✅ | Basic responsive layouts supported | |
| 150 | +| Data Binding | ✅ | Control data binding through runtime code | |
| 151 | +| Asset management | ✅ | Load assets out of band (referenced) | |
| 152 | +| State machine inputs (Deprecated) | ✅ | Get/Set (nested) state machine inputs (legacy, see data binding) | |
| 153 | +| Text Runs (Deprecated) | ✅ | Update (nested) text runs (legacy, see data binding) | |
| 154 | +| Rive Events (Deprecated) | ✅ | Listen to Rive events | |
| 155 | +| Rive Audio | ✅ | Rive audio playback supported | |
| 156 | +| `useRive()` hook | ✅ | Convenient hook to access the Rive View ref after load | |
| 157 | +| `useRiveFile()` hook | ✅ | Convenient hook to load a Rive file | |
| 158 | +| `RiveView` error handling | ✅ | Error handler for failed view operations | |
| 159 | +| `source` .riv file loading | ✅ | Conveniently load .riv files from JS source | |
| 160 | +| Animation selection | ❌ | Animation playback not planned, use state machines | |
| 161 | +| Renderer options | ❌ | Single renderer option available (Rive) | |
151 | 162 |
|
152 | 163 | > **Note**: Several features in the table above (state machine inputs, text runs, and events) represent legacy approaches to runtime control. We recommend using data binding instead, as it provides a more maintainable way to control your Rive graphics (both at edit time and runtime). |
153 | 164 |
|
| 165 | +### Roadmap |
| 166 | + |
| 167 | +**Status Legend:** ✅ Completed | 🚧 Planned | |
| 168 | + |
| 169 | +This section tracks new features and improvements planned for this runtime that were not available in the [previous Rive React Native runtime](https://github.com/rive-app/rive-react-native). |
| 170 | + |
| 171 | +| Feature | Status | |
| 172 | +| ----------------------------------------------------------------------------------------------------- | ------ | |
| 173 | +| [Reusable .riv File resources (preloading)](https://github.com/rive-app/rive-react-native/issues/260) | ✅ | |
| 174 | +| [Data Binding - Images](https://github.com/rive-app/rive-nitro-react-native/issues/9) | 🚧 | |
| 175 | +| [Data Binding - Artboards](https://github.com/rive-app/rive-nitro-react-native/issues/10) | 🚧 | |
| 176 | +| [Data Binding - Lists](https://github.com/rive-app/rive-nitro-react-native/issues/11) | 🚧 | |
| 177 | +| [Data Binding - Value props](https://github.com/rive-app/rive-nitro-react-native/pull/24) | 🚧 | |
| 178 | +| [Suspense](https://github.com/rive-app/rive-nitro-react-native/pull/19) | 🚧 | |
| 179 | + |
154 | 180 | ## Contributing |
155 | 181 |
|
156 | 182 | See the [contributing guide](CONTRIBUTING.md) to learn how to contribute to the repository and the development workflow. |
|
0 commit comments