Skip to content
/ eros Public

📱 一套 Vue 代码,两端原生应用 ,或许可以叫我 weex-native。

License

Notifications You must be signed in to change notification settings

bmfe/eros

Repository files navigation


Markdownify
WEEX-EROS  

 :iphone: 一套 Vue 代码,两端原生应用。  

Based in Weex and Vue. Support By Bytemaster.

欢迎

介绍

eros 不是框架,是基于 weex 封装、面向前端的 vue 写法的一整套 APP 开源解决方案。

目前 eros 均由来自美团,今日头条,DCloud 等数十个开发者组成的 Bytemaster 公益开源团队 来共同维护,如果您想加入我们,或者有好的开源项目寻求平台,不妨联系我们,加入我们(完全免费)。

简单来说,在 weex 提供的强大支持下,用一份 vue 写法的代码,编译成 iOS/Android 两端原生 APP,并且通过我们内置的热更新逻辑和开源的服务器逻辑,可以使开发者以极快的速度开发 APP ,并赋予 APP 热更新能力(不用经过 appStore/android market 市场审核)。

那么 eros 开发有多快呢?我们收集了一些问卷,在复杂度不高,首次使用 eros 开发的某些场景下:

页数 开发周期统计
0 - 50 最晚一个月开发完成
50 - 100 最晚两个半月开发完成

当然,这都得益于 weexvue

想看看 EROS 开发了多少应用?

面向人群

要非常注意,eros/weex 并不太适合无客户端能力的个人或者团队,当然也有独立前端开发者使用 eros 做出了一定复杂度的 app,这完全取决于开发者能否有独立解决问题的能力,请谨慎思考。

适用场景

首先你需要熟悉 weex 的基础 api,部分机制和与 web 开发的差异性,同时需要知道 eros 提供了哪些原生能力,在根据自身业务来判定是否能加入到技术选型。

  • 实时交互性,与键盘交互等功能复杂度不高的项目。
  • 在 app 中接入 eros/weex,让某条业务线的部分流程达到快速迭代的目的,这也是 weex 的初衷

文档

帮助我们完善和翻译文档

Demo

开发者可以扫描二维码来下载 eros app 来进行体验,iOS首次打开App需要在 设置->通用->设备管理 信任开发证书。

Eros iOS demo Eros Android demo
【ios 下载】 【android 下载】
【预览录屏】 【预览录屏】
【下载链接】 【下载链接】

使用之前

请详细阅读以下须知

  • 虽然 weex 支持三端,但 eros 只支持两端 iOS/Android,意味着你不可以像开发 Web 那样开发 APP。
  • 开发者必须熟练开发 Vue,熟悉 Weex 文档,遇到问题要善于 google 和stackoverflow
  • weex 虽然提供了 weex run android/ios 等指令让开发者不打开对应开发者工具(AndroidStudio, xcode)来直接运行模拟器,打包到真机上开发,但 eros 并没有做相关功能,原因是每次修改 eros.native.js 配置文件也好,每次添加客户端三方插件也好,包括各种日志(特别崩溃日志)等使得开发者不得不操作开发者工具来进行打包和调试,而如若没有详细的日志,在出了问题之后也无法搜寻或者向我们反馈。

选择了 EROS 可以得到什么?

原生能力

暴露给前端大量便捷实用的 原生能力 ,拓展了 非常有用的事件

  • 路由
  • 原生事件
  • 本地化存储
  • 发布订阅
  • 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 库

使用 UI 库,开发效率也会大大提升:

现有 app 接入

我们也有热心的开发者分享了现有 app 接入 eros 的方案:

开源现状

在 EROS 开源的一年时间,已帮助上千位开发者开发了属于自己的原生应用,支持了数百个 app,如:

  • 金宣公寓
  • 多利农庄
  • mmphoto
  • StarLife
  • 大嘴吧拼读
  • 韩语入门-早道网校
  • 德语入门-早道网校
  • 赢商大数据
  • 多逛逛
  • 区块学院
  • 易送
  • 蜂觅
  • JEX
  • 1234TV
  • FoD chain
  • 博山头条
  • 新长宁慧生活
  • 辽河油田
  • 连云港政协
  • 连云港古树
  • 亿康通
  • 本木医疗助手
  • 本木医生助理
  • 京医通 APP
  • ...

涉及行业分布于区块链、资讯、医疗、招商、购物、政府、办公、直播等各行各业。

同时也有越来越多的团队加入到 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 继续下去的最大动力!

Awesome Eros

以下是部分 eros 产品的使用截图,我们会进行不定期更新:

世界邦-mmphoto (iOS/Android 市场均可下载)


多利农庄 (iOS/Android 市场均可下载)


金宣公寓 (iOS/Android 市场均可下载)


star life new.


star life old.(内测)


大嘴吧拼读-上海才隽前端团队(安卓/苹果市场搜索)






区块学院(iOS/Android 市场均可下载,可自行搜索)


 蜂觅(企业级 app)


 某企业级 app (c 端 app 开发中)


 其他 app 集合(还有很多,后续会慢慢添加)

License

MIT

Copyright (c) 2017-present, Byte Master.