데브허브 | DEVHUB | Notes Desktop App With Electron JS, SQLite3, React JS, TailwindCSS, Shacdn & ZustandNotes Desktop App With Electron JS, SQLite3, React JS, TailwindCSS, Shacdn & Zustand
- TypeScript, ReactJS, Tailwind CSS, Zustand, Shadcn UI, SQLite3, Electron JS (Electron Forge)를 활용하여 기능이 풍부한 데스크톱 노트 애플리케이션을 구축하는 튜토리얼입니다. 💻
- 새 노트 생성, 새 창에서 노트 열기 및 실시간 편집 동기화, 노트 삭제, 다크 모드 지원, OS별 맞춤형 창 제어(Mac은 네이티브, Windows는 커스텀) 등 다양한 기능을 시연합니다. ✨
- Electron Forge를 사용하여 ReactJS와 TypeScript 기반 Electron 앱 개발을 간소화하며, Webpack 및 기타 필수 설정이 미리 구성되어 있어 개발 효율성을 높입니다. 🛠️
frame: false 설정을 통해 네이티브 창 프레임을 제거하고, -webkit-app-region: drag CSS 속성만으로 복잡한 JavaScript 없이 창 드래그 기능을 구현합니다. 🚀
- Redux Toolkit의 대안으로, 보일러플레이트 없이 사용하기 쉽고 상태 변경이 가능한(mutable) Zustand를 사용하여 상태를 관리하며,
persist 옵션으로 로컬 스토리지에 상태를 유지합니다. 🧠
- Shadcn UI 컴포넌트(Scroll Area, Resizable, Button)와 Tailwind CSS를 활용하여 UI를 구축하고 스타일링하며, PostCSS Loader를 통해 Webpack 환경에서 Tailwind를 통합합니다. 🎨
- 백엔드 데이터 저장소로 SQLite3를 사용하며, 별도의 복잡한 설정 없이 쉽게 통합할 수 있음을 언급합니다. 🗄️
- ReactJS 버전이 없는 Editor.js를
useEffect 훅 내에서 초기화하고, onChange 이벤트 및 API 파라미터를 통해 에디터와 상호작용하는 방법을 설명합니다. 📝
- ElectronJS의 메인 프로세스(운영체제 API 접근)와 렌더러 프로세스(브라우저 컨텍스트 접근)의 역할과 상호작용의 중요성을 간략하게 설명합니다. 🌉
tsconfig.json의 경로 별칭, Webpack 설정, global.css 통합, components.json 생성 등 Shadcn UI 및 Tailwind CSS를 위한 상세한 개발 환경 설정 과정을 안내합니다. ⚙️