Solid.js前端新秀框架 力压 web3.js 框架
SolidJS 是什么?SolidJS
是一个声明式、高效且灵活用于构建用户界面的 JavaScript
库。 Solid 号称拥有 JSX 语法,类似于 React hook 的语法,你可以用现代化的开发方式,获得性能最快的代码。
框架本身只有7 KB大小,无需在代码中添加额外魔法或奇技淫巧就能彻底压榨运行性能。更重要的是,它是真正的响应式。函数组件只会被调用一次,也就是说,你可以用它做些前所未闻的事,比如在会变化的顶层函数中使用setInterval
1、性能比较
原生 JS
是 1, Solid
是 1.05, 比 Svelte
也快,React
跑到了 1.93 。
二、SolidJS 特点
- 直接使用浏览器的
DOM
, 没有虚拟DOM
,DOM diff
一整套算法 ,可以发现它编译出来的代码,他的DOM
,是原生DOM
,其他的语法是直接调用的,也没有那一整套复杂的虚拟DOM
。 - 提前编译,按需打包 ,无论是
react
还是vue
,不管怎么编译,都需要引入框架本身
。也就是runtime
。而且这个体积还比较大。这些框架都采用的是用运行时方案,运行时方案相比于编译时方案,最大的优势是可以「几乎没有任何语法约束」的去完成代码编写。而Solid
则预编译,将jsx
部分的代码,转换成原生的语法。 - 响应式原理,精准更新对应的值 ,如果了解
React
的原理,就会知道,只要是props
或者state
改变,React
组件就会重新渲染
,而每一次判断是否会重新改变,值是否不一样,也是一整套算法…… 而 Solid 不一样,他另辟蹊径,每一个组件都是一个独立的线程,每个组件里的createMemo
或createEffect
里面去收集对应的依赖, 在set
改变值后,都会重新执行这些方法。看起来就像是实时更新了一样。
Marko 会在内容加载完成后立刻推流向客户,无需等待客户端的 JavaScript 程序打包或数据请求再开始渲染
Web的开发者生态系统:Solid、Qwik、Marko,以及Hotwire之类的框架
参考:
https://github.com/solidjs/solid
Qwik:
Solid.js前端新秀框架 力压 web3.js 框架相关推荐
- 以太坊智能合约开发,Web3.js API 中文文档 ethereum web3.js入门说明
以太坊智能合约开发,Web3.js API 中文文档 ethereum web3.js入门说明 为了让你的Ðapp运行上以太坊,一种选择是使用web3.js library提供的web3.对象.底层实 ...
- 前端Vue项目调用页面web3.js:连接metaMask钱包,(查询钱包ETH余额,查询代币余额,ETH转账,代币转账,代币授权,查询授权数量,计算价格)等功能
这里分享下相关文档 1.web3.js中文文档 https://learnblockchain.cn/docs/web3.js/getting-started.html 2.metamask官方文档: ...
- js 前端合成excel(ThinkPHP5+html+js:比纯后端合成来的快,而且超级简单。)
思路: 因为岗位是PHP,框架用的TP5,所以想用PHPExcel插件生成excel,无赖折腾了半个小时,不想折腾了.所以用js+html做算了(最终花费20分钟,又快又好做). 利用js将上万条数据 ...
- js前端下载文件,利用download.js或者,纯js下载文件,图片,视频,pdf等
目前,我在百度上,找到了三种方式,下载 第一种 这个方法,用的是FileReader然后readAsDataURL,我自己测试,会比方法二,下载速度要快一点 下面的代码段,可以替换,方法三种 down ...
- JS前端图片压缩上传
JS前端图片压缩上传重点知识 最近在做一个手机端的图片上传,写了一个比较符合自己要求的方法,可供参考 在做这个功能模块时,我遇到了以下问题,都花费了大量时间: 1. 不知道怎么压缩图片,(代码和方法) ...
- 以太坊web3.js文档翻译及说明
这些天,为了录制以太坊DAPP开发实战课程,我准备把web3文档全部翻译一下(并做适当的补充),目前**web3.js 0.20.x 版本** 已经翻译完成,欢迎大家前往查阅. 这里还几个实用DEMO ...
- 使用 Web3.js 连接以太坊节点并查询区块链数据
Web3.js 是一个用于连接以太坊网络的 JavaScript 库.在本文中,我们将介绍如何使用 Web3.js 来连接以太坊节点,并且查询以太坊区块链上的数据. 1. 安装 Web3.js 首先, ...
- web3.js 中文文档 入门
web3.js 中文文档 v1.3.4 入门(Getting Started) web3.js是包含以太坊生态系统功能的模块集合. web3-eth用于以太坊区块链和智能合约. web3-shh是针对 ...
- 面向前端与未来标准的Node.js Web 框架再进化
Web 开发一直是 Node.js 的主流方向,无论新人必学的 Express / Koa,或者是社区流行的企业级框架 Egg / Nest,各类 Web 框架层出不穷.本次分享来自阿里巴巴前端技术专 ...
最新文章
- ACMNO.41C语言-数字调序 有n个整数,使前面各数顺序向后移m个位置,最后m个数变成前面m个数,见图。写一函数:实现以上功能,在主函数中输入n个数和输出调整后的n个数
- ADO.NET之使用SqlConnection链接数据库
- pylucene构建索引_java-Apache Lucene:建立索引时如何使用TokenSt...
- 以太网接口保护方案设计图
- conda重命名环境env
- vr降噪器英文是什么_什么是VR体验馆设备?
- 运算符优先级(图表)
- Bailian2944 单词替换【字符串流】
- Linux系统管理初步(六)设置计划任务
- HDU 1260: Tickets
- Gamarue僵尸网络
- 四、《云原生 | Kubernetes篇》二进制安装部署k8s高可用集群V1.24
- 网站蜘蛛日志如何分析?对优化有用吗?
- 网络流媒体--RTP和RTCP协议
- 使用CSS设置重叠层次
- sql取每组最新数据
- Efficient Image Dehazing with Boundary Constraint and Contextual Regularization
- arduino运行max6675 K型热电偶模块
- 如何禁止pdf复制修改打印
- 造梦西游online十殿阎罗篇(下)(莫等闲,空悲切)
热门文章
- 使用driver.js实现新(xin)手(shou)导航,并使展示区域无法点击
- gocolly-字符串cookies处理(4)
- 【uni-app】基础知识篇
- oracle怎么查询关键字,9、oracle表查询关键字
- 修真院教学模式三大阶段之任务体系 1
- 心法利器[62] | 向量召回和字面召回的选择与权衡
- [UOJ240]aliens
- Java计算机毕业设计水果商城源码+系统+数据库+lw文档
- 美国电商是如何用大数据玩转“双十一”的?
- [信息论]信道容量迭代算法程序设计(基于C++Matlab实现)