通知:已迁移新的项目和文档 https://bmfe.github.io/eros-docs/#/zh-cn/
目前稳定版本v2主页及其地址已经迁移到如下地址:
v1版本只会在修复bug,建议迁移到v2,这花费不了您太多时间。
同时也欢迎大家加入 eros QQ开发群一起讨论,在开发过程中如果遇到任何问题,我们将尽快为您答复。
一群(667379588)
二群(798677297)
weex-eros
eros 是基于 weex 封装面向前端的 Vue2 写法的解决方案。
eros 的定位不是组件库(后续当然会拓展),由于 app 开发的特殊性,他则更偏重关心于整个 app 项目,他的优势在于我们对 weex 官方的二次封装,能及时跟进 weex 的新特性,并通过脚手架支持更新 module,widget 等机制,让熟悉 Vue 的同学都能更少的关注Weex版本升级和本身的兼容性问题,快速进行业务迭代 ,也让前端和客户端能通过 weex 底层机制来进行交互。
基于 weex 我们已经有两个项目已经发布上线,并且体验得到 weex 相关开发者的认可,weex 的解决方案是值得大家实践的。每次 weex 的更新都能带来惊喜,weex-eros 是我们总结出来的一套混合应用的解决方案,更多的是对 weex 的扩展,解决实际开发问题,我们从 weex 开发中得到了非常多的收益,更希望通过我们的力量推动 weex 的发展。
当然,在您的 PC 上运行 eros,是非常简单的,当您下载好周边所有的工具和库的时候,只需几行命令,配置好本地的 host 和对应的 config.json 文件,便可以进行开发,脚手架也提供指令来更新 eros 基础库,而您无需关心 weex 的版本,因为已经内嵌到基础库中。
为什么会有 weex-eros?
weex 开发痛点:
weex 在初始化时,启动环境会遇到种种问题;
weex 项目工程化没有很好的解决方案;
weex 的业务写法前端接受程度不高,编译环境需要二次配置;
weex 版本升级之后,当前应用扩展设计不足导致很难升级 SDK;
随着业务的发展需要对 weex 的 modules 和 components 进行扩展,前端同学的原生扩展能力有限,官方更新不够快;
没有配套的增量升级的方案;
没有成套的 UI 组件进行简易 APP 快速开发;
我们能帮助解决:
通过脚手架,初始化出完整的项目工程目录;
一键启动服务进行实时开发效果查看和 debug 调试,vue、sass、stylus、less、babel等编译都支持
(安卓端目前debug调试有问题,我们在抓紧修复)(安卓端目前已可以 debug);实时跟进最新的 SDK,一键命令升级现有工程,使工程实时跟进官方 weex 版本;
快速响应大家的需求,增加扩展 components 和 modules,简易的调用方式,灵活的扩展业务;
完整的差分包更新方案,快速发布上线业务及更新;
bui 和 weex-ui 的内嵌集成和更新;
工作原理
前期准备
在开发之前可能需要了解一些基础的技术,我们是在下面这些基础知识之上进行开发的。
weex
整体是基于 weex 进行的二次开发,对 weex 进行了二次包装,除了语法上是使用 Vue2,其他 components 和 module(希望使用我们推荐的方式)都可以使用官方的,并且我们更希望开发者能了解 weex 的大致的实现原理,对开发应用会更有帮助。
业务搭建时,语法都是用 Vue2,支持所有 Vue2 的语法特性。
BMFE_scaffold
前端脚手架,支持前端从项目创建到项目发布间的所有自动化工作。
支持性
只支持纯 weex 的 Vue 多页面应用开发,正在逐步实现对已有工程的集成方案。(多页面在 weex 使用中性能会更好,页面间切换的动画可以是原生动画)
目前只支持 iOS 和 Android 的开发,暂不支持 web 。目前 Mac 版 和 Windows 下都能进行开发,但是推荐使用 Mac 开发,window 会遇到很多 node-sass 的环境问题(w eb 和 native 的交互及用户习惯会有差别,两者所承载的侧重点也会有差别,所以一套开发多套使用并没有让多端更精细化,web 更多是降级方案,但是目前 weex-eros 有内置包和完备的远程更新方案,所以需要降级的场景基本不会出现)