Convert Figma logo to code with AI

akveo logonebular

:boom: Customizable Angular UI Library based on Eva Design System :new_moon_with_face::sparkles:Dark Mode

8,046
1,507
8,046
907

Top Related Projects

10,152

The Most Complete Angular UI Component Library

An enterprise-class UI design language and React UI library

39,623

🐉 Vue Component Framework

Material UI: Comprehensive React component library that implements Google's Material Design. Free forever.

Angular powered Bootstrap

Component infrastructure and Material Design components for Angular

Quick Overview

Nebular is a customizable Angular UI Library with a focus on beautiful design and extensive functionality. It provides a set of open-source UI components, auth and security solutions, and tools for creating responsive web applications. Nebular is built on top of Eva Design System, offering a consistent and modern look across all components.

Pros

  • Extensive set of customizable UI components
  • Built-in authentication and security features
  • Responsive design and mobile-friendly
  • Active development and community support

Cons

  • Learning curve for developers new to Angular
  • Some components may require additional customization for specific use cases
  • Limited documentation for advanced usage scenarios
  • Potential performance impact for large-scale applications

Code Examples

  1. Basic button usage:
import { NbButtonModule } from '@nebular/theme';

@NgModule({
  imports: [
    // ...
    NbButtonModule,
  ],
})
export class YourModule { }
<button nbButton>Click me</button>
<button nbButton status="primary">Primary</button>
<button nbButton status="success">Success</button>
  1. Using a card component:
import { NbCardModule } from '@nebular/theme';

@NgModule({
  imports: [
    // ...
    NbCardModule,
  ],
})
export class YourModule { }
<nb-card>
  <nb-card-header>Card Title</nb-card-header>
  <nb-card-body>
    Card content
  </nb-card-body>
  <nb-card-footer>Card Footer</nb-card-footer>
</nb-card>
  1. Implementing a datepicker:
import { NbDatepickerModule } from '@nebular/theme';

@NgModule({
  imports: [
    // ...
    NbDatepickerModule.forRoot(),
  ],
})
export class YourModule { }
<input nbInput placeholder="Pick Date" [nbDatepicker]="datepicker">
<nb-datepicker #datepicker></nb-datepicker>

Getting Started

  1. Install Nebular and its dependencies:
ng add @nebular/theme
  1. Import Nebular modules in your app.module.ts:
import { NbThemeModule, NbLayoutModule } from '@nebular/theme';

@NgModule({
  imports: [
    // ...
    NbThemeModule.forRoot({ name: 'default' }),
    NbLayoutModule,
  ],
})
export class AppModule { }
  1. Wrap your app component template with nb-layout:
<nb-layout>
  <nb-layout-header fixed>Company Name</nb-layout-header>
  <nb-layout-column>
    <!-- Your app content here -->
  </nb-layout-column>
</nb-layout>

Competitor Comparisons

10,152

The Most Complete Angular UI Component Library

Pros of PrimeNG

  • Larger component library with over 80 UI components
  • More extensive documentation and examples
  • Stronger community support and more frequent updates

Cons of PrimeNG

  • Steeper learning curve due to its extensive feature set
  • Potentially larger bundle size when using many components
  • Some components may require additional configuration

Code Comparison

Nebular button example:

<button nbButton status="primary">Primary</button>

PrimeNG button example:

<p-button label="Primary" styleClass="p-button-primary"></p-button>

Both libraries offer similar functionality for basic components, but their syntax and attribute names differ. PrimeNG often uses dedicated components (like p-button), while Nebular tends to use directives on standard HTML elements.

Nebular focuses on providing a cohesive design system with fewer, but highly customizable components. It's particularly well-suited for projects that prioritize a consistent look and feel.

PrimeNG offers a wider range of components and is often chosen for complex enterprise applications that require diverse UI elements. Its extensive documentation and examples make it easier to implement advanced features, but this can also lead to a steeper learning curve for developers new to the library.

An enterprise-class UI design language and React UI library

Pros of Ant Design

  • Larger community and ecosystem, with more components and third-party extensions
  • Comprehensive documentation and extensive examples
  • Better internationalization support with built-in localization for multiple languages

Cons of Ant Design

  • Steeper learning curve due to its extensive feature set
  • Heavier bundle size, which may impact initial load times
  • Less flexibility in customizing the overall design system

Code Comparison

Ant Design (React):

import { Button } from 'antd';

const MyComponent = () => (
  <Button type="primary">Click me</Button>
);

Nebular (Angular):

import { NbButtonModule } from '@nebular/theme';

@NgModule({
  imports: [NbButtonModule],
})
export class MyModule { }

// In component template
<button nbButton status="primary">Click me</button>

Both libraries offer similar component-based approaches, but Ant Design is React-focused while Nebular is designed for Angular applications. Ant Design's API tends to be more prop-based, while Nebular often uses directives for styling and behavior.

Ant Design provides a more extensive set of components out-of-the-box, which can be beneficial for rapid development. However, Nebular offers a more modular approach, allowing developers to include only the components they need, potentially resulting in smaller bundle sizes for simpler applications.

39,623

🐉 Vue Component Framework

Pros of Vuetify

  • Larger community and ecosystem, with more third-party components and resources
  • More comprehensive documentation and examples
  • Better support for mobile and responsive design out of the box

Cons of Vuetify

  • Steeper learning curve due to more complex API and configuration options
  • Larger bundle size, which may impact initial load times
  • Less flexibility in customizing the overall look and feel without extensive overrides

Code Comparison

Vuetify component usage:

<template>
  <v-app>
    <v-btn color="primary">Click me</v-btn>
  </v-app>
</template>

Nebular component usage:

<nb-layout>
  <nb-layout-column>
    <button nbButton status="primary">Click me</button>
  </nb-layout-column>
</nb-layout>

Both frameworks offer a wide range of UI components and follow a similar structure for implementation. Vuetify uses the v- prefix for its components, while Nebular uses nb- or the nb attribute. Vuetify's approach to theming and customization is more centralized, often using the $vuetify object, whereas Nebular relies more on CSS variables and theme configuration files.

Material UI: Comprehensive React component library that implements Google's Material Design. Free forever.

Pros of Material-UI

  • Larger community and ecosystem, with more extensive documentation and third-party resources
  • More comprehensive component library, covering a wider range of UI elements
  • Better TypeScript support and integration

Cons of Material-UI

  • Steeper learning curve, especially for developers new to React
  • Larger bundle size, which may impact initial load times for applications
  • More opinionated design system, which can be limiting for custom designs

Code Comparison

Material-UI:

import { Button, TextField } from '@mui/material';

function MyComponent() {
  return (
    <>
      <TextField label="Name" variant="outlined" />
      <Button variant="contained" color="primary">Submit</Button>
    </>
  );
}

Nebular:

<nb-card>
  <nb-card-body>
    <input nbInput placeholder="Name">
    <button nbButton status="primary">Submit</button>
  </nb-card-body>
</nb-card>

Material-UI uses React components and JSX syntax, while Nebular employs Angular directives and HTML templates. Material-UI offers more customization options through props, whereas Nebular relies on predefined status attributes for styling.

Angular powered Bootstrap

Pros of ng-bootstrap

  • Native Angular implementation, ensuring better integration and performance
  • Smaller bundle size, leading to faster load times
  • More frequent updates and active community support

Cons of ng-bootstrap

  • Limited set of components compared to Nebular
  • Less customizable themes and styling options
  • Lacks some advanced features like auth modules or security

Code Comparison

ng-bootstrap:

import { NgbModule } from '@ng-bootstrap/ng-bootstrap';

@NgModule({
  imports: [NgbModule],
  // ...
})
export class AppModule { }

Nebular:

import { NbThemeModule, NbLayoutModule } from '@nebular/theme';

@NgModule({
  imports: [
    NbThemeModule.forRoot({ name: 'default' }),
    NbLayoutModule,
    // ...
  ],
})
export class AppModule { }

Summary

ng-bootstrap offers a lightweight, native Angular implementation of Bootstrap components with better performance and smaller bundle size. However, it has fewer components and customization options compared to Nebular. Nebular provides a more comprehensive UI kit with additional features like auth modules and security, but may have a steeper learning curve and larger bundle size. The choice between the two depends on project requirements, desired customization level, and performance considerations.

Component infrastructure and Material Design components for Angular

Pros of Components

  • Official Angular Material library with extensive documentation and community support
  • Wider range of components and features, including complex UI elements like data tables and tree views
  • Seamless integration with Angular's ecosystem and tooling

Cons of Components

  • Steeper learning curve due to its comprehensive nature
  • Less flexibility in customization compared to Nebular's theme system
  • Heavier bundle size, which may impact application performance

Code Comparison

Components:

import { MatButtonModule } from '@angular/material/button';

@NgModule({
  imports: [MatButtonModule],
})
export class AppModule { }

Nebular:

import { NbButtonModule } from '@nebular/theme';

@NgModule({
  imports: [NbButtonModule],
})
export class AppModule { }

Both libraries offer similar module-based imports, but Components uses a more granular approach with separate imports for each component category.

Summary

Components is the official Angular UI library, offering a wide range of well-documented components and tight integration with the Angular ecosystem. It's ideal for large-scale projects requiring extensive UI elements. Nebular, while less comprehensive, provides a more flexible theming system and may be easier to customize for specific design needs. The choice between the two depends on project requirements, team expertise, and desired customization level.

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

Nebular Eva Design System npm npm Codecov

Documentation | Stackblitz Template | Angular templates

Nebular is a customizable Angular UI Library with a focus on beautiful design and ability to adapt it to your brand easily. It comes with 4 stunning visual themes, a powerful theming engine with runtime theme switching and support of custom css properties mode. Nebular is based on Eva Design System specifications.

What's included

  • 4 Visual Themes, including new Dark easily customizable to your brand
  • 35+ Angular UI components with a bunch of handy settings and configurations
  • Configurable options - colors, sizes, appearances, shapes, and other useful settings
  • 3 Auth strategies and Security - authentication and security layer easily configurable for your API
  • Powerful theming engine with custom CSS properties mode
  • SVG Eva Icons support - 480+ general purpose icons

Repository state and engagement with the community

Repository is currently in a state of minimal maintenance. Our primary focus is on ensuring that the Angular version used in this project is kept up to date. Our capacity to engage in other aspects of repository management is currently limited.

We are not actively reviewing or merging pull requests, responding to or resolving issues at this time. We appreciate the effort and contributions from the community and we understand that issues are crucial for the community. But now our current focus is solely on maintaining Angular.

Quick Start

You can install Nebular with Angular CLI:

ng add @nebular/theme

Configuration will be done automatically.

If you want to have more control over setup process you can use manual setup guide.

Browser Support

Nebular supports most recent browsers. Browser support list can be found here.

Starters

  • ngx-admin - 20k+ stars application based on Nebular modules with beautiful E-Commerce & IOT components, for boosting your developing process. Live Demo.
  • ngx-admin-starter - clean application based on Nebular modules with a limited number of additional dependencies.

UI Bakery

Need a visual admin dashboard builder? Check out UI Bakery.

License

MIT license.

More from Akveo

  • Eva Icons - 480+ beautiful Open Source icons
  • Akveo templates - 10+ Ready-to-use apps templates to speed up your apps developments

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 :feet:
  • Like our page on Facebook :thumbsup:

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