/eros

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

Primary LanguageVueMIT LicenseMIT


Markdownify
WEEX-EROS  

 :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 最晚两个半月开发完成

当然,这都得益于 weexvue

面向人群

要非常注意,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 开源的一年时间,已帮助上千位开发者开发了属于自己的原生应用,这里列出一小部分:

  • 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 继续下去的最大动力!

Awesome Eros

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

star life new.(内测)


star life old.(内测)


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






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


 蜂觅(企业级 app)


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


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

License

MIT

Copyright (c) 2017-present, Byte Master.