Material Design library for React Native that runs on all platforms.
npm -S i tuckerconnelly/carbon-ui#0.1 // or, if you want the latest:
npm -S i tuckerconnelly/carbon-ui
Material Design is built on the Roboto Fonts, so you need to make them available for Carbon UI.
You can download them here, and then install them for your platform:
Install react-native-web, and then place the <WebStyles />
in your index.web.js
:
import 'babel-polyfill'
import React from 'react'
import { AppRegistry } from 'react-native-web'
import { WebStyles } from 'carbon-ui'
import App from './src/index'
const AppWithStyles = () => <App><WebStyles /></App>
AppRegistry.registerComponent('CarbonUIExample', () => AppWithStyles)
AppRegistry.runApplication('CarbonUIExample', { rootTag: document.getElementById('root') })
Once you're installed, you can use any of Carbon UI's components:
import React from 'react'
import { Paper, Display1, FlatButton } from 'carbon-ui'
export default () =>
<Paper>
<Display1>Giant display</Display1>
<FlatButton>Flat button</Button>
</Paper>
Performance on Android
Performance on Android can get pretty slow if you're not careful. Carbon UI makes good use of the Animated API, which is particularly slow on Android.
Carbon UI optimizes a lot, using native animations and graceful degradations, and it'll generally be good-to-go out of the box.
Long term, the React Native team is doing good work to improve Animated performance.
If you run in to any snags, check out the Known issues page in the docs for tips on improving performance, or file an issue here.
This is still a beta. Expect bugs 😛
Follow the creator on Twitter, @TuckerConnelly
MIT