? WEPT 发布第一个正式版本 V0.1 ?

? WEPT 发布第一个正式版本 V0.1 ?

WEPT 是一款我个人开发的微信小程序实时运行环境,相比于现在官方提供的开发者工具, 它具备以下几个特点:

  • 完全实时:它已全面支持 wxml, wxss,javscript 和 json 文件的自动热更新,文件保存后相应变化会自动更新到小程序的运行环境, 开发者完全不需要重建、重启操作,绝大多数情况下(除非修改 app.json )也不需要刷新。因为没有了刷新, 开发者不用再费时去操作界面重现修改前的页面状态。整个过程支持多终端同步进行。WEPT 微信小程序实时运行工具—在线播放—优酷网,视频高清在线观看http://v.youku.com/v_show/id_XMTc1OTI0NTc0OA==.html

  • 更加稳定: WEPT 的小程序构建过程相比官方工具要稳定的多,不会像官方工具一样经常性报错 appservice not ready, 甚至直接崩溃,如果遇到后台或者小程序构建错误,它会在页面上即时给出错误提醒。如果你安装了 growl 或者 terminal-notifier,它还会同时在桌面上弹出错误提醒。

  • 没有限制: WEPT 生成的小程序页面可以运行在移动端浏览器上面,使用过程也无需联网请求微信服务器。它通过一个定制的代理协议使用后台转发 XHR 请求,开发者无需配置后端 CORS 即可调试。

  • 更多的 API: WEPT 除了支持全部官方已支持 API 之外,还实现了重力感应和罗盘的 API,你可以在支持相应 html5 接口的移动端浏览器上进行调试。

?实现原理?

详细的实现原理请参考我之前发的文章:

简单说它就是一个与后端通过 WebSocket 接口与前端进行实时通讯的 web 服务。后端服务请求时动态编译所需文件, 前端通过 iframe 实现了 view 层、service 层以及控制层页面的多方通讯和控制逻辑。

前端 view 层和 service 层代码来自微信开发者工具最新版本(目前是 101100, 稍作修改以支持 iframe 通讯以及自动更新),控制层页面是完全重新实现的,使用了一点 React 进行 UI 状态同步。

?安装 & 使用 ?

首先你需要安装 node,请确保版本大于 6.0,低版本有可能报错。

然后任意目录运行:


npm install -g wept

安装完成后在项目根目录下运行, 官方 demo 下载


wept

即可开启服务,访问 localhost:3000 开始调试(推荐使用 Chrome developer devtools 开启启动模式调试), 你也可以通过 -p 参数换个端口,例如:


wept -p 4000

手机访问记得使用电脑的局域网 IP 地址。

?API 支持情况 ?

以下是当前所有小程序 API 的支持情况

  • ✓ wxml 中 import 解析和 template 语法
  • ✓ app.json window 设置
  • ✓ app.json tabbar 设置
  • ✓ 微信登录:目前返回同官方工具无 appid 状态一致,为模拟返回
  • ✓ 获取用户信息接口:返回测试用数据
  • ✗ 发起支付:同官方工具无 appid 状态,无法使用
  • ✓ 设置界面标题
  • ✓ 标题栏加载动画
  • ✓ 页面跳转
  • ✓ 下拉刷新 (0.2.0 版本开始支持)
  • ✓ 创建动画
  • ✓ 创建 Canvas 绘画
  • ✓ 获取手机网络状态:默认返回 WIFI
  • ✓ 获取手机系统信息:同官方工具,返回为模拟返回
  • ✓ 监听重力感应数据:支持 Safari mobile 等移动浏览器调试,官方工具(101100)不支持
  • ✓ 监听罗盘数据:支持 Safari mobile 等移动浏览器调试,官方工具(101100)不支持
  • ✓ request 请求接口
  • ✓ websocket 接口
  • ✓ 上传、下载文件
  • ✓ 保存文件
  • ✓ 选择/预览图片
  • ✓ 选择视频
  • ✓ 录音 API
  • ✓ 音频播放控制
  • ✓ 背景音乐控制
  • ✓ 获取当前位置
  • ✓ 使用原生地图查看位置
  • ✓ storage 同步 API
  • ✓ storage 异步 API

?未来计划 ?

  • wxml,storage,appData 开发者工具面板支持
  • 提供桌面端工具支持

❤️感谢❤️

特别感谢我司 匠物 对于开源项目的理解和大力支持。

如果您在使用过程中遇到问题请及时到 github 进行反馈,我会尽快处理。

如果您觉得这款工具有用或者还不错请帮忙使用页面下方的转发功能让更多人知道,开源项目的后续维护离不开用户的支持。

编辑于 2016-10-15

文章被以下专栏收录