您当前的位置:首页 > 电脑百科 > 程序开发 > 前端

2023年前端渲染框架大全

时间:2023-03-16 14:21:08  来源:今日头条  作者:Echa


 

大家好,我是Echa。

随着Web 技术开发高速发展,移动端用户占据大部分市场,对前端响应式布局,以及页面加载速度有着非常高的要求,用户访问Web 页面等待的极限一般在3-6秒以内,凡是过了这个时间段的网页内容还未加载出来,用户马上就划走了该页面。市场为了彻底解决该问题,这个时候越来越多的前端渲染框架雨后春笋一般的出现在开发者们的视野中。

这些渲染框架往往会为网页提供 SSR、静态站点生成和自动代码分割等功能,帮助开发者构建高性能、可扩展和易于维护的 Web 应用程序,提高开发效率和用户体验,以及访问加载速度和按需加载。有兴趣的小伙伴们可以回顾看看小编最近总结如下:

最新的 web 框架性能报告出炉

2023 年静态站点生成器 SSG 大全

最新最全的 VS Code 插件推荐

今天小编带着大家一起看看现在流行的前端渲染框架到底有哪些。希望对大家学习前端有所帮助。另外,小编会从六个分不同维度去讲解这些前端渲染框架。

全文大纲

  1. 现代流行的前端渲染框架有哪些?
  2. 分别他们在 state of js 2022 的表现如何?
  3. 分别他们在 npm install 速度对比
  4. 分别他们在客户端 JS 大小对比
  5. 分别他们在node_modules 大小对比
  6. 分别他们在npm audit 对比
现代流行的前端渲染框架有哪些?
  1. Astro

 

官方网址:https://astro.build/

Github:https://github.com/withastro/astro

Astro是当前JAVAScript热潮中的一种新方法:从响应式前端获得更多性能。它是由创建Snowpack构建工具的同一团队开发的。最新发布了 Astro 2.1 正式发布 有兴趣的可以看看里面有更详细介绍。

已经有一些尝试通过避免昂贵的预取和引导来提高性能,这些操作已经影响了类似于React的框架。

Astro采用了一种有趣而新颖的方法。它是一个构建系统,可以让用户使用任何想要的框架(React、Svelte、Vue等),然后找到最适合使用JavaScript延迟加载的地方。可以将其视为捆绑时应用于应用程序的一种智能代码拆分。具体如下图:

Astro 官网


 

 

  1. Eleventy

 

官网网址:https://www.11ty.cn/

Github:https://github.com/11ty/eleventy/

Eleventy 是一个更简单的静态站点生成器。Jekyll 的替代品,用 JavaScript 编写。将模板目录(不同类型)转换为 html。它默认为零配置,但有灵活的配置选项。Eleventy 与你的项目的现有目录结构一起工作。

 

  • Eleventy 使用独立的模板引擎
  • Eleventy 可以使用多种模板语言。适用于 HTML、Markdown、Liquid、Nunjucks、Handlebars、Mustache、EJS、Haml、Pug 和 JavaScript 模板文字。
  • Eleventy 不是一个 JavaScript 框架
  • Eleventy 是渐进式的
  • Eleventy 对数据的处理非常好

 


 

 

  1. Enhance

 

Enhance是一个基于Web标准的轻量级前端框架,它主要用于构建动态、可扩展的Web应用程序。它支持渐进式增强的开发模式,即在不同的浏览器和设备上,根据支持的功能和特性,自动加载和渲染不同的组件和样式。这样可以提高网站的兼容性和可访问性,同时可以提高性能和用户体验。


 

 

  1. Gatsby

 

官网网址:https://www.gatsbyjs.com/

Github: https://github.com/gatsbyjs/gatsby

Gatsby 是一个基于 React ,用于搭建静态站点的开源框架,用于帮助 开发者构建运行速度极快的网站。可以说它是一个静态站点生成器,Gatsby 主要的应用的技术是 React 和 GraphQL。

Gatsby 能快速使用 React 生态系统来生成静态网站,它具备更高的性能,而且 Gatsby 的生态也很强大。

当你想自己动手搭建个人博客时,考虑的是 seo 要好,而且你不用理会数据库和服务器等复杂的部署设置,Gatsby 构建的网站为静态站点,你可以很轻松的将网站部署在很多服务上。Gatsby 不需要等待请求时生成页面,而是预先生成页面,因此网站的速度会很快。

Gatsby 中运用了 React, react-router, Webpack 以及 GraphQL 等新技术,也跟随了技术潮流。


 

 

  1. Next.js

 

官网网址:https://nextjs.org/

Github: https://github.com/vercel/next.js

Next.js 是 React 服务端渲染应用框架. 用于构建 SEO 友好的 SPA 应用. 目前最新版是:

Next.js 13.2 正式发布

它提供了SSR、静态站点生成和自动代码分割等功能。Next.js也支持自定义路由、数据获取、静态资源优化等功能,可以方便地构建动态Web应用程序。它还具有易用性和高效性,是构建现代Web应用程序的不错选择,也一直是React官方推荐的全栈框架。

 

  • 支持两种预渲染方式, 静态生成和服务器端渲染.
  • 基于页面的路由系统, 路由零配置
  • 自动代码拆分. 优化页面加载速度.
  • 支持静态导出, 可将应用导出为静态网站.
  • 内置 css-in-JS 库 styled-jsx
  • 方案成熟, 可用于生产环境, 世界许多公司都在使用
  • 应用部署简单, 拥有专属部署环境 Vercel, 也可以部署在其他环境

 


 


 

 

  1. Remix

 

官网网址: http://remix.run/

Github: https://github.com/remix-run

Remix是一个基于React的前端驱动的服务端渲染框架,具有自动代码分割和预取、内置路由、状态管理和数据层、基于ESLintTypeScript的代码检查和类型检查等特点,可以让开发者使用前端技术栈来构建网站,同时享受服务端渲染带来的性能和SEO优势。


 

 

  1. SvelteKit

 

官网网址: https://kit.svelte.dev/

Github: https://github.com/sveltejs/kit

Remix是一个基于React的前端驱动的服务端渲染框架,具有自动代码分割和预取、内置路由、状态管理和数据层、基于ESLintTypeScript的代码检查和类型检查等特点,可以让开发者使用前端技术栈来构建网站,同时享受服务端渲染带来的性能和SEO优势。


 

 

  1. Nuxt

 

官网网址: https://nuxt.com/

Github: https://github.com/nuxt/nuxt

Nuxt是一个基于Vue.js的轻量级前端框架,它支持 SSR、静态站点生成和自动路由等功能。Nuxt 还提供了丰富的插件和模块,如 axIOS、vuex、sass 等,方便快速构建可扩展的 Web 应用程序。

Nuxt提供了一种基于Vue.js的服务端渲染框架,可以帮助开发者快速构建高性能、可扩展和易于维护的Web应用程序。Nuxt设计API简单直观,可以让开发者快速上手和理解,同时还提供了许多工具和插件来帮助开发者更轻松地构建应用程序。例如,Nuxt支持自动代码分割、静态生成、动态路由、异步数据加载等特性,如axios、vuex、sass等,可以快速构建可扩展的Web应用程序。

nuxt特性

 

  • 基于 Vue.js
  • 自动代码分层
  • 服务端渲染
  • 强大的路由功能,支持异步数据
  • 静态文件服务
  • ES2015+ 语法支持
  • 打包和压缩 JS 和 CSS
  • HTML 头部标签管理
  • 支持各种样式预处理器: SASS、LESS、 Stylus 等等

 


 

分别他们在 state of js 2022 的表现如何?

 

  1. 随时间变化满意度, 关注度, 使用率, 和认知率的的排行,具体如下图:

 

满意度

关注度

使用度

认知度

 

  1. 随时间变化的体验

 


 

现在使用最广泛的还是Next.js,牢牢占据霸主地位,但是Astro、SvelteKit等新兴框架也有后来居上的趋势,老牌框架Gastaby正在逐步败落。

 

  1. 积极/消极体验拆分图

 

这张图表将 用户的积极体验(想学习,会再次使用)和消极体验(不感兴趣,不会再次使用) 分别呈现在中轴两侧。

柱状的厚度代表了解某一技术的访问者数量。


 

分别他们在 npm install 速度对比

下面我们进入实际使用的对比,基于以下版本:

 

  • Astro2.0.15
  • Eleventy2.0.0
  • Enhance1.4.6
  • Gatsby5.7.0
  • Next.js13.2.1
  • Nuxt3.2.2
  • Remix1.13.0
  • SvelteKit1.8.3

 

显示的单位为秒,时间越小越好。

npm install 速度对比


 

以上每个工具都安装了五次,统计中的时间是五次安装的平均值(每次安装都会使用npm cache clean --force清除缓存)。

安装最快的Next.js只需要3.72s,最慢的Gatsby居然要43s,是Next.js十倍以上,但是Next.js提供的能力可不比Gatsby要弱啊。

分别他们在客户端 JS 大小对比

表中显示的是运行时客户端未压缩的JS大小,单位是KB

客户端 JS 大小对比


 

