5dec136dad | ||
---|---|---|
.. | ||
config | ||
dist | ||
examples | ||
src | ||
test | ||
.babelrc | ||
.editorconfig | ||
.eslintignore | ||
.eslintrc | ||
.flowconfig | ||
README.md | ||
package.json | ||
typings.json |
README.md
Omi: Next Generation Web Framework in 4kb JavaScript
Merge JSX, Web Components, Proxy, Store, Path Updating together
Why Omi?
- Tiny size. (4kb gzipped)
- Supports TypeScript.
- Reactive data-binding
- Based on Shadow DOM
- Easy to debug via Omi DevTools Extension [Install from Chrome WebStore]
- Compliance with browser trend and API design.
- Merge Web Components and JSX into one framework.
- Work well with mobx by omi-mobx (No need to call
this.update()
). - Web Components can also be a data-driven view,
UI = fn(data)
. - JSX is the best development experience (code intelligent completion and tip) UI Expression with least grammatical noise.
- The original Path Updating system. Proxy-based automatic accurate update, low power consumption, high degree of freedom, excellent performance, easy integration of
requestIdleCallback
- Say goodbye to
this.update
method when using store system! It will automatically update UI partially when data is changed. - Look at Facebook React vs Web Components,Omi combines their advantages and gives developers the freedom to choose the way they like.
- Shadow DOM merges with Virtual DOM, Omi uses both virtual DOM and real Shadow DOM to make view updates more accurate and faster.
- With a Store system, 99.9% of projects don't need time travel, and not only Redux can travel, please don't come up on Redux, Omi store system can meet all projects
- 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.
Ecosystem of Omi
Project | Description |
---|---|
omi-docs | Omi official documents |
omi-devtools | Browser DevTools extension |
omi-cli | Project scaffolding |
omi-i18n | Internationalization solution for omi.js using i18next ecosystem |
omi-transform | Omi / css3transform integration. Made css3 transform super easy in your Omi project. |
omi-page | Tiny client-side router by page |
omi-tap | Support tap event in your omi project |
omi-mobx | Omi Mobx Adapter |
omi element ui(working) | Omi version of element-ui |
Other:
Contribution
- Fork it (https://github.com/Tencent/omi/fork)
- Create your branch (
git checkout -b my-urgent-hotfix
) - Commit your changes (
git commit -am 'Fixed something'
) - Push to the branch (
git push origin my-urgent-hotfix
) - Create a new Pull Request
Please contact us for any questions:
License
MIT © Tencent