opendigg / awesome-github-vue

Vue相关开源项目库汇总

Home Page:http://www.opendigg.com/tags/front-vue

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

eros | app开发解决方案

PerseveranceZ opened this issue · comments

commented

Intro

eros 是基于 weex 封装面向前端的 vue 写法的解决方案,由于 app 开发的特殊性,eros 则更偏重关心于整个 app 项目。

eros 只支持客户端。

Docs

Advantage

  • 详细的文档来解决环境搭建过程中的坑。
  • 一套代码编译成 ios,android 两端原生应用。
  • 封装了大量 module,让前端开发方便进行原生的操作。
  • 提供 appboard 机制来减少包体积,并可以对其实时修改。
  • 内置了一套完整的 widget ,可根据业务自行修改。
  • 中介者模式来集中管理业务。
  • 提供了服务器端增量发布更新逻辑。
  • 脚手架可直接生成开发最新模板。
  • 脚手架启动服务进行实时开发效果查看和 debug 调试。
  • 脚手架更新开发平台所需 eros 依赖。
  • 脚手架支持打对应平台内置包。
  • 脚手架支持生成全量包,增量包,并内置与更新服务器交互逻辑。
  • 脚手架支持同步更新模板内容。
  • 脚手架支持 weex 的 vue 入口和 js 入口两种开发方式。
  • 支持 weex debug

Disadvantage

eros 开发中也有很多限制,需要开发者自行斟酌。

  • weex 代码在浏览器端还有很多兼容性问题,所有 eros 目前不支持浏览器端
  • eros 不能使用 weex 市场,如果您有原生开发经验可以自行接入
  • 由于 eros 对 JS Bundle 运行机制采用了 appboard 机制来减少了 js bundle 的大小,导致 weex debug 需要特定的处理。
  • 由于目前开源的 weex ui 库都并不支持 tree-shaking,官方引入的 webpack 也是 1.x.x 版本,eros 脚手架即便升级了 webpack,但并未配置 tree-shaking,所以目前引入代码的方式需要限制很多写法来减少 JS Bundle 的体积,eros 后续会出对应的 UI组件库 来解决这些问题。
  • eros 打出来的包体积稍大,为解决这个问题,eros 客户端动态加载依赖正在开发中。
  • 如果遇到复杂的页面,如 IM 之类的,eros 建议用原生实现,weex 应付此类需求还是比较吃力。

Principle

工作原理
大图地址

End

感谢作者辛苦维护!!!