Convert Figma logo to code with AI

akveo logoreact-native-ui-kitten

:boom: React Native UI Library based on Eva Design System :new_moon_with_face::sparkles:Dark Mode

10,268
951
10,268
175

Top Related Projects

Material Design for React Native (Android & iOS)

Mobile-first, accessible components for React Native & Web to build consistent UI across Android, iOS and Web.

UI Components Library for React Native

4,895

Customizable set of components for React Native applications

Quick Overview

React Native UI Kitten is a customizable React Native UI library with a focus on theming. It provides a set of customizable and reusable components for building mobile applications, allowing developers to create consistent and visually appealing user interfaces with ease.

Pros

  • Extensive set of pre-built, customizable UI components
  • Powerful theming system for easy customization and brand consistency
  • Seamless integration with React Native projects
  • Active community and regular updates

Cons

  • Learning curve for developers new to the library's theming system
  • Some components may require additional customization for specific use cases
  • Limited documentation for advanced usage scenarios
  • Potential performance impact with heavy customization

Code Examples

  1. Basic Button Component:
import { Button } from '@ui-kitten/components';

const MyButton = () => (
  <Button onPress={() => console.log('Button pressed')}>
    CLICK ME
  </Button>
);
  1. Themed Input Component:
import { Input } from '@ui-kitten/components';

const MyInput = () => (
  <Input
    placeholder='Enter your name'
    label='Name'
    caption='Please enter your full name'
  />
);
  1. Custom Theme Application:
import { ApplicationProvider, Layout, Text } from '@ui-kitten/components';
import * as eva from '@eva-design/eva';

const HomeScreen = () => (
  <Layout style={{flex: 1, justifyContent: 'center', alignItems: 'center'}}>
    <Text category='h1'>Welcome to UI Kitten</Text>
  </Layout>
);

export default () => (
  <ApplicationProvider {...eva} theme={eva.light}>
    <HomeScreen />
  </ApplicationProvider>
);

Getting Started

  1. Install the library:
npm install @ui-kitten/components @eva-design/eva react-native-svg
  1. Wrap your app with the ApplicationProvider:
import React from 'react';
import * as eva from '@eva-design/eva';
import { ApplicationProvider, Layout, Text } from '@ui-kitten/components';

export default () => (
  <ApplicationProvider {...eva} theme={eva.light}>
    <Layout style={{flex: 1, justifyContent: 'center', alignItems: 'center'}}>
      <Text>Welcome to UI Kitten</Text>
    </Layout>
  </ApplicationProvider>
);
  1. Start using UI Kitten components in your app!

Competitor Comparisons

Material Design for React Native (Android & iOS)

Pros of React Native Paper

  • More comprehensive component library with a wider range of UI elements
  • Better documentation and examples, making it easier for developers to get started
  • Follows Material Design guidelines more closely, ensuring a consistent look and feel

Cons of React Native Paper

  • Slightly larger bundle size, which may impact app performance
  • Less customizable theming system compared to UI Kitten's powerful theming capabilities
  • Some components may require additional setup or configuration

Code Comparison

React Native Paper:

import { Button } from 'react-native-paper';

<Button mode="contained" onPress={() => console.log('Pressed')}>
  Press me
</Button>

UI Kitten:

import { Button } from '@ui-kitten/components';

<Button onPress={() => console.log('Pressed')}>
  Press me
</Button>

Both libraries offer similar basic usage, but React Native Paper provides more built-in styling options (e.g., mode="contained"), while UI Kitten relies more on its theming system for customization.

Mobile-first, accessible components for React Native & Web to build consistent UI across Android, iOS and Web.

Pros of NativeBase

  • More extensive component library with over 40 customizable components
  • Better documentation and community support
  • Easier theming and customization with a built-in theme engine

Cons of NativeBase

  • Larger bundle size due to more components and features
  • Steeper learning curve for beginners
  • Less focus on performance optimization compared to React Native UI Kitten

Code Comparison

NativeBase:

import { Box, Text, Button } from 'native-base';

const MyComponent = () => (
  <Box>
    <Text>Hello World</Text>
    <Button>Click me</Button>
  </Box>
);

React Native UI Kitten:

import { Layout, Text, Button } from '@ui-kitten/components';

const MyComponent = () => (
  <Layout>
    <Text>Hello World</Text>
    <Button>Click me</Button>
  </Layout>
);

Both libraries offer similar component-based structures, but NativeBase uses Box as its basic layout component, while React Native UI Kitten uses Layout. NativeBase's syntax is generally more concise, but React Native UI Kitten offers more granular control over component styling and behavior.

UI Components Library for React Native

Pros of react-native-ui-lib

  • More comprehensive component library with a wider range of UI elements
  • Better documentation and examples, making it easier for developers to get started
  • Active development and frequent updates, ensuring compatibility with the latest React Native versions

Cons of react-native-ui-lib

  • Larger bundle size due to the extensive component library
  • Steeper learning curve for developers new to the library
  • Less focus on theming and customization compared to react-native-ui-kitten

Code Comparison

react-native-ui-lib:

import {View, Text, Button} from 'react-native-ui-lib';

const MyComponent = () => (
  <View>
    <Text text60>Hello World</Text>
    <Button label="Click Me" onPress={() => {}} />
  </View>
);

react-native-ui-kitten:

import {Layout, Text, Button} from '@ui-kitten/components';

const MyComponent = () => (
  <Layout>
    <Text category='h1'>Hello World</Text>
    <Button onPress={() => {}}>Click Me</Button>
  </Layout>
);

Both libraries offer similar component-based approaches, but react-native-ui-lib provides more pre-styled components and a wider range of UI elements out of the box. react-native-ui-kitten focuses more on theming and customization, allowing developers to create consistent designs across their applications more easily.

4,895

Customizable set of components for React Native applications

Pros of Shoutem UI

  • More comprehensive set of pre-built components, including navigation and layout elements
  • Stronger focus on customization and theming capabilities
  • Better documentation and examples for getting started quickly

Cons of Shoutem UI

  • Less frequent updates and maintenance compared to React Native UI Kitten
  • Steeper learning curve due to its more complex architecture
  • Larger bundle size, which may impact app performance

Code Comparison

React Native UI Kitten:

import { Button } from '@ui-kitten/components';

<Button>BUTTON</Button>

Shoutem UI:

import { Button } from '@shoutem/ui';

<Button styleName="secondary">
  <Text>BUTTON</Text>
</Button>

Summary

React Native UI Kitten offers a more lightweight and frequently updated UI library with a focus on simplicity. Shoutem UI provides a more comprehensive set of components and customization options but comes with a steeper learning curve and larger bundle size. The choice between the two depends on project requirements, desired level of customization, and development team preferences.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

UI Kitten Eva Design System npm Build Status Coverage Status

Documentation

UI Kitten is a React Native UI Library that allows you creating stunning multi-brand cross-platform mobile applications. The library is based on Eva Design System which brings consistency and scalability in the design and development process. It contains a set of general purpose UI components styled in a similar way. And the most awesome thing: the themes can be changed in the runtime, with no need to reload the application.

100% Free and Open Source!

Kitten Material link:doc-homepage

What's included

  • 25+ general-purpose components designed and tested to save your time.

  • Comprehensive clear documentation with the tons of examples.

  • Theming System - Use Light and modern Dark themes and create your own.

  • SVG Eva Icons support - 480+ general purpose icons

  • Eva Design System Support - Construct an interface using basic components following Eva specifications and it will always have a stunning design.

Starter App

Kitten Tricks – react-native starter kit allows you to boost the development of a mobile app. There is a huge variety of customizable layouts, use “as is” or add new blocks.

Over 40 screens in dark and light themes give you the possibility to create a bright and exclusive app while saving your time on compiling numerous details. Also, you can download the source code and use it for your own benefit.

Quick Start

Start a new app with UI Kitten template from a scratch:

npx react-native init MyApp --template @ui-kitten/template-js

Or, if you want to init with TypeScript:

npx react-native init MyApp --template @ui-kitten/template-ts

This will setup a new React Native application configured with UI Kitten. Refer to the Documentation for more options to start.

UI Bakery

Need to quickly build an admin panel for your mobile app? Check out UI builder UI Bakery.

How can I support the developers?

  • Star our GitHub repo :star:
  • Create pull requests, submit bugs, suggest new features or documentation updates :wrench:
  • Read us on Medium
  • Follow us on Twitter
  • Like our page on Facebook

License

MIT license.

More from Akveo

  • Eva Icons - 480+ beautiful Open Source icons

From Developers

Made with :heart: by Akveo team. Follow us on Twitter to get the latest news first! We're always happy to receive your feedback!

NPM DownloadsLast 30 Days