设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 软件追踪 查看内容

Omi v1.0震撼发布 - 令人窒息的Web组件化框架

2017-3-20 20:49| 发布者: joejoe0332| 查看: 117| 评论: 0|原作者: oschina|来自: oschina

摘要: 写在前面Omi框架经过几十个版本的迭代,越来越简便易用和强大。 经过周末的连续通宵加班加点,Omi v1.0版本终于问世。虽然版本遵循小步快跑、频繁迭代,但是Omi团队成员都有着克制之心,处女座占了半壁江山,所以Omi ...

写在前面

Omi框架经过几十个版本的迭代,越来越简便易用和强大。 经过周末的连续通宵加班加点,Omi v1.0版本终于问世。虽然版本遵循小步快跑、频繁迭代,但是Omi团队成员都有着克制之心,处女座占了半壁江山,所以Omi的API除了增量的API,其他的历史API没有任何变化。

废话不多说,这就为大家介绍到目前1.0版本为止,关于Omi,你必须知道的点点滴滴。

强大的Store系统

先说说Store系统是干什么的!

当我们组件之间,拥有共享的数据的时候,经常需要进行组件通讯。在Omi框架里,组件通讯非常方便:

  • 通过在组件上声明 data-* 传递给子节点

  • 通过在组件上声明 data 传递给子节点 (支持复杂数据类型的映射)

  • 声明 group-data 把数组里的data传给一堆组件传递(支持复杂数据类型的映射)

  • 完全面向对象,可以非常容易地拿到对象的实例,之后可以设置实例属性和调用实例的方法。比如(标记name、标记omi-id)

当然你也可以使用event emitter / pubsub库在组件之间通讯,比如这个只有 200b 的超小库mitt 。但是需要注意mitt兼容到IE9+,Omi兼容IE8。

虽然组件通讯非常方便,但是各种数据传递、组件实例互操作或者循环依赖,让代码非常难看且难以维护。所以:

Omi.Store是为了让组件通讯几乎绝迹 。虽然:

Redux 的作者 Dan Abramov 说过:Flux 架构就像眼镜:您自会知道什么时候需要它。

但是,我不会告诉你

Omi Store 系统就像眼镜:您自会知道什么时候需要它。

因为,Omi Store使用足够简便,对架构入侵性极极极小(3个极代表比极小还要小),让数据、数据逻辑和UI展现彻底分离,所以我的观点是: