Essential cross-platform UI components for React Native
Updated docs here!
- What is NativeBase?
- Why NativeBase?
- KitchenSink App
- Getting Started
- Components
- NativeBase for Web
- Compatibility Versions
- React Native Seed
- NativeBase Market
- Documentation
- Website
- Quick Links to NativeBase
- About the creators
NativeBase is a sleek, ingenious and dynamic front-end framework created by passionate React Loving team at Geekyants.com to build cross platform Android & iOS mobile apps using ready to use generic components of React Native.
What is really great with NativeBase is that you can use shared UI cross-platform components, which will drastically increase your productivity. When using NativeBase, you can use any native third-party libraries out of the box.
Recommended by Microsoft
If you're looking to get started with React Native + CodePush, and are looking for an awesome starter kit, you should check out Native Starter Pro - Microsoft's react-native-code-push repo
Recommended by Awesome React Native
NativeBase added into the list of Frameworks of Awesome React Native and are also used by many other React lovers across the world.
a. Setup with pure React Native app
Install NativeBase
npm install native-base --save
Install Peer Dependencies
The peer dependencies included from any npm packages does not automatically get installed. Your application will not depend on it explicitly.
react-native link
You've successfully setup NativeBase with your React Native app. Your React Native app is now all set to run on iOS and Android simulator.
b. Setup with Expo
Expo helps you make React Native apps with no build configuration. It works on macOS, Windows, and Linux.
Refer this link for additional information on Expo
Install NativeBase
npm install native-base --save
Note
NativeBase uses some custom fonts that can be loaded using Font.loadAsync. Check out the Expo Font documentation.
Install Expo Fonts
expo install expo-font
App.js
import React from 'react';
import { AppLoading } from 'expo';
import { Container, Text } from 'native-base';
import * as Font from 'expo-font';
import { Ionicons } from '@expo/vector-icons';
export default class App extends React.Component {
constructor(props) {
super(props);
this.state = {
isReady: false,
};
}
async componentDidMount() {
await Font.loadAsync({
Roboto: require('native-base/Fonts/Roboto.ttf'),
Roboto_medium: require('native-base/Fonts/Roboto_medium.ttf'),
...Ionicons.font,
});
this.setState({ isReady: true });
}
render() {
if (!this.state.isReady) {
return <AppLoading />;
}
return (
<Container>
<Text>Open up App.js to start working on your app!</Text>
</Container>
);
}
}
Check out the KitchenSink with Expo for an example of the implementation.
Find the KitchenSink repo here
c. Setup with ignite-native-base-boilerplate
You can run the following command to create the boilerplate, provided you have Ignite CLI installed.
ignite new appname --boilerplate native-base-boilerplate
Go to app location
cd appname
For iOS run
react-native run-ios
For Android run
react-native run-android
Refer ignite-native-base-boilerplate page for additional information
NativeBase is made from effective building blocks referred to as components. The Components are constructed in pure React Native platform along with some JavaScript functionality with rich set of customisable properties. These components allow you to quickly build the perfect interface.
NativeBase is now available for React web lovers. Check the demo Find the repo here
NativeBase | React Native |
---|---|
v0.1.1 | v0.22 to v0.23 |
v0.2.0 to v0.3.1 | v0.24 to v0.25 |
v0.4.6 to v0.4.9 | v0.26.0 - v0.27.1 |
v0.5.0 to v0.5.15 | v0.26.0 - v0.37.0 |
v0.5.16 to v0.5.20 | v0.38.0 - v0.39.0 |
v2.0.0-alpha1 to v2.1.3 | v0.38.0 to v0.43.0 |
v2.1.4 to v2.1.5 | v0.44.0 to v0.45.0 |
v2.2.0 | v0.44.0 to v0.45.0 |
v2.2.1 | v0.46.0 and above |
v2.3.0 to 2.6.1 | v0.46.0 and above (does not support React 16.0.0-alpha.13) |
v2.7.0 | v0.56.0 and above |
React Native Seed provides you React Native starter kits for your base app with the technologies that you love.
Based on the feedback we received from our users, people had trouble sorting out the right boilerplate for them with the desired technologies and contacted us to enquire. We realized that many people were particular about the technologies they want in the app and that a minimal, neat solution was required to solve this, and hence, React Native Seed.
React Native Seed is for learners and professionals alike, those who want to experiment, learn all aspects and those who already know enough, just want a starter kit to quickly start working on their project.
Having tried with the free version, Native Starter Kit and appreciate our product?
Get on the mobile fast track with the featured apps of NativeBase, to build high-quality iOS and Android mobile apps.
A marketplace for premium React Native app themes to build high-quality iOS and Android mobile apps.
Go through NativeBase Docs to play with NativeBase.
We are GeekyAnts, a startup based in Bangalore, India with 50+ developers in strength. We have been very active in the React / React Native community where we have developed StrapUI and StartReact. Our other products include StartLaravel and StartAngular.
Another major project by us is BuilderX, a screen design tool which codes React Native for you.
This project exists thanks to all the people who contribute. [Contribute].
Become a financial contributor and help us sustain our community. [Contribute]
Support this project with your organization. Your logo will show up here with a link to your website. [Contribute]