Awesome
介绍
eros 是基于 weex 封装面向前端的 vue 写法的解决方案,由于 app 开发的特殊性,eros 则更偏重关心于整个 app 项目。
<!--| Eros iOS gif | Eros Android gif | |---------|---------| |[eros-demo](https://bmfe.github.io/eros-docs/zh-cn/image/show.gif)|[eros-demo](https://bmfe.github.io/eros-docs/zh-cn/image/androidDemo.gif)|-->Android download QR code |
---|
开发者可以扫描二维码来下载 Android 版本 eros app 来进行体验,iOS 请自行按照教程运行 demo 查看效果;
开发之前你需要知道
如果您是前端开发者:
- 一定要熟练使用 vue 开发
- 一定要详细阅读 weex 的文档,尤其是与 web 环境,vue 开发差异的部分。
- 在开发客户端应用中,会有遇到无数的环境问题,程序问题,代码问题,绝大多数问题都可以在网上查到对应解决方案,在提出问题或者 issue 的时候,还请先自行尝试解决,eros 的环境安装会耗费很长的时间,你懂的。
- 需要熟悉客户端开发打包流程。
很多前端开发者在环境问题上便半途而废了,不过 eros 会一直完善文档,开发群中也会有大量开发者为您解答,还请保持一颗有始有终的心,会有收获的。
如果您是客户端开发者:
那么环境您会迅速搭建起来,然后跟着熟读 vue,weex 的文档,因为 vue 上手非常快,最后跟着 eros 的新手教程写几个 demo 便可以开始开发,还可以轻松拓展 module。
必备知识
开发之前您需要学习 weex 知识,并且能熟练使用 vue 开发,文档地址如下。
支持性
跟随着 weex 的支持性,
但目前我们并不支持开发代码兼容 web 端
- Android 4.1 (API 16)
- iOS 8.0+
- WebKit 534.30+
eros 优点
eros 提供了:
- 详细的文档来解决环境搭建过程中的坑。
- 一套代码编译成 ios,android 两端原生应用。
- 封装了大量 weex module,让前端开发方便进行原生的操作。
- 支持大量
echart
实例运行。 - 可以通过
appboard
机制来减少多页面项目中的代码冗余,减少包体积,并可以对其实时修改。 - 内置了一套完整的 JS 二次封装 module (widget) ,直接通过 vue 插件系统注入,直接在
this
上调用,可根据业务自行修改。 - 内置了中介者服务,来进行多个页面间的交互,并可以管理业务。
- 内置了服务器端增量发布更新逻辑,可以搭配着开源的简易增量发布系统一起使用。
- 支持真机和模拟器通过
weex debug
来断点调试,程序报错均会有报错日志弹窗提示。
可以通过脚手架:
- 直接生成开发最新模板。
- 启动服务进行实时开发效果查看和 debug 调试。
- 更新开发平台所需 eros 依赖。
- 直接
pack
对应平台内置JS Bundle
。 - 支持生成全量包,增量包,并内置与更新服务器交互逻辑。
- 支持同步更新模板内容。
- 支持 weex 的 vue 入口和 js 入口两种开发方式。
支持市面上流行的组件库:
eros 不足
eros 开发中也有很多限制,需要开发者自行斟酌。
- 尽管 weex 支持编译三端,但 eros 目前不支持浏览器端,目前只会专注于原生。
- eros 暂时不能自动使用 weex 市场,但如果您有原生开发经验可以自行接入。
- 由于 eros 对 JS Bundle 运行机制采用了 appboard 机制来减少了 js bundle 的大小,导致 weex debug 需要特定的处理。
- 如果遇到复杂的页面,如 IM 之类的,eros 建议用原生实现,weex 应付此类需求还是比较吃力。
原理视图
开源现状
目前 eros
已有数十个 app 在开发中和上线的状态,其中有正在开发中的国外应用 starLife(100+页面),也有国内正在开发的蜂觅(60+ 页面),还有已上线的应用都在 0-50+ 页面不等,涉及行业分布于资讯,招商,购物,政府,办公等等。
后续版本中会陆续展示优秀项目到首页,所以开发者大可放心,已基于 MIT 协议开源。
周边系统
Project | Description |
---|---|
eros-cli | 简单的 eros 项目构建工具,可以提供搭建,开发,调试和发布等功能。 |
eros-publish | 简单的服务器差分包更新逻辑,需要和脚手架搭配使用。 |
eros-ios-library | eros ios Weex 项目依赖库。 |
eros-ios-sdk | eros ios Weex sdk。 |
eros-android-framework | eros weex 移动解决方案安卓端框架。 |
eros-android-widget | eros 安卓组件库。 |
eros-android-sdk | eros 安卓移动解决方案安卓端 WeexSDK。 |
社区贡献
讨论组
eros 正式开源到现在已经有了一个拥有大量开发者的群,群里有大量开发者已经有 eros 产品在开发中和已上线,为了维护一个良好的环境,还请先熟知以下群规:
- 此并不是流量群,也并非广告群,是为了大家一起成长,保证信息的有效性,如果发黄赌毒,不和谐言语,与学习无关的广告,推广内容,无关小程序,不会商量,直接会被踢,且不会再有入群机会。
- eros开发中遇到任何问题可以随时发到群里 weex开发相关可以一起讨论。
- 如果不能及时回答也请耐心等待,群里开发丰富经验的同学会帮您一起看问题。
- 除了 eros 自身紧急 BUG 外的问题,均需要提 issue,我们会按 issue 处理,目的是为了更好的给其他开发者参考,紧急问题请直接抛到群里,我们会直接远程帮助您调试。
QQ群:
开发者1群 667379588 (满员) <br>
开发者2群 798677297
License
Copyright (c) 2018-present, Byte Master Front End