Omi 4.0이 배포된후 지금까지 많은 의견, 제의 및 진지한 PR들을 받았습니다. 비록 지금까지는 모두 외국인분들이었지만, IE의 시장 점유율이 점점 감소하고 미래가 가까워짐에 따라 중국인들도 점점 Omi 받아들일것입니다. Omi 팀은 한주간 작업을했고 마침내 핵심 생태계를 만들었습니다. 이 생태계는 많은 개발자를 지원하는데 사용될 것입니다. 물론 이제 막 시작일 뿐이며 저희는 여러분들의 어떤 요청사항도 환영합니다. 그리고 [Issues](https://github.com/Tencent/omi/issues/new) 에 이슈를 등록해 주시면 빠르게 해결할 것입니다. 아래는 저희가 최근 한주간 작업한 사항에 대한 소개입니다:
| [omi-cli](https://github.com/Tencent/omi/tree/master/packages/omi-cli)| Javascript 와 Typescript Scaffolding 지원 |
|[omi-i18n](https://github.com/i18next/omi-i18n)| Omi 다국어 해결 방안 |
| [omi-transform](https://github.com/Tencent/omi/tree/master/packages/omi-transform)|Omi 와 [css3transform](https://tencent.github.io/omi/packages/omi-transform/css3transform/)는 궁합이 잘 맞습니다. 당신의 Omi 프로젝트에서 쉽게 CSS3 transform을 할 수 있습니다.|
| [omi-page](https://github.com/Tencent/omi/tree/master/packages/omi-page) | [page.js](https://github.com/visionmedia/page.js) 기반의 Omi 라우팅 |
| [omi-tap](https://github.com/Tencent/omi/tree/master/packages/omi-tap)| Omi 프로젝트의 간단한 tap 지원 |
| [omi-finger](https://github.com/Tencent/omi/tree/master/packages/omi-finger)| Omi 터치 라이브러리 |
| [omi-mobx](https://github.com/Tencent/omi/tree/master/packages/omi-mobx)| Omi Mobx 어댑터 |
|[omi element ui(working)](https://github.com/Tencent/omi/tree/master/packages/omi-element-ui)| Omi 버전의 element-ui |
|[westore](https://github.com/dntzhang/westore)| 미니프로그램 솔루션 westore 와 Omi 콜라보레이션 |
| omi 기타 | 티셔츠, 옷, 휴대폰 케이스, 가방 등 |
## 문서 다국어
현재 세 가지 언어 버전의 개발 문서가 있습니다.
| **언어** | **Quick Start** |**주요개념** |
| ----- | ----- | ----- |
| 영어 | [English](https://github.com/Tencent/omi/blob/master/README.md) |[English](https://github.com/Tencent/omi/blob/master/docs/main-concepts.md) |
개발자 도구는 [터키 개발자 F](https://github.com/f) 에 의해 개발되었습니다. [크롬 응용프로그램](https://chrome.google.com/webstore/detail/omijs-devtools/pjgglfliglbhpcpalbpeloghnbceocmd/related) 에서 설치후 사용하면 됩니다.
Cli 로 생성된 Scatffolding 프로젝트는 단일페이지 기반으로한 create-react-app 를 여러 페이지로 변환합니다. 설정 부분은 [create-react-app 사용자 가이드](https://github.com/facebook/create-react-app/blob/master/packages/react-scripts/template/README.md) 에서 확인 가능합니다.
omi-cli 에 기여해주신 [xcatliu](https://github.com/xcatliu) [uxu](https://github.com/pasturn) 두분 감사합니다.
만약 당신이 [css3transform](https://tencent.github.io/omi/packages/omi-transform/css3transform/) 를 사용해보시면 페이지를 만드는것이 얼마나 간단한지 알수 있게 될 것입니다. 현재 Omi 프로젝트에서 css3transform의 뛰어난 기능 사용을 하며 고성능을 유지할 수 있습니다:
```js
import { render, WeElement, tag, observe } from "omi";
import "omi-transform";
@observe
@tag("my-app")
class MyApp extends WeElement {
install() {
this.data.rotateZ = 30
this.linkRef = (e) => {
this.animDiv = e
}
}
installed() {
setInterval(() => {
// 느립니다. 왜냐하면 data가 update -> render -> diff -> apply diff 순으로 트리거 되기 떄문입니다.
// this.data.rotateZ += 2
// 빠릅니다. 왜냐하면 dom 을 직접 조작하기 때문입니다.
this.animDiv.rotateZ += 2
// Synchronous transform 은 update를 방지하기 위해 data 를 제공합니다.
만약 express를 안다면 page.js가 express에서 영감을 받은것을 알 수 있을 것입니다. express를 이해하신다면 빠르게 omi-page를 적용하실 수 있을겁니다.
## omi-tap
Omi는 PC 기반 웹사이트를 개발할 수 있을 뿐만 아니라, 우리는 H5라고 불리우는 Wechat 과 QQ 의 웹 페이지를 Omi 로 개발하였습니다. 그래서 omi-tap는 모바일에서 click 이벤트의 300ms 지연 문제를 해결하기 위해서 tap 이벤트를 바인딩 하였습니다. 사용방식도 매우 간단합니다:
```js
import { render, WeElement, tag } from "omi"
import "omi-tap"
@tag("my-app")
class MyApp extends WeElement {
onTap = () => {
console.log('tap')
}
render() {
return (
<omi-taponTap={this.onTap}>
<div>Tap Me!</div>
</omi-tap>
)
}
}
render(<my-app/>, "body");
```
## omi-finger
모바일에 대한 터치 인터렉션을 지원하기위해 우리는 omi-finger라는 터치 인터렉션 라이브러리를 제공합니다. 모바일 쪽에서 페이지를 열면 omi-finger 의 기능을 볼수 있습니다: