Remax

简介: Remax 是一款基于 Vue.js 的微信小程序开发框架,它提供了一套简洁、完整的 API,让开发者能够快速、高效地开发出功能丰富、性能优良的微信小程序。

Remax 是一款基于 Vue.js 的微信小程序开发框架,它提供了一套简洁、完整的 API,让开发者能够快速、高效地开发出功能丰富、性能优良的微信小程序。需要先掌握 Vue.js 的开发基础,包括 JavaScript、Vue、CSS 等。然后可以通过 Remax 官方文档或者一些在线教程学习 Remax 的使用方法。以下是一些学习 Remax 的推荐资料: 1. Remax 官方文档:
https ://remax-docs.jd.com/remax/docs/GETTING-STARTED

  1. Remax 入门教程:https: //juejin.cn/post/6844903847140646926
  2. Remax 实战教程:https://remax-docs.jd .com/remax/docs/EXAMPLES

希望这些资料能够帮助你学习 Remax。
关于 Remax 的演示,你可以访问 Remax 官方演示网站(https://demos.remax-docs.jd.com/)浏览各种类型的演示,包括电商、社交、教育、新闻等。这些演示能够帮助您更好地了解 Remax 的应用场景和开发能力。

Remax - 使用真正的 React 构建小程序
yesmeck
2019-08-26 11:24
2613

关注
为什么要用 React 来构建小程序
Learn once, write anywhere.

因为 React 是我们最熟悉的技术。

小程序糟糕的 API 设计已经有很多文章吐槽,这里就不再赘述了。再加上现在一大堆小程序平台,每个平台之间又有大大小小的差异,这对于有跨平台需求的小程序来说无异于是一场灾难。

React 的社区生态体系非常庞大,通过在小程序中引入 React 以及 React Hooks 提供的逻辑抽象能力,我们可以在小程序中直接利用 React 生态体系中大量的技术沉淀(比如:react-use、field-form)。

更完整的 TypeScript 支持。当然你也可以用 TypeScript 去写现有的小程序,但是由于小程序的架构原因,模板层跟逻辑层(也就是 Page)有天然的割裂,即使在逻辑层使用了 TypeScript,在模板层也无法享受类型检查和自动补全带来的便利。引入 React 后,我们的代码全部运行在逻辑层中,可以全程静态类型护航,给你满满的安全感。

现有的方案
目前社区中使用 React 构建小程序的方案大都使用静态编译的方式实现。所谓静态编译,就是使用工具把代码语法分析一遍,把其中的 JSX 部分和逻辑部分抽取出来,分别生产小程序的模板和 Page 定义。

这种方案最大的问题就是会有很多限制,因为语法分析是静态的,所以这些方案都会去限制一些动态的写法。另外正是因为 JavaScript 语言的动态性,要去做语法分析本身就是件很复杂的事情,所以这些方案实现起来往往也非常复杂。

最重要的,静态编译后的你的代码就转换成了小程序代码,运行时其实并没有 React 的存在,你只是用了 React 的写法, 而不是真正的在用 React 做应用。

我们的方案
今年初的时候,@xcodebuild 向大家介绍了如何在小程序中使用 React with Hooks。这是一个非常创新的方案,我们在对这个方案做了完善,并且在线上小程序中得到验证后,正式发布了基于 React 的小程序开发框架:

Remax
www.remaxjs.org

Remax 让你可以使用真正的 React 去构建小程序,你可以他理解成面向小程序的 React Native。

Remax 原理
首选来看一下小程序的架构(支付宝和微信大同小异):

小程序架构
正如上面提到的,小程序架构分为两层,你写的逻辑代码独立运行在一个进程中,每个页面会有自己独立的渲染进程(也就是一个 webview)用来渲染模板。而整个小程序又运行在 APP 容器中(也就是支付宝和微信本身)。逻辑层和视图层之间通过建立一个消息通道来通信。

再来看下 React 的架构:

React 架构
最下面一层是 React 本身,上层的 ReactDOM 和 ReactNative 我们称之为「Renderer」。Renderer 跟 React 之间通过 ReactReconciler 连接把元素(也就是通常所说的「虚拟 DOM」)渲染到对应的平台上。而 Remax 就是一个我们实现的 Renderer,它把「虚拟 DOM」渲染到了小程序的视图层上。

Remax 架构
可以看到,我们把 React 和 ReactReconciler 运行在小程序的逻辑层中,并通过 Remax 把生成的「虚拟 DOM」渲染到视图层。从而做到了使用真正的 React 去构建小程序。

目录
相关文章
|
6月前
|
缓存 JavaScript PHP
斩获开发者口碑!SnowAdmin:基于 Vue3 的高颜值后台管理系统,3 步极速上手!
SnowAdmin 是一款基于 Vue3/TypeScript/Arco Design 的开源后台管理框架,以“清新优雅、开箱即用”为核心设计理念。提供角色权限精细化管理、多主题与暗黑模式切换、动态路由与页面缓存等功能,支持代码规范自动化校验及丰富组件库。通过模块化设计与前沿技术栈(Vite5/Pinia),显著提升开发效率,适合团队协作与长期维护。项目地址:[GitHub](https://github.com/WANG-Fan0912/SnowAdmin)。
901 5
|
7月前
|
移动开发 前端开发 JavaScript
H5 页面与 Web 页面的制作方法
H5页面制作利用HTML5、CSS3和JavaScript技术,结合H5编辑器或框架(如Adobe Dreamweaver、Ionic),注重移动设备兼容性与响应式布局。Web页面制作则基于传统HTML、CSS和JavaScript,借助文本编辑器或IDE完成开发。两者区别在于技术版本、交互性和浏览器支持:H5更互动、现代,但可能不兼容旧浏览器;Web页面更静态、兼容性广。根据需求选择:高交互选H5,广泛兼容选Web。
1008 6
|
8月前
|
前端开发 JavaScript 安全
剖析跨域问题始末及其解决方案——前端必备交叉知识(一)
跨域问题是前端开发中的常见挑战,了解并掌握不同的跨域解决方案能帮助你更高效地进行开发工作。本文对同源策略、跨域以及解决跨域的三种方案: CORS、JSONP、代理等跨域技术进行了介绍。选择合适的跨域解决方案非常重要。 在实际开发中,推荐优先考虑使用 CORS,因为它是现代浏览器支持的标准,且安全性较高。如果服务器无法修改,则可以考虑使用代理。如果是特殊情况,可以使用 JSONP,但要注意安全性。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错
|
JavaScript API
Vue2 中使用Swiper构建中间大两边小轮播效果
【10月更文挑战第8天】
1719 122
|
数据可视化 数据处理 数据库
【Python篇】PyQt5 超详细教程——由入门到精通(中篇一)
【Python篇】PyQt5 超详细教程——由入门到精通(中篇一)
1092 2
|
SQL 关系型数据库 MySQL
常用的数据库链接工具都有哪些
常用的数据库链接工具都有哪些
1635 2
|
JavaScript 数据管理 编译器
揭秘 ArkTS 的五大优势:如何让鸿蒙系统开发更高效、更简单?
【10月更文挑战第18天】ArkTS是专为鸿蒙系统设计的开发语言,结合了TypeScript的类型系统,并在分布式开发、UI开发、性能优化和API支持等方面进行了优化。它提供了一系列专门的API和语法糖,简化多设备协同开发,支持高效能和低功耗,助力开发者充分利用鸿蒙系统的分布式架构和强大功能。
926 5
|
JavaScript 前端开发 API
快速实现 iframe 嵌套页面
【6月更文挑战第22天】快速实现 iframe 嵌套页面
|
网络协议 前端开发 数据安全/隐私保护
技术笔记:SOCKS5协议解析
技术笔记:SOCKS5协议解析
565 0
|
开发框架 移动开发 前端开发
基于HBuilderX+UniApp+ThorUI的手机端前端开发处理
基于HBuilderX+UniApp+ThorUI的手机端前端开发处理