Web Components Framework - Web组件框架
Alternatives To Omi
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Omi12,74522963 days ago278May 18, 2023104otherJavaScript
Web Components Framework - Web组件框架
Coreui Free Bootstrap Admin Template11,655337 days ago3May 25, 20175mitHTML
Free Bootstrap Admin & Dashboard Template
Sing App1,205
2 years ago7mitHandlebars
💥Free and open-source admin dashboard template built with Bootstrap 4.5 💥
Shards Dashboard1,190
10 months ago1May 14, 201914mitCSS
🔥A beautiful Bootstrap 4 admin dashboard templates pack.
Macos Enterprise Privileges1,122
20 days ago28apache-2.0Objective-C
For Mac users in an Enterprise environment, this app gives the User control over administration of their machine by elevating their level of access to Administrator privileges on macOS. Users can set the time frame using Preferences to perform specific tasks such as install or remove an application.
8 months agogpl-3.0JavaScript
Dashicons, the WordPress admin icon font. For the official resource, please see the WordPress Developer Hub.
Django Material Admin273
310 months ago144December 25, 202148mitHTML
Material design for django administration
Srtdash Admin Dashboard256
4 years ago3HTML
Free admin dashboard template
Portal Theme Bs5249
3 months ago8HTML
Portal - Free Bootstrap 5 Admin Dashboard Template For Developers
4 days ago597agpl-3.0Python
kpi is the (frontend) server for KoBoToolbox. It includes an API for users to access data and manage their forms, question library, sharing settings, create reports, and export data.
Alternatives To Omi
Select To Compare

Alternative Project Comparisons

English | 简体中文


Omi - Front End Cross-Frameworks Framework

import { tag, WeElement, h, render } from 'omi'

class HelloWorld extends WeElement {
  static css = 'p { color: red }'
  render(props) {
    return (
        <p>Hello {props.msg}</p>

render(<hello-world msg='World' />, 'body')

Why Omi?

  • Cross frameworks, components of omi are pure custom elements
  • Tiny size and High performance
  • One framework. Mobile & desktop & mini program
  • Compliance with browser trend and API design
  • Merge Web Components, JSX/TSX into one framework
  • JSX/TSX is the best development experience (code intelligent completion and tip) UI Expression with least grammatical noise and it's turing complete(template engine is not, es template string is but grammatical noise is too loud)
  • Look at Facebook React vs Web Components,Omi combines their advantages and gives developers the freedom to choose the way they like
  • Shadow DOM or Light DOM merges with Virtual DOM, Omi uses both virtual DOM and real Shadow DOM to make view updates more accurate and faster
  • Scoped CSS's best solution is Shadow DOM, the community churning out frameworks and libraries for Scoped CSS (using JS or JSON writing styles such as Radium, jsxstyle, react-style; binding to webpack using generated unique className filename-classname-hash, such as CSS Modules, Vue), are hack technologies; _and Shadow DOM Style is the perfect solution
  • Be friendly to custom elements, you can pass false attributes to elements through string '0' or string 'false', you can pass object attributes to elements through : prefix and Omi.$
  • Enhanced CSS, rpx unit support base on 750 screen width

New Project

$ npx omi-cli init my-app     # init project
$ cd my-app           
$ npm start           # develop
$ npm run build       # release

New Component

$ npx omi-cli init-component my-component     # init project
$ cd my-app           
$ npm start           # develop
$ npm run build       # release

Usage with TypeScript

Define cross-frameworks button element with TypeScript:

import { tag, WeElement, h, extractClass } from 'omi'
import * as css from './index.scss'

interface Props {
  size?: 'medium' | 'small' | 'mini',
  type?: 'primary' | 'success' | 'warning' | 'danger' | 'info' | 'text'
  plain?: boolean,
  round?: boolean,
  circle?: boolean,
  loading?: boolean,
  disabled?: boolean,
  icon?: string,
  autofocus?: boolean,
  nativeType?: 'button' | 'submit' | 'reset',
  block?: boolean
  text?: string

export default class Button extends WeElement<Props>{
  static css = css

  static defaultProps = {
    plain: false,
    round: false,
    circle: false,
    loading: false,
    disabled: false,
    autofocus: false,
    nativeType: 'button',
    block: false

  static propTypes = {
    size: String,
    type: String,
    plain: Boolean,
    round: Boolean,
    circle: Boolean,
    loading: Boolean,
    disabled: Boolean,
    icon: String,
    autofocus: Boolean,
    nativeType: String,
    block: Boolean,
    text: String

  render(props) {
    return <button disabled={props.disabled} {...extractClass(props, 'o-button', {
      ['o-button-' + props.type]: props.type,
      ['o-button-' + props.size]: props.size,
      'is-plain': props.plain,
      'is-round': props.round,
      'is-disabled': props.disabled,
      'is-block': props.block
    })} type={props.nativeType} >
      {props.loading && <i class='icon-loading'></i>}

TypeScript Auto Complete

import { h, WeElement, tag, classNames } from 'omi';
import * as styles from './_index.less';

interface ButtonProps {
  href?: string,
  disabled?: boolean,
  type?: 'default' | 'primary' | 'danger',
  htmltype?: 'submit' | 'button' | 'reset',
  onClick?: (e: any) => void

const TAG = 'o-button'

declare global {
  namespace JSX {
    interface IntrinsicElements {
      [TAG]: Omi.Props & ButtonProps

export default class oButton extends WeElement<ButtonProps> {

Browsers Support

Omi works in the latest two versions of all major browsers: Safari 10+, IE 11+, and the evergreen Chrome, Firefox, and Edge.

→ Browsers Support

→ Polyfills

<script src="[email protected]/webcomponents-bundle.js"></script>


Any form of contribution is welcome. The above contributors have been officially released by Tencent.

We very much welcome developers to contribute to Tencent's open source, and we will also give them incentives to acknowledge and thank them. Here we provide an official description of Tencent's open source contribution. Specific contribution rules for each project are formulated by the project team. Developers can choose the appropriate project and participate according to the corresponding rules. The Tencent Project Management Committee will report regularly to qualified contributors and awards will be issued by the official contact.

Please contact us for any questions.


Project Description
snake & → Touch the demo The Snake-Eating Game Based on MVP Architecture Written by Omi
custom-elements-everywhere Making sure frameworks and custom elements can be BFFs 🍻
omi-piano Build piano with Omi and Omi Snippets, Enjoy now!
omi-devtools Browser DevTools extension
omi-chart Simple HTML5 Charts using chart-x tag.
md2site Static Site Generator with markdown powered by Omio.
omi-30-seconds Useful Omi snippets that you can understand in 30 seconds.
omi-canvas Perfect fusion of web components, jsx and canvas.
omi-swiper Omi + Swiper
omi-vscode VSCode extension for omi, Install now!
omi-ex Omi.js extension(TypeScript)
omi-transform Omi / css3transform integration. Made css3 transform super easy in your Omi project.
omi-finger Support touch and gesture events in your Omi project.
omi-touch Smooth scrolling, rotation, pull to refresh and any motion for the web.
omi-i18n Internationalization solution for omi.js using i18next ecosystem
omie Build cross platform desktop apps with Omi.js and Electron.js
omi-cv Create a front-end engineer curriculum vitae, Get Started!

Useful Resources

Title Name Other language Related
Web Components bookmarks
Snake-Eating Game Making with Web Components of Omi and MVP Architecture
Constructable Stylesheets: seamless reusable styles
Web Components specifications
Web Components in a Nutshell
Using Web Components with React in 2019
Using Web Components in React
Styling We Components Using A Shared Style Sheet
Developer Tools support for Web Components in Firefox 63
Develop W3C Web Components with WebAssembly
60FPS Animation In Omi 简体中文 한국어
Shadow Dom In Depth 简体中文
Part Theme Explainer 求翻译
Web Components MDN 简体中文
Web Components Google
Web Components Org
Web Components: the Right Way
CSS Variables 简体中文 한국어
CSS Shadow Parts
Platform HTML5
The Power Of Web Components 简体中文
ShadowRoot 简体中文
slotted 简体中文


MIT © Tencent

Popular Admin Projects
Popular Icon Projects
Popular Web User Interface Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Admin Dashboard
Custom Elements
Virtual Dom
Mvp Architecture
Shadow Dom