Astro、Eleventy、Enhance的运行时客户端JS0KB?听起来有点不可思议,但是它们的设计理念确实都是尽可能的将逻辑代码放到服务端,从而减少客户端JS的代码体积。

SvelteKit的客户端JS也比较小,这是因为框架会在构建阶段将Svelte组件转换为原生的JavaScript代码,因此在运行时只需要加载最终的代码,而不需要加载Svelte框架本身的代码。

相比之下,Gatsby、Next.js、Nuxt等框架的运行时JavaScript体积相对较大,主要原因是这些框架的功能较为复杂,需要在运行时动态加载一些额外的代码。例如,Next.js框架需要在运行时动态加载ReactNext.js框架本身的代码,从而导致运行时JavaScript体积较大。

分别他们在node_modules 大小对比

表中显示的单位是MB

node_modules 大小对比


 

Gatsby、Remix的捆绑依赖太多了,下载后的体积要比其他的依赖高出不少。

Elevent的体积最小,只有34MB,可见它提供的功能也足够轻量。

这里值得注意的是Next.js,他的体积也不是最小的,但是安装速度非常快,这是因为它会自动下载预构建的二进制文件,这些二进制文件已经包含了所有必要的依赖和代码,无需在安装过程中进行编译,因此安装速度非常快。

分别他们在npm audit 对比

npm audit是 npm 官方提供的一个依赖安全检测工具,它会从npm公共数据库中获取最新的安全漏洞信息,并将其与当前项目中已安装的包进行比较,从而检测出项目中存在的安全漏洞。如果检测到漏洞,npm audit将会给出相应的修复建议,包括更新包版本、安装补丁程序等。

下面这些框架在创建项目的时候会显示标准的npm audit报告:

 

  • Eleventy
  • Enhance
  • Nuxt
  • Remix
  • SvelteKit

 

而以下这些框架隐藏掉了报告(包括高危严重的漏洞)

 

  • Astro⚠️
  • Gatsby⚠️
  • Next⚠️

 

当然,以上的观点仅供参考,在选择框架时,我们还需要根据项目的具体需求、技术栈和团队人员技能水平等方面进行综合考虑。

最后

一台电脑,一个键盘,尽情挥洒智慧的人生;几行数字,几个字母,认真编写生活的美好;

一 个灵感,一段程序,推动科技进步,促进社会发展。



Tags:框架   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
大家好,我是Echa。随着Web 技术开发高速发展,移动端用户占据大部分市场,对前端响应式布局,以及页面加载速度有着非常高的要求,用户访问Web 页面等待的极限一般在3-6秒以内,凡是...【详细内容】
2023-03-16  Tags: 框架  点击:(0)  评论:(0)  加入收藏
无人驾驶系统的核心可以概述为三个部分:感知(Perception),规划(Planning)和控制(Control),这些部分的交互以及其与车辆硬件、其他车辆的交互可以用下图表示: 感知是指无人驾驶系统从...【详细内容】
2023-03-15  Tags: 框架  点击:(5)  评论:(0)  加入收藏
在去年 10 月的 Google Cloud Next 2022 活动中,OpenXLA 项目正式浮出水面,谷歌与包括阿里巴巴、AMD、Arm、亚马逊、英特尔、英伟达等科技公司推动的开源 AI 框架合作,致力于汇...【详细内容】
2023-03-14  Tags: 框架  点击:(8)  评论:(0)  加入收藏
大家好,我是Echa。好消息,Astro 官网Blog 中 Fred Schott 大佬发文公布了 Web 框架性能报告清单,如何让前端开发者们更好的选择前端框架,以及相关性能和在Web 上整体运作流程...【详细内容】
2023-03-14  Tags: 框架  点击:(8)  评论:(0)  加入收藏
本报告的目的是通过真实的数据来更好地了解框架选择、性能和实际用户体验之间的关系。我们将试图回答以下几个关键问题: 现代Web框架在实际使用和性能方面如何比较? 框架选择...【详细内容】
2023-03-14  Tags: 框架  点击:(5)  评论:(0)  加入收藏
这份报告的目的是查看真实世界的数据,以更好地理解框架选择、性能和 web 上的实际用户体验之间的关系。本文将尝试阐明几个关键问题: 现代 Web 框架在现实世界的使用和性能方...【详细内容】
2023-03-13  Tags: 框架  点击:(11)  评论:(0)  加入收藏
​驱动开发 -串口和串行总线基本知识一般情况下,设备间的通信方式可以划分为串行通行方式和并行通信方式两种。在Linux字符设备、块设备、网络设备分类方式下,该外设分类划分...【详细内容】
2023-03-09  Tags: 框架  点击:(14)  评论:(0)  加入收藏
在计算机编程中,框架是程序员构建软件的基础。类似的,JavaScript框架为程序员提供了方便的基础。它提供了一组预先编写的代码,这样程序员就不需要从头开始了。因此,他们可以将框...【详细内容】
2023-03-08  Tags: 框架  点击:(11)  评论:(0)  加入收藏
2019 年,纽约大学、亚马逊云科技联手推出图神经网络框架 DGL (Deep Graph Library)。如今 DGL 1.0 正式发布!DGL 1.0 总结了过去三年学术界或工业界对图深度学习和图神经网络(G...【详细内容】
2023-03-08  Tags: 框架  点击:(28)  评论:(0)  加入收藏
Byte Buddy 是一个代码生成和操作库,用于在 Java 应用程序运行时创建和修改 Java 类,而无需编译器的帮助。除了 Java 类库附带的代码生成实用程序外,Byte Buddy 还允许创建任意...【详细内容】
2023-02-28  Tags: 框架  点击:(29)  评论:(0)  加入收藏
▌简易百科推荐
当今前端开发中,构建工具已经成为一个不可或缺的部分。它们可以帮助我们自动化任务、优化代码、提高开发效率。社区涌现出越来越多的前端构建工具,本文就来介绍一些最流行的前...【详细内容】
2023-03-16  前端充电宝  微信公众号  Tags:前端   点击:(2)  评论:(0)  加入收藏
大家好,我是Echa。随着Web 技术开发高速发展,移动端用户占据大部分市场,对前端响应式布局,以及页面加载速度有着非常高的要求,用户访问Web 页面等待的极限一般在3-6秒以内,凡是...【详细内容】
2023-03-16  Echa  今日头条  Tags:框架   点击:(0)  评论:(0)  加入收藏
1. 啥是 ES6? 在学习 ES6 之前,我们先了解一下啥是 ES。ES 全称 ECMAScript,它是由欧洲计算机协会(ECMA)制定的一种脚本语言的标准化规范。这家伙说白了就是给 JavaScript 制...【详细内容】
2023-03-16    掘金  Tags:前端   点击:(0)  评论:(0)  加入收藏
本文是一份分步指南,涵盖了 Vue.js 测试基础知识,并为读者解释了如何测试基于 Vue.js 的网站和移动应用程序。“当 Vue 的用户数量达到一定数量时,它就变成了一个社区。突然间,...【详细内容】
2023-03-16  科技狠活与软件技术    Tags:Vue   点击:(2)  评论:(0)  加入收藏
前言大家好,我是小满,正所谓:工欲善其事,必先利其器!写一个开源的项目也不例外,就拿在国内很火的 vue3 框架 和 vite 工具来讲,其中的实现与架构设计无不是一个复杂而庞大的工程,而...【详细内容】
2023-03-13  小满只想睡觉  今日头条  Tags:vue3   点击:(6)  评论:(0)  加入收藏
前端模块化省流:chatGPT总结该文章主要讲述了前端模块化的发展历史和各个阶段的技术方案,包括无模块化(IIFE)、CommonJS、AMD、CMD、ESModule、UMD。其中,无模块化时期的文件拆...【详细内容】
2023-03-09  coderduan  今日头条  Tags:前端   点击:(6)  评论:(0)  加入收藏
前言easy-jenkins是一款对vue和jar的部署工具,操作简单,实行一键部署,内部结构采用流水线形式架构,每次部署,时时提供部署过程,部署记录,界面友好简洁,使用方便,符合用户常规操作easy...【详细内容】
2023-03-08  Java精选     Tags:vue   点击:(18)  评论:(0)  加入收藏
在web开发中,前端是显示网站或应用程序图形的用户界面。你可能会说这是用户在网站或应用程序上交互和看到的界面。因此,该部分必须以用户友好的方式设计,以便有效地传递来自服...【详细内容】
2023-03-07  粤嵌教育培训     Tags:前端   点击:(10)  评论:(0)  加入收藏
大家好,我是前端西瓜哥。本文讲解如何使用浏览器提供的工具进行 JS 代码的断点调试。debugger在代码中需要打断点的地方,加上 debugger,表示一个断点。浏览器代码执行到该位置...【详细内容】
2023-03-07  前端西瓜哥  微信公众号  Tags: JS   点击:(12)  评论:(0)  加入收藏
今天再给大家分享一个超不错的 vue3.js 桌面pc端组件库JW-UI。 jw-ui 一个基于 vue3 typescript 开发的开源UI组件库。包含了21个常用组件。 安装npm install yjw-ui快速...【详细内容】
2023-03-05  web前端进阶  今日头条  Tags:vue   点击:(12)  评论:(0)  加入收藏
站内最新
站内热门
站内头条