:iphone: 一套 Vue 代码,两端原生应用。
Based in Weex and Vue.
Support By Bytemaster.
eros 不是框架,是基于 weex 封装、面向前端的 vue 写法的一整套 APP 开源解决方案。
简单来说,在 weex 提供的强大支持下,用一份 vue 写法的代码,编译成 iOS/Android 两端原生 APP,并且通过我们内置的热更新逻辑和开源的服务器逻辑,可以使开发者以极快的速度开发 APP ,并赋予 APP 热更新能力(不用经过 appStore/android market 市场审核)。
那么 eros 开发有多快呢?我们收集了一些问卷,在复杂度不高,首次使用 eros 开发的某些场景下:
页数 | 开发周期统计 |
---|---|
0 - 50 | 最晚一个月开发完成 |
50 - 100 | 最晚两个半月开发完成 |
当然,这都得益于 weex
和 vue
。
要非常注意,eros/weex 并不太适合无客户端能力的个人或者团队,当然也有独立前端开发者使用 eros 做出了一定复杂度的 app,这完全取决于开发者能否有独立解决问题的能力,请谨慎思考。
首先你需要熟悉 weex 的基础 api,部分机制和与 web 开发的差异性,同时需要知道 eros 提供了哪些原生能力,在根据自身业务来判定是否能加入到技术选型。
- 实时交互性,与键盘交互等功能复杂度不高的项目。
- 在 app 中接入 eros/weex,让某条业务线的部分流程达到快速迭代的目的,这也是 weex 的初衷。
开发者可以扫描二维码来下载 eros app 来进行体验,iOS首次打开App需要在 设置->通用->设备管理 信任开发证书。
Eros iOS demo | Eros Android demo |
---|---|
【预览录屏】 | 【预览录屏】 |
【下载链接】 | 【下载链接】 |
请详细阅读以下须知
- 虽然 weex 支持三端,但 eros 只支持两端
iOS/Android
,意味着你不可以像开发 Web 那样开发 APP。 - 开发者必须熟练开发 Vue,熟悉 Weex 文档,遇到问题要善于 google 和
stackoverflow
- weex 虽然提供了
weex run android/ios
等指令让开发者不打开对应开发者工具(AndroidStudio, xcode)来直接运行模拟器,打包到真机上开发,但 eros 并没有做相关功能,原因是每次修改eros.native.js
配置文件也好,每次添加客户端三方插件也好,包括各种日志(特别崩溃日志)等使得开发者不得不操作开发者工具来进行打包和调试,而如若没有详细的日志,在出了问题之后也无法搜寻或者向我们反馈。
暴露给前端大量便捷实用的 原生能力 ,拓展了 非常有用的事件 。
- 路由
- 原生事件
- 本地化存储
- 发布订阅
- Restful 请求,支持 Cookie
- 图片处理
- 拍照上传
- 浏览图片
- 操作本地图片
- 拨打电话
- 发短信
- 选择联系人
- 定位
- 原生弹窗
- 拷贝
- 扫一扫
- Echart
- 日历
- Bindingx
- 手势解锁
- 访问本地图片,html等
- ...
eros 在重做插件化后目前 github 上已经开源了近 20 多个由开发者自行拓展的插件,非常感谢这些开发者的支持并开源,当您使用他人拓展的插件时希望能顺便给他们一个小小的 star 。
- 个推
- 支付宝
- 微信支付
- 微信分享
- 友盟分享
- 阿里云移动推送(android)
- 腾讯防水墙
- 高德地图
- 日期选择增强
- 网络监控插件
- 安卓端增强(文件的查看,下载,预览;本地缓存的获取,清除;跳转至应用市场评分页;获取软键盘的高度)
- 二维码插件
- 短信验证码插件
- 健康相关,步数统计插件
- 刮刮卡,抽奖插件等等
具体可在 github
搜索 eros-plugin
查阅。(https://github.com/search?p=1&q=eros-plugin&type=Repositories)
而在纯净(pure)的开发模板中,是没有地图,个推等三方插件的,eros 有自己的插件体系,使得开发者在需要的时候,写入几行代码即可,不引用就不打包,减少安装包的大小,pure 纯净版本只有 10 MB 出头。
- 详细的文档
- iOS/Android 模拟器/真机热刷新(区别于热更新,热刷新是保存即刷新 APP)
- 支持
weex debug
- 一套 Vue 代码,两端原生应用
- 通过
appboard JS bundle
极大的减少了公共代码冗余 - 为大型项目内置了中介者服务,方便管理业务间的事件交互
脚手架 eros-cli:
- 随时初始化最新的开发项目模板。
- 简单而且快速的依赖更新。
- 支持生成内置包,全量包,增量包。
- 支持随时更新模板内容。
- 支持 Weex 两种入口开发方式
JS/Vue
。 - 内置与增量服务器的交互逻辑。
由于 Weex 的机制,我们能在远端发布代码,客户端更新并生效,并不需要审核发布流程,给 APP 提供了强大的迭代动力。
使用 UI 库,开发效率也会大大提升:
我们也有热心的开发者分享了现有 app 接入 eros 的方案:
在 EROS 开源的一年时间,已帮助上千位开发者开发了属于自己的原生应用,这里列出一小部分:
- StarLife
- 大嘴吧拼读
- 韩语入门-早道网校
- 德语入门-早道网校
- 赢商大数据
- 多逛逛
- 区块学院
- 易送
- 蜂觅
- JEX
- 1234TV
- FoD chain
- 博山头条
- 新长宁慧生活
- 辽河油田
- 连云港政协
- 连云港古树
- 亿康通
- ...
涉及行业分布于区块链、资讯、医疗、招商、购物、政府、办公、直播等。
同时也有越来越多的团队加入到 eros 开发和讨论行列:
StarLife
大前端团队早道网校
大前端团队车保姆
大前端团队车国
大前端团队
跟随着 weex 的支持性,但 eros 并不支持开发代码兼容 web 端
- Android 4.1 (API 16)
- iOS 8.0+
- WebKit 534.30+
以下项目,全部开源:
Project | Description |
---|---|
eros-cli | 简单的 eros 项目构建工具,可以提供搭建,开发,调试和发布等功能。 |
eros-publish | 简单的服务器差分包更新逻辑,需要和脚手架搭配使用。 |
eros-widget | 二次封装 module。 |
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 (满员)
开发者2群 798677297
感谢在
eros
开源过程中赞赏我们的开发者,你们一直是eros
继续下去的最大动力!
以下是部分 eros 产品的使用截图,我们会进行不定期更新:
Copyright (c) 2017-present, Byte Master.