NativeBase
Essential cross-platform UI components for React Native
Updated docs here!
Table of Content
- 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
1. What is NativeBase?
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.
2. Why NativeBase?
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.
4. Getting Started
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
Note: If you are using react-native version 0.60 or higher you don't need to link any package.
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.
5. Components
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.
6. NativeBase for Web
NativeBase is now available for React web lovers. Check the demo. Find the repo here.
7. Compatibility Versions
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
8.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.
9. NativeBase Market
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.
10. Documentation
Go through NativeBase Docs to play with NativeBase.
11. Website
12. Quick Links to NativeBase
13. About the creators
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.
Contributors
Code Contributors
This project exists thanks to all the people who contribute. [Contribute].
Financial Contributors
Become a financial contributor and help us sustain our community. [Contribute]
Individuals
Organizations
Support this project with your organization. Your logo will show up here with a link to your website. [Contribute]