About this project

Omi is a Web Components framework developed by Tencent. It emphasizes small bundle size and high performance while providing a comprehensive set of features for building modern web applications and reusable components. Key features include: - **Signal-driven reactive programming** via the `reactive-signal` package, enabling fine-grained reactivity and automatic UI updates. - **JSX support** with a familiar syntax, including automatic `h` import injection via Vite configuration. - **Web Components standard** compliance, allowing components to be used across different frameworks (e.g., Vue, React) with minimal effort. - **Router, Suspense, and Directives** for building SPAs and handling asynchronous dependencies. - **Constructable Stylesheets** for efficient style management and sharing. - **Tailwindcss integration** and a collection of starter kits and UI components. The repository includes multiple packages: - Core: `omi`, `omi-form`, `lucide-omi`, `omiu`, `omi-router`, `omi-cli`. - Starter kits: `omi-elements`, `omi-starter-spa`, `omi-starter-ts`, `omi-starter-tailwind`, `omi-starter-js`, `omi-vue`. - Components: `omi-weui`, `omi-auto-animate`, `omi-suspense`. - Directives: `omi-transition`, `omi-ripple`. - Examples: `snake-game-2tier`, `snake-game-3tier`, `omi-tutorial`. Usage examples demonstrate both object-oriented (OOP) and data-oriented (DOP) programming styles, with a TodoApp example using signals and computed values. Cross-framework usage is illustrated with Vue and React examples, showing how Omi components can be integrated and communicate via custom events. The project is open-source under the MIT license and encourages community contributions and sharing.