评论

跨界 - Omi 发布多端统一框架 Omip 打通小程序与 Web

Omi 框架是腾讯研发的下一代前端框架, 基于 Web Components 规范设计的组件化框架,可以开发 PC Web、移动端 H5,也可以直接使用 Omi 开发小程序。

Omip

今天,Omi 不仅仅可以开发桌面 Web、移动 H5,还可以直接开发小程序!直接开发小程序!直接开发小程序!

Omi 简介

Omi 框架是腾讯研发的下一代前端框架, 基于 Web Components 规范设计的组件化框架,可以开发 PC Web、移动端 H5,也可以直接使用 Omi 开发小程序。Omi 服务于腾讯的 H5 页面, PC 网站以及腾讯内部的一些管理系统和小程序等。自去年年底开源以来,该项目共获得 Star 数 7000+,贡献者 40+。Omi 借助京东 O2Team 优秀的 taro 多端统一框架,以及 Omi 开发团队和社区贡献者近期的共同努力,使 Omi 打通了小程序与 Web。细心的用户会发现,Omi 的 slogan 从 下一代 Web 框架 变更为 下一代前端框架, 因为 Omip 的加入,Omi 生于 Web 却能脱离 Web。

同样的语法,同样的书写格式,运行在不同的平台、不同的环境,除了一些平台特有的API,几乎不用任何改动! 老的 Omi 项目做一些极其微小的改动(平台特性相关)就能跑在安卓/IOS的小程序里。

  • Learn Once, Write Anywhere
  • Write Once, Run Anywhere

Omip 特性

  • 一次学习,多处开发,一次开发,多处运行
  • 使用 JSX,表达能力和编程体验大于模板
  • 支持使用 npm/yarn 安装管理第三方依赖
  • 支持使用 ES6+
  • 支持使用 CSS 预编译器
  • 小程序 API 优化,异步 API Promise 化
  • 超轻量的依赖包,顺从小程序标签和组件的设计

快速开始

npm i omi-cli -g
omi init-p my-app
cd my-app
npm start        //开发小程序
npm run dev:h5   //开发 h5
npm run build:h5 //发布 h5

把小程序目录设置到 dist 目录就可以愉快地调试了!

node 版本要求 >= 8

也支持一条命令 npx omi-cli init-p my-app (npm v5.2.0+)

当然也支持 TypeScript:

omi init-p-ts my-app

TypeScript 的其他命令和上面一样,也支持小程序和 h5 SPA 开发。

Omip 多端示例


Omi 其他

社区化发展,欢迎加入并贡献社区

目前 Omi 的贡献者遍布国内外各大公司(中国、韩国、美国、土耳其),Omi 共接受了快 40 位贡献者的文档和代码提交,核心贡献者共 11 名。欢迎有想法有能力有激情的开发者加入贡献者行列并最终能够进入 Omi Team。

你可以从这几个方面贡献:

1.翻译文档,目前有中文、英文和韩文,欢迎其他语言版本的翻译加入
2.提交补丁代码优化 Omi
3.积极参与 Issue 的讨论,如答疑解惑、提供想法或报告无法解决的错误
4.贡献案例,可以是管理后台、PC 网站、移动端 H5等等
5.完善文档,可以反复修正文档,让其更易懂,上手更快
6.扩展 Omi 生态,编写 Omi 自定义组件
7.分享与 Omi 的故事
8.写 Omi 相关的 blog

我们非常欢迎开发者们为腾讯开源贡献一份力量,相应也将给予贡献者激励以表认可与感谢。参见腾讯贡献者激励计划

Omi 交流群

欢迎加入Omi交流群,群聊号码:256426170,也可扫码加入:

感谢

  • 感谢京东 O2Team taro 项目
  • 感谢京东 O2Team taro 团队

Github

https://github.com/Tencent/omi

最后一次编辑于  2019-03-20  
点赞 5
收藏
评论

18 个评论

  • 河西石
    河西石
    2019-02-28

    好东西,赞!

    2019-02-28
    赞同 1
    回复
  • 李泡泡
    李泡泡
    2019-02-28

    支持支持!!

    2019-02-28
    赞同 1
    回复
  • 小样
    小样
    2020-03-07


    Omi is not defined


    2020-03-07
    赞同
    回复
  • trent
    trent
    2019-04-09

    用了omi,项目中原有的we-cropper报错了,

    undefined is not an object (evaluating 'this.wecropper.touchEnd');at pages/upload/upload page touchEnd function

    用的wecropperv1.1.5

    我用了几款机器测试都没有问题,只是上线后有的用户会报这个错误,在运维中心的监控报的这个错。

    2019-04-09
    赞同
    回复 3
    • dntzhang(张磊)
      dntzhang(张磊)
      2019-04-10

      omip 项目用了 we-cropper 是吗?

      2019-04-10
      回复
    • trent
      trent
      2019-04-10回复dntzhang(张磊)

      是的,用到了图片裁剪功能

      2019-04-10
      回复
    • Sail
      Sail
      2019-04-10回复trent

      能否提供下相关的代码片段,另外建议 we-cropper 升级到最新的 v1.3.5 版本

      2019-04-10
      回复
  • @
    @
    2019-03-16

    omix能否增加页面级别的混入或者路由钩子

    2019-03-16
    赞同
    回复
  • tao-cht
    tao-cht
    2019-03-01


    请教一下为什么没有小程序模板

    2019-03-01
    赞同
    回复 4
  • TNT
    TNT
    2019-03-01

    哈。。现在用的滴滴的Chameleon

    2019-03-01
    赞同
    回复
  • 藤井树
    藤井树
    2019-03-01

    其实为何 不能由小程序 去转换生成H5,非要其他的来转小程序。这个需求提了很多次

    2019-03-01
    赞同
    回复 1
    • dntzhang(张磊)
      dntzhang(张磊)
      2019-03-01

      omi-mp 就是小程序转 h5

      2019-03-01
      1
      回复

正在加载...

登录 后发表内容