Giới Thiệu
Chào mừng đến với Galaxy UI - thư viện component đa nền tảng mang đến các component đẹp mắt, dễ tiếp cận cho Vue, React, Angular, React Native và Flutter.
Galaxy UI là gì?
Galaxy UI là bộ sưu tập các component có thể tái sử dụng trải dài trên cả web và mobile. Đối với web, components được xây dựng trên Radix primitives và tạo kiểu với Tailwind CSS. Đối với mobile, React Native sử dụng NativeWind v4 và Flutter sử dụng Material Design 3. Khác với các thư viện component truyền thống, Galaxy UI theo triết lý copy-paste do shadcn/ui khởi xướng.
Tính Năng Chính
- 🎨 Hỗ Trợ Đa Nền Tảng - Vue 3, React, Angular, React Native và Flutter
- 📱 Web + Mobile - Registry riêng theo framework trên 5 nền tảng, với khác biệt phạm vi được ghi rõ
- ♿ Dễ Tiếp Cận - Xây dựng trên Radix primitives với hỗ trợ ARIA (web)
- 🎭 Tùy Chỉnh - Tailwind CSS (web) / NativeWind (RN) / Material 3 (Flutter)
- 📦 Copy-Paste - Sở hữu code của bạn, không phụ thuộc npm
- 🌙 Dark Mode - Hỗ trợ theme tối hạng nhất
- 🚀 CLI Tool - Cài đặt dễ dàng với lệnh
galaxy-design - 📱 Responsive - Thiết kế mobile-first
- 🔧 TypeScript - Type safety đầy đủ trên tất cả nền tảng
Tại Sao Copy-Paste?
Thư Viện Truyền Thống
npm install some-ui-libraryVấn Đề:
- ❌ Xung đột phiên bản
- ❌ Kích thước bundle phình to
- ❌ Tùy chỉnh hạn chế
- ❌ Thay đổi gây lỗi khi cập nhật
Cách Tiếp Cận của Galaxy UI
galaxy-design add buttonLợi Ích:
- ✅ Sở hữu toàn bộ code
- ✅ Tùy chỉnh hoàn toàn
- ✅ Không xung đột phiên bản
- ✅ Tối ưu tree-shaking
Hỗ Trợ Framework
Galaxy UI cung cấp cùng các component đẹp mắt trên ba framework chính:
Vue 3
Xây dựng với Radix Vue primitives.
<script setup lang="ts">
import { Button } from '@/components/ui/button'
</script>
<template>
<Button>Click me</Button>
</template>React
Xây dựng với Radix UI primitives.
import { Button } from "@/components/ui/button"
export default function App() {
return <Button>Click me</Button>
}Angular
Xây dựng với Radix NG primitives.
import { ButtonComponent } from '@/components/ui/button';
@Component({
template: `<ui-button>Click me</ui-button>`
})
export class AppComponent {}Cách Hoạt Động
- Khởi tạo dự án với
galaxy-design init - Thêm components bạn cần với
galaxy-design add [component] - Tùy chỉnh code đã sao chép theo nhu cầu
- Deploy ứng dụng của bạn
# Bước 1: Khởi tạo
galaxy-design init
# Bước 2: Thêm components
galaxy-design add button input card
# Bước 3: Sử dụng trong ứng dụng
# Components hiện ở trong thư mục src/components/uiKiến Trúc
Galaxy UI được xây dựng trên ba trụ cột:
1. Radix Primitives
Component không có style, dễ tiếp cận xử lý:
- ♿ Accessibility (thuộc tính ARIA)
- ⌨️ Điều hướng bàn phím
- 🎯 Quản lý focus
- 📱 Tương tác touch/mouse
2. Tailwind CSS
Framework CSS utility-first cho:
- 🎨 Tạo kiểu components
- 🌙 Dark mode
- 📱 Thiết kế responsive
- 🎭 Tùy chỉnh dễ dàng
3. Framework Wrappers
Wrapper mỏng bao quanh Radix primitives:
- Vue 3 composables
- React hooks
- Angular services
Triết Lý
Sở Hữu Code Của Bạn
Khi bạn sử dụng Galaxy UI, bạn không cài đặt một package hộp đen. Bạn đang sao chép code đã được kiểm tra kỹ, sẵn sàng production vào dự án của bạn.
Tùy Chỉnh Không Giới Hạn
Mọi component chỉ là TypeScript/JavaScript và Tailwind classes. Sửa đổi bất cứ thứ gì:
- Thay đổi màu sắc, khoảng cách, viền
- Thêm hoặc xóa tính năng
- Tích hợp với state management của bạn
- Điều chỉnh cho design system của bạn
Học Bằng Cách Đọc
Cách tốt nhất để học là đọc code. Với Galaxy UI, source code của mọi component đều có trong dự án của bạn. Học cách mọi thứ hoạt động!
Tiếp Theo?
Sẵn sàng bắt đầu? Làm theo hướng dẫn cài đặt:
Công Trạng
Galaxy UI lấy cảm hứng và được xây dựng dựa trên công việc của:
- Radix UI - React primitives không style
- Radix Vue - Phiên bản Vue của Radix UI
- Radix NG - Phiên bản Angular của Radix UI
- shadcn/ui - Copy-paste React components
- shadcn-vue - Copy-paste Vue components
- Tailwind CSS - Utility-first CSS
Tác Giả
Bùi Trọng Hiếu (kevinbui)
- GitHub: @buikevin
- Email: kevinbui210191@gmail.com
- Repository: galaxy-nebula/galaxy-design
Giấy Phép
MIT © 2025 Bùi Trọng Hiếu (kevinbui)
