美文网首页简友广场大前端
SolidJS——前端新秀框架,性能直逼原生JS

SolidJS——前端新秀框架,性能直逼原生JS

作者: 天問_专注于大前端技术 | 来源:发表于2022-01-28 18:20 被阅读0次

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

SolidJS

一、性能比较

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

SolidJS Benchmark

二、SolidJS 特点

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

三、简单使用

SolidReact Hook 代码风格、语法极其相似。减轻了开发者学习新框架的负担,这点还是不错的。eg:

import { render } from "solid-js/web";
import { createSignal, createEffect, createMemo, mapArray } from "solid-js";

function Counter() {
  const [count, setCount] = createSignal(0);
  const increment = () => setCount(count() + 1);

  createEffect((prev) => {
    const sum = a() + b();
    if (sum !== prev) console.log(sum);
    return sum;
  }, 0);

  return (
    <>
      <button type="button" onClick={increment}>
        {count()}
      </button>
    </>
  );
}

render(() => <Counter />, document.getElementById("app"));

在线体验:Playground

四、SolidJs 总结

  • 直接使用浏览器的 DOM, 没有虚拟DOMDOM diff 一整套算法
  • 响应式原理,精准更新对应的值
  • 提前编译,更小的包体积,尺寸小

官网地址:Solid


欢迎访问:天问博客

相关文章

  • SolidJS——前端新秀框架,性能直逼原生JS

    SolidJS 是什么?SolidJS是一个声明式、高效且灵活用于构建用户界面的 JavaScript 库。 So...

  • react笔记01

    前端分为三大框架 angular react vue 原生js本身操作dom很消耗性能,,,,,,库和框架是一个意...

  • Vite3 + Svelte3使用@import导入scss样式

    近年来,前端技术日新月异,Vite、Vue3、Svelte、SolidJS 等框架工具大放异彩,身为一个前端开发,...

  • 原生老鼠游戏

    现在前端的框架越来越好,让前端有了飞跃的发展,不过一切都在原生JS的基础构建的框架,只要原生有了过硬的能力,前端之...

  • 2 Vue数据绑定、实例化多个Vue对象、基础指令

    1、Vue框架的优点: (1).相比于原生操作DOM元素,其更节省性能;原因:[1].原生DOM节点使用js操作,...

  • MUI 简介

    概述 接近原生APP体验的高性能前端框架 网址 http://dev.dcloud.net.cn/mui/ 新手指...

  • OC与JavaScript交互

    由于web前端发展历史较长,现在H5技术相对比较成熟。各种移动端的框架,效果直逼原生界面,单拿开发效率来说,...

  • 初识“MUI”

    MUI——最接近原生APP体验的高性能前端框架。 摘自《DCloud官网》 DCloud在HBuilder中为我们...

  • MUI

    MUI框架 最接近原生APP体验的高性能前端框架 一、手机体验 已打包好的Hello mui 手机app,直接在手...

  • 原生小程序和 mpvue对比(开发前)

    一.介绍 原生小程序:利用微信官方给出的框架,组件,API开发的小程序。 mpVue :利用Vue.js前端框架开...

网友评论

    本文标题:SolidJS——前端新秀框架,性能直逼原生JS

    本文链接:https://www.haomeiwen.com/subject/bbetkrtx.html