SolidJS 是什么?SolidJS是一个声明式、高效且灵活用于构建用户界面的 JavaScript 库。 Solid 号称拥有 JSX 语法,类似于 React hook 的语法,你可以用现代化的开发方式,获得性能最快的代码。

框架本身只有7 KB大小,无需在代码中添加额外魔法或奇技淫巧就能彻底压榨运行性能。更重要的是,它是真正的响应式。函数组件只会被调用一次,也就是说,你可以用它做些前所未闻的事,比如在会变化的顶层函数中使用setInterval

1、性能比较

原生 JS 是 1, Solid 是 1.05, 比 Svelte 也快,React 跑到了 1.93 。

二、SolidJS 特点

  • 直接使用浏览器的 DOM, 没有 虚拟DOMDOM diff 一整套算法 ,可以发现它编译出来的代码,他的 DOM ,是原生 DOM ,其他的语法是直接调用的,也没有那一整套复杂的虚拟 DOM
  • 提前编译,按需打包 ,无论是 react 还是 vue ,不管怎么编译,都需要引入框架本身。也就是 runtime 。而且这个体积还比较大。这些框架都采用的是用运行时方案,运行时方案相比于编译时方案,最大的优势是可以「几乎没有任何语法约束」的去完成代码编写。而 Solid 则预编译,将 jsx 部分的代码,转换成原生的语法。
  • 响应式原理,精准更新对应的值 ,如果了解 React 的原理,就会知道,只要是 props 或者 state 改变,React 组件就会重新渲染,而每一次判断是否会重新改变,值是否不一样,也是一整套算法…… 而 Solid 不一样,他另辟蹊径,每一个组件都是一个独立的线程,每个组件里的 createMemocreateEffect 里面去收集对应的依赖, 在 set 改变值后,都会重新执行这些方法。看起来就像是实时更新了一样。

Marko 会在内容加载完成后立刻推流向客户,无需等待客户端的 JavaScript 程序打包或数据请求再开始渲染

Web的开发者生态系统:Solid、Qwik、Marko,以及Hotwire之类的框架

参考:

https://github.com/solidjs/solid

Qwik:

Solid.js前端新秀框架 力压 web3.js 框架相关推荐

  1. 以太坊智能合约开发,Web3.js API 中文文档 ethereum web3.js入门说明

    以太坊智能合约开发,Web3.js API 中文文档 ethereum web3.js入门说明 为了让你的Ðapp运行上以太坊,一种选择是使用web3.js library提供的web3.对象.底层实 ...

  2. 前端Vue项目调用页面web3.js:连接metaMask钱包,(查询钱包ETH余额,查询代币余额,ETH转账,代币转账,代币授权,查询授权数量,计算价格)等功能

    这里分享下相关文档 1.web3.js中文文档 https://learnblockchain.cn/docs/web3.js/getting-started.html 2.metamask官方文档: ...

  3. js 前端合成excel(ThinkPHP5+html+js:比纯后端合成来的快,而且超级简单。)

    思路: 因为岗位是PHP,框架用的TP5,所以想用PHPExcel插件生成excel,无赖折腾了半个小时,不想折腾了.所以用js+html做算了(最终花费20分钟,又快又好做). 利用js将上万条数据 ...

  4. js前端下载文件,利用download.js或者,纯js下载文件,图片,视频,pdf等

    目前,我在百度上,找到了三种方式,下载 第一种 这个方法,用的是FileReader然后readAsDataURL,我自己测试,会比方法二,下载速度要快一点 下面的代码段,可以替换,方法三种 down ...

  5. JS前端图片压缩上传

    JS前端图片压缩上传重点知识 最近在做一个手机端的图片上传,写了一个比较符合自己要求的方法,可供参考 在做这个功能模块时,我遇到了以下问题,都花费了大量时间: 1. 不知道怎么压缩图片,(代码和方法) ...

  6. 以太坊web3.js文档翻译及说明

    这些天,为了录制以太坊DAPP开发实战课程,我准备把web3文档全部翻译一下(并做适当的补充),目前**web3.js 0.20.x 版本** 已经翻译完成,欢迎大家前往查阅. 这里还几个实用DEMO ...

  7. 使用 Web3.js 连接以太坊节点并查询区块链数据

    Web3.js 是一个用于连接以太坊网络的 JavaScript 库.在本文中,我们将介绍如何使用 Web3.js 来连接以太坊节点,并且查询以太坊区块链上的数据. 1. 安装 Web3.js 首先, ...

  8. web3.js 中文文档 入门

    web3.js 中文文档 v1.3.4 入门(Getting Started) web3.js是包含以太坊生态系统功能的模块集合. web3-eth用于以太坊区块链和智能合约. web3-shh是针对 ...

  9. 面向前端与未来标准的Node.js Web 框架再进化

    Web 开发一直是 Node.js 的主流方向,无论新人必学的 Express / Koa,或者是社区流行的企业级框架 Egg / Nest,各类 Web 框架层出不穷.本次分享来自阿里巴巴前端技术专 ...

最新文章

  1. ACMNO.41C语言-数字调序 有n个整数,使前面各数顺序向后移m个位置,最后m个数变成前面m个数,见图。写一函数:实现以上功能,在主函数中输入n个数和输出调整后的n个数
  2. ADO.NET之使用SqlConnection链接数据库
  3. pylucene构建索引_java-Apache Lucene:建立索引时如何使用TokenSt...
  4. 以太网接口保护方案设计图
  5. conda重命名环境env
  6. vr降噪器英文是什么_什么是VR体验馆设备?
  7. 运算符优先级(图表)
  8. Bailian2944 单词替换【字符串流】
  9. Linux系统管理初步(六)设置计划任务
  10. HDU 1260: Tickets
  11. Gamarue僵尸网络
  12. 四、《云原生 | Kubernetes篇》二进制安装部署k8s高可用集群V1.24
  13. 网站蜘蛛日志如何分析?对优化有用吗?
  14. 网络流媒体--RTP和RTCP协议
  15. 使用CSS设置重叠层次
  16. sql取每组最新数据
  17. Efficient Image Dehazing with Boundary Constraint and Contextual Regularization
  18. arduino运行max6675 K型热电偶模块
  19. 如何禁止pdf复制修改打印
  20. 造梦西游online十殿阎罗篇(下)(莫等闲,空悲切)

热门文章

  1. 使用driver.js实现新(xin)手(shou)导航,并使展示区域无法点击
  2. gocolly-字符串cookies处理(4)
  3. 【uni-app】基础知识篇
  4. oracle怎么查询关键字,9、oracle表查询关键字
  5. 修真院教学模式三大阶段之任务体系 1
  6. 心法利器[62] | 向量召回和字面召回的选择与权衡
  7. [UOJ240]aliens
  8. Java计算机毕业设计水果商城源码+系统+数据库+lw文档
  9. 美国电商是如何用大数据玩转“双十一”的?
  10. [信息论]信道容量迭代算法程序设计(基于C++Matlab实现)