티스토리 뷰
오늘은 Vue 를 개발할 때 유용한 UI 프레임워크인 "Ant Design Vue(antd)" 에 대해 소개하려고 합니다. 실무에서 자주 쓰이는 antd의 특징과 사용법, 주요 태그를 알아보겠습니다.
1. Antd란?
Ant Design Vue는 Ant Design(React 기반)의 Vue 버전으로, 엔터프라이즈급 웹 애플리케이션을 빠르게 구축할 수 있게 해주는 UI 프레임워크입니다. UI 프레임워크는 스타일링과 컴포넌트를 미리 제공해 개발 속도를 높이고, 일관된 디자인을 유지하게 도와줍니다. antd는 특히 관리자 대시보드나 복잡한 UI를 다룰 때 강력합니다.
2. Antd 의 장단점
장점
- 풍부한 컴포넌트 : 버튼, 테이블, 폼 등 50개 이상의 고품질 컴포넌트 제공
- TypeScript 지원 : Vue 와 TS 에 최적화되어 타입 안정성 보장
- 커스터마이징 쉬움 : Less 기반으로 테마 변경 가능, 스타일 오버라이드도 간편
- 국제화 : 다국어(i18n) 지원 내장
- 커뮤니티와 문서 : 활발한 커뮤니티와 상세한 공식 문서
단점
- 번들 크기 : 모든 컴포넌트를 가져오면 번들이 커질 수 있음(필요시 Tree Shaking 필요)
- 학습 곡선 : 처음 사용할 때 다양한 옵션과 설정에 적응 필요
- CSS 충돌 가능성 : 외부 스타일과 겹칠 경우 :deep() 같은 조정 필요
3. 예제
설치
npm install ant-design-vue
- 먼저 프로젝트에 antd를 설치합니다.
설정
// src/main.ts
import { createApp } from 'vue';
import Antd from 'ant-design-vue';
import 'ant-design-vue/dist/reset.css'; // CSS 리셋 포함 (4.x 기준)
import App from './App.vue';
const app = createApp(App);
app.use(Antd);
app.mount('#app');
- main.ts 에서 antd를 전역으로 등록하거나, 필요한 컴포넌트만 불러옵니다.
예제 컴포넌트
<!-- src/components/HelloAntd.vue -->
<template>
<div>
<a-button type="primary" @click="showModal">모달 열기</a-button>
<a-modal v-model:open="visible" title="안녕하세요!" @ok="handleOk">
<p>Vue 3와 antd로 만든 모달입니다.</p>
</a-modal>
</div>
</template>
<script setup lang="ts">
import { ref } from 'vue';
const visible = ref(false);
const showModal = () => {
visible.value = true;
};
const handleOk = () => {
visible.value = false;
};
</script>
<style scoped>
/* 필요 시 스타일 추가 */
</style>
- <a-button> 으로 버튼을 만들고, 클릭 시 <a-model> 을 띄웁니다. v-model:open 으로 상태를 제어하며, TS로 타입 안정성을 유지합니다.
4. 다양한 태그
antd는 다양한 컴포넌트를 제공합니다. 주요 태그 몇 가지를 소개하겠습니다.
- 레이아웃
- <a-layout>, <a-row>, <a-col> : 그리드 시스템
- 입력
- <a-input> : 텍스트 입력
- <a-form> : 폼 관리
- <a-select> : 드랍다운 선택
- 네비게이션
- <a-menu> : 사이드바 메뉴
- <a-breadcrumb> : 경로 표시
- 데이터 표시
- <a-table> : 테이블
- <a-card> : 카드 UI
- 피드백
- <a-modal> : 모달 참
- <a-notification> : 알림
- 기타
- <a-button> : 버튼
- <a-tag> : 태그 표시
더 많은 컴포넌트는 공식 문서에서 확인할 수 있습니다.
5. 마무리
Ant Design Vue 는 Vue + TS 환경에서 생산성과 디자인 품질을 높여주는 훌륭한 도구입니다. 익숙해진다면 빠르게 UI를 구축할 수 있습니다.
감사합니다.
'프로그래밍 언어 > Vue.js' 카테고리의 다른 글
[Vue.js] Vue3 Options API vs Composition API (1) | 2025.01.21 |
---|---|
[Vue.js] Docker 배포 가이드 (2) | 2024.12.30 |
[Vue.js] Vue 설치방법과 간단한 예제 (1) | 2024.10.24 |
최근에 올라온 글
- Total
- Today
- Yesterday