Top Related Projects
Deliver web apps with confidence 🚀
Angular powered Bootstrap
The Most Complete Angular UI Component Library
:boom: Customizable Angular UI Library based on Eva Design System :new_moon_with_face::sparkles:Dark Mode
Clarity is a scalable, accessible, customizable, open source design system built with web components. Works with any JavaScript framework, built for enterprises, and designed to be inclusive.
An enterprise-class UI design language and React UI library
Quick Overview
ng-devui is an open-source Angular UI component library developed by DevCloud. It provides a comprehensive set of customizable and reusable components for building modern web applications. The library focuses on enterprise-level UI design and functionality, offering a rich set of features and tools for developers.
Pros
- Extensive collection of UI components tailored for enterprise applications
- Consistent and customizable design system
- Regular updates and active community support
- Comprehensive documentation and examples
Cons
- Learning curve for developers new to Angular or complex UI libraries
- Some components may have limited customization options
- Potential performance impact on smaller applications due to the library's size
- Limited third-party ecosystem compared to more established UI libraries
Code Examples
- Basic Button Usage:
import { ButtonModule } from 'ng-devui';
@NgModule({
imports: [ButtonModule]
})
export class AppModule { }
// In component template
<d-button>Click me</d-button>
- Data Table with Pagination:
import { DataTableModule } from 'ng-devui';
@Component({
template: `
<d-data-table [dataSource]="dataSource" [pager]="pager">
<d-column field="name" header="Name"></d-column>
<d-column field="age" header="Age"></d-column>
</d-data-table>
`
})
export class MyComponent {
dataSource: any[] = [
{ name: 'John', age: 30 },
{ name: 'Jane', age: 25 }
];
pager = {
total: 100,
pageIndex: 1,
pageSize: 10
};
}
- Modal Dialog:
import { ModalModule } from 'ng-devui';
@Component({
template: `
<d-button (click)="openModal()">Open Modal</d-button>
<d-modal [(visible)]="isModalVisible">
<d-modal-header>
<h3>Modal Title</h3>
</d-modal-header>
<d-modal-content>
Modal content goes here
</d-modal-content>
<d-modal-footer>
<d-button (click)="isModalVisible = false">Close</d-button>
</d-modal-footer>
</d-modal>
`
})
export class MyComponent {
isModalVisible = false;
openModal() {
this.isModalVisible = true;
}
}
Getting Started
-
Install ng-devui in your Angular project:
npm install ng-devui
-
Import the required modules in your
app.module.ts
:import { ButtonModule, DataTableModule, ModalModule } from 'ng-devui'; @NgModule({ imports: [ ButtonModule, DataTableModule, ModalModule ] }) export class AppModule { }
-
Use ng-devui components in your templates:
<d-button>Click me</d-button>
-
Add the ng-devui styles to your
angular.json
:"styles": [ "node_modules/ng-devui/devui.min.css" ]
Competitor Comparisons
Deliver web apps with confidence 🚀
Pros of Angular
- Comprehensive framework with a full ecosystem
- Backed by Google, ensuring long-term support and updates
- Extensive documentation and large community
Cons of Angular
- Steeper learning curve for beginners
- Larger bundle size, potentially impacting initial load times
- More opinionated, which can limit flexibility in some cases
Code Comparison
Angular:
@Component({
selector: 'app-root',
template: '<h1>{{title}}</h1>'
})
export class AppComponent {
title = 'My Angular App';
}
ng-devui:
@Component({
selector: 'd-button',
template: '<button class="devui-btn">{{label}}</button>'
})
export class ButtonComponent {
@Input() label: string;
}
Key Differences
- Angular is a full-fledged framework, while ng-devui is a UI component library built on top of Angular
- ng-devui focuses on providing pre-built UI components, whereas Angular offers a complete application architecture
- Angular has a more extensive set of features for building complex applications, while ng-devui specializes in UI elements
Use Cases
- Choose Angular for building large-scale, feature-rich applications
- Opt for ng-devui when you need a set of ready-to-use Angular components to enhance your existing Angular project's UI
Community and Support
- Angular has a massive community and extensive third-party resources
- ng-devui has a smaller but growing community, focused on UI component development
Angular powered Bootstrap
Pros of ng-bootstrap
- More mature and widely adopted in the Angular community
- Extensive documentation and community support
- Seamless integration with Bootstrap's CSS framework
Cons of ng-bootstrap
- Limited customization options for component styles
- Slower release cycle for new features and updates
- Heavier dependency on Bootstrap's CSS, which may increase bundle size
Code Comparison
ng-bootstrap:
import { NgbModule } from '@ng-bootstrap/ng-bootstrap';
@NgModule({
imports: [NgbModule],
// ...
})
export class AppModule { }
ng-devui:
import { DevUIModule } from 'ng-devui';
@NgModule({
imports: [DevUIModule],
// ...
})
export class AppModule { }
Both libraries offer similar module import patterns, making it easy to integrate into Angular applications. The main difference lies in the specific components and features provided by each library.
ng-bootstrap focuses on providing Angular implementations of Bootstrap components, while ng-devui offers a more comprehensive set of UI components with additional features and customization options. ng-devui also includes some enterprise-oriented components that may not be available in ng-bootstrap.
When choosing between the two, consider factors such as project requirements, desired customization level, and familiarity with Bootstrap or DevUI design systems.
The Most Complete Angular UI Component Library
Pros of PrimeNG
- Larger community and more extensive documentation
- Wider range of UI components and themes
- Better integration with Angular ecosystem
Cons of PrimeNG
- Steeper learning curve for beginners
- Heavier bundle size due to comprehensive feature set
- Some components may require additional configuration
Code Comparison
PrimeNG:
<p-table [value]="products">
<ng-template pTemplate="header">
<tr>
<th>Name</th>
<th>Price</th>
</tr>
</ng-template>
<ng-template pTemplate="body" let-product>
<tr>
<td>{{product.name}}</td>
<td>{{product.price}}</td>
</tr>
</ng-template>
</p-table>
ng-devui:
<d-data-table [dataSource]="products">
<d-column field="name" header="Name"></d-column>
<d-column field="price" header="Price"></d-column>
</d-data-table>
Both libraries offer robust UI component sets for Angular applications. PrimeNG provides a more extensive collection of components and themes, making it suitable for larger, complex projects. It benefits from a larger community and more comprehensive documentation. However, this comes at the cost of a steeper learning curve and potentially larger bundle sizes.
ng-devui, while having fewer components, offers a simpler API and may be easier for beginners to adopt. Its lightweight nature could be advantageous for smaller projects or those with strict performance requirements.
The code comparison demonstrates that both libraries provide similar functionality for common components like data tables, with PrimeNG offering more customization options through templates, while ng-devui opts for a more concise syntax.
:boom: Customizable Angular UI Library based on Eva Design System :new_moon_with_face::sparkles:Dark Mode
Pros of Nebular
- More comprehensive UI kit with a wider range of components
- Stronger focus on theming and customization options
- Better documentation and examples for developers
Cons of Nebular
- Steeper learning curve due to its complexity
- Larger bundle size, which may impact performance
- Less frequent updates compared to ng-devui
Code Comparison
ng-devui:
import { DevUIModule } from 'ng-devui';
@NgModule({
imports: [DevUIModule]
})
export class AppModule { }
Nebular:
import { NbThemeModule, NbLayoutModule } from '@nebular/theme';
@NgModule({
imports: [
NbThemeModule.forRoot({ name: 'default' }),
NbLayoutModule
]
})
export class AppModule { }
Both libraries offer Angular-based UI components, but Nebular provides a more extensive set of features and customization options. ng-devui has a simpler setup process and smaller footprint, making it easier to integrate into existing projects. Nebular's theming system is more robust, allowing for greater flexibility in design. However, this comes at the cost of increased complexity and potential performance impact. Developers should consider their project requirements and team expertise when choosing between these libraries.
Clarity is a scalable, accessible, customizable, open source design system built with web components. Works with any JavaScript framework, built for enterprises, and designed to be inclusive.
Pros of Clarity
- More comprehensive design system with extensive documentation
- Larger community and wider adoption in enterprise applications
- Better accessibility features and compliance with WCAG guidelines
Cons of Clarity
- Steeper learning curve due to its extensive component library
- Heavier bundle size, which may impact performance in smaller applications
- Less frequent updates and slower release cycle
Code Comparison
ng-devui example:
import { DevUIModule } from 'ng-devui';
@NgModule({
imports: [DevUIModule]
})
export class AppModule { }
Clarity example:
import { ClarityModule } from '@clr/angular';
@NgModule({
imports: [ClarityModule]
})
export class AppModule { }
Both libraries offer similar module import patterns, making integration straightforward in Angular applications. However, Clarity's module is more comprehensive, potentially leading to larger bundle sizes if not properly tree-shaken.
ng-devui focuses on providing lightweight, customizable components, while Clarity offers a more opinionated and complete design system. The choice between the two depends on project requirements, team familiarity, and performance considerations.
An enterprise-class UI design language and React UI library
Pros of Ant Design
- Larger community and ecosystem, with more third-party components and resources
- More comprehensive documentation and examples
- Wider adoption in the React ecosystem, potentially leading to better long-term support
Cons of Ant Design
- Steeper learning curve due to its extensive feature set
- Larger bundle size, which may impact performance in smaller applications
- Less flexibility in customization compared to ng-devui's approach
Code Comparison
ng-devui (Angular):
import { DevUIModule } from 'ng-devui';
@NgModule({
imports: [DevUIModule]
})
export class AppModule { }
Ant Design (React):
import { Button } from 'antd';
const App = () => (
<Button type="primary">Click me</Button>
);
Both libraries offer a component-based approach, but ng-devui is specifically designed for Angular applications, while Ant Design is primarily used with React. The code snippets demonstrate the basic usage of each library, highlighting the different frameworks they target.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
DevUI for Angular
The DevUI Design Design system contains a combination of DevUI rules, Design languages, and best practices. DevUI Design allows developers to focus more on application logic, while designers focus on user experience, interactions, and processes.Features
- Enterprise components, supporting design specifications, font icon library
- Out of the box
To see more in devui.design.
Angular Support
Now supports Angular ^17.0.0
Getting Started
- Create a new project
ng new New-Project
- Installation:
$ cd New-Project
$ npm i ng-devui
# font icon library
# $ npm i @devui-design/icons
- Usage:
import { BrowserModule } from '@angular/platform-browser';
// need for animations
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { NgModule } from '@angular/core';
import { DevUIModule } from 'ng-devui';
import { AppComponent } from './app.component';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
BrowserAnimationsModule,
DevUIModule
],
bootstrap: [ AppComponent ],
})
export class AppModule { }
- Import devui style into
angular.json
file:
{
"styles": [
...
"node_modules/ng-devui/devui.min.css"
]
}
- Debugging
ng serve --open
Contribution
Please feel free to contribute code or discuss your idea!
Please make sure you read the contributing guide before making a pull request.
We appreciate all contributors who helped us build DevUI.
Support
Modern browsers and Internet Explorer 11+.
IE / Edge | Firefox | Chrome | Safari | Opera |
---|---|---|---|---|
Edge | last 2 versions | last 2 versions | last 2 versions | last 2 versions |
Partner project
Who use it
LICENSE
Top Related Projects
Deliver web apps with confidence 🚀
Angular powered Bootstrap
The Most Complete Angular UI Component Library
:boom: Customizable Angular UI Library based on Eva Design System :new_moon_with_face::sparkles:Dark Mode
Clarity is a scalable, accessible, customizable, open source design system built with web components. Works with any JavaScript framework, built for enterprises, and designed to be inclusive.
An enterprise-class UI design language and React UI library
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot