# 介绍
轻量级的渐进式小程序开发框架,专注于小程序原生开发,提供更好的工程化、代码复用能力,提高开发效率并改善开发体验。
wxa 是一个AOP框架,通过预编译和运行时动态代理实现对小程序实例方法的拦截、改写、新增等操作。
wxa 是一套完善的微信小程序开发解决方案,通过 Decorator 增强小程序能力,基于 nodejs 工程化小程序开发流程,同时支持类 Vue 单文件开发(SFC)和原生小程序开发!
# 它是如何工作的?
一个wxa
项目实际上是由 @wxa/core
,@wxa/cli2
以及小程序原生能力驱动的应用。通过 cli 为小程序和 npm 仓库搭建了直接沟通的桥梁,使得无数优秀的类库有了直接在小程序上使用的可能。而 @wxa/core
则为小程序开发提供了许多最佳实践。
# 为什么选用它?
# wxa
也许你的项目是为了得到良好的性能、减少因为引入复杂框架导致的潜在项目威胁、或者是为了快速迭代上线,而选用了原生的小程序开发。那么 wxa 将会高度适配你的需求,贴合原生开发,开箱即用的工程化能力,渐进式的搭建你的小程序应用。
# Taro 3.0 & Remax.js & Kbone
如果项目具有跨小程序端和 Web 端 的需求,建议优先考虑这三个框架,其中 Taro 社区运营做的比较好,而 Kbone 属于官方框架,通过内置库(use)能减少项目打包的体积。
# WePY
WePY 是最早开源的小程序框架,在16年末期那个时候小程序还没有推出自定义组件,WePY 通过 template 和编译手段,自己实现了一套组件化的方案,但由于其组件没有独立的运行时实例会导致出现很多诡异的问题,这点从当初无数的 ISSUE 可以看出来。如今官方已经支持自定义组件,且组件化方案已经相对完善的情况下,推荐使用自定义组件。
# 技术特性
原生友好
- 迁移一个旧项目到wxa只需要几分钟
- 良好的原生组件开发支持
简洁好用的核心类库
@wxa/core
- Decorator 切面编程,无缝增强
- Mixins 分离逻辑,复用代码,提高可维护性
- Plugins 插件机制
- Redux 全局状态管理方案
- Promise 化小程序api
- Eventbus 自定义事件
- Router 路由跳转
功能齐全的命令行工具
@wxa/cli
- Npm依赖解析
- 灵活的编译配置
- Tapable插件机制
- 可拔插的编译器
- 多开发模式支持
- 支持小程序原生开发
- 支持Vue单文件开发模式
- 组件良好支持
- 原生组件
- 第三方原生组件
- 调用微信开发者工具
- 上传代码
- 预览项目