Hera-将小程序打包成移动APP的开发框架
继移动APP之后,小程序作为当前移动的有一个入口为大家所推崇,不管是微信的小程序还是支付宝的小程序,其实现的思路都是一致的,即通过一个宿主来运行相关的JS页面。
现在Hera根据市场需求,推出了一款真正的跨平台框架,除了可以让你的小程序除了在微信上运行,还可以打包成 Android 、 iOS应用,以及以 h5 的方式跑在浏览器端。
主要的优点有:
- 一套代码 处处运行 Hera提供了强大的跨平台能力:不仅可以让开发者的微信小程序业务从微信中平滑迁移到Android和iOS端的App中,同时也提供了RN等其它框架没有的能力 —— 运行在Web端。
- 组件丰富 简单易用 自带常用组件,完美继承了小程序内置组件,学习成本低,完全兼容微信小程序的开发方式。
- 极速加载 体验流畅 Hera框架同时也可以支持业务的快速迭代和更新,所有组件和 API 内置在客户端中,每个页面只包含核心业务逻辑使页面更轻量,在高速加载的同时兼具动态更新的能力。
快速上手
安装脚手架
需要在系统中安装 Node.js 环境, 使用以下方法确认系统中 Node 的版本:
node -v
如果得到的版本低于v7.6.0,或是提示找不到 node 命令,请点此下载最新的 Node 环境安装包。 Tips: 如果下载时出现网络问题,可以尝试使用 nrm 或 npm config 命令切换至国内的npm源
安装运行
安装依赖库
npm i hera-cli -g
初始化小程序
hera init projName
进入新建的项目, 确认根目录有 config.json 文件:
# 进入项目
cd projName
# 查看配置文件
cat config.json
web运行
hera run web
Android中运行 如果想要在安卓虚拟机或真机上运行,需要安装 Android Studio 以及: Android SDK Platform 25 Android SDK Build-Tools 25.0.3 Tips:如果对Android环境搭建不清楚的可以自行查询资料。 然后使用命令查看设备是否连接,命令如下:
adb devices
说明:如果提示adb不是可用命令,请确认PATH 环境变量中增加了%ANDROID_HOME%platform-tools和%ANDROID_HOME%platform-tools 如果设备处于活跃状态会显示如下信息,如果列表为空或设备处于离线状态,请重新连接安卓手机或重启虚拟机。
List of devices attached
0ec123456 device
然后链接之后就可以运行了,运行的命令如下:
hera run android
iOS端运行 首先需要在系统中安装 Xcode 8.0 或更高版本。你可以通过App Store或是到Apple开发者官网上下载。这一步骤会同时安装Xcode IDE和Xcode的命令行工具。
安装完成后启动Xcode,并在Xcode | Preferences | Locations菜单中检查一下是否装有某个版本的Command Line Tools。
然后,使用如下命令安装依赖管理工具 cocoapods,命令如下:
sudo gem install cocoapods
然后,使用命令运行即可:
hera run ios
以上都是在模拟器上运行的,如果想要在真机上运行,可以访问下面的介绍:https://weidian-inc.github.io/hera/#/ios/ios-real-device
目录结构说明
新建后的项目的目录结构如下:
├── README.md
├── android
├── docs
├── h5
└── ios
其中:android 和 ios 目录下为小程序API 在客户端上的实现; h5 目录下为小程序转换工具:将小程序转换为客户端可以执行的代码; docs 目录下为项目文档及主页生成器;
- SQL连接查询(最全面)
- Java Beans
- 呐你们要的算法(一)No.17
- 使用Python生成一张用于登陆验证的字符图片
- Jupyter notebook的安装方法
- Linux学习第三十四篇:rsync通过服务同步,Linux系统日志,screen工具
- 小程序支付详解+源码(客户端+服务端)
- Python Windows下分布式进程的坑(分布式进程的一个简单例子)
- Python pdb调试
- linux学习第三十五篇:LAMP架构介绍,MySQL_MariaDB介绍,MySQL安装
- 尝试克服一下小伙伴对神经网络的恐惧No.26
- Python 元类(MetaClass)
- linux学习第三十六篇:MariaDB安装,Apache安装
- Python 5种连接字符串的方法
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Android基于AlarmManager实现用户在线心跳功能示例
- 详解Android中获取软键盘状态和软键盘高度
- Android流式布局FlowLayout详解
- Linux 专题
- Go语言实现UDP通信
- Android多渠道打包的方法步骤
- Android编程实现压缩图片并加载显示的方法
- Android串口通信封装之OkUSB的示例代码
- Android 中Activity 之间传递参数
- Android开发简单实现摇动动画的方法
- Android 中menu同时显示图标和文字的实现
- android基于SwipeRefreshLayout实现类QQ的侧滑删除
- PopupWindow自定义位置显示的实现代码
- Bootstrap 下拉菜单.dropdown的具体使用方法
- Android访问assets本地json文件的方法