活动页服务端渲染探索

目标

通过采用在服务端渲染激励页的方式,降低页面加载白屏时间,从而提升激励 H5 渲染体验。

架构设计


前端服务框架调研选型

只对比分析以下两种方案:

  • Vue3 + Nuxt3 + Webpack
  • Next.js + React + Node.js
' Nuxt3 Next.js
介绍 Nuxt是一个基于Vue的通用应用框架,预设了利用Vue开发服务端渲染的应用所需要的各种配置,主要关注的是应用的UI渲染 Next是一个React框架,允许使用React构建SSR和静态web应用
响应时间 几乎相同 几乎相同
框架Github Star 39.8k 85.3k
Npm 下载数 333,922 2,130,573
脚手架工具 create-nuxt-app create-next-app
优势 1. 它的主要范围是UI渲染,同时抽象出客户端/服务器分布 2. 静态渲染、前后分离 3. 自动代码分层 4. 服务、模板皆可配置 5. 项目结构清晰 6. 组件与页面无缝切换 7. 默认支持得ES6 / ES7 8. 支持开发热更新 9. 路由级别的异步数据获取 10. 支持静态文件服务 11. 样式预处:Sass,Less,Stylus 1. 默认情况下,每个组件都是服务器渲染的 2. 自动代码拆分,加快页面加载速度 3. 不加载不必要的代码 4. 简单的客户端路由(基于页面) 5. 基于Webpack的开发环境,支持模块热更新(HMR) 6. 获取数据非常简单 7. 支持任何Node HTTP服务器实现,如Express 8. 支持Babel和Webpack自定义 9. 能够部署在任何能运行node的平台 10. 内置页面搜索引擎优化(SEO)处理
不足 1. 周边资源较少 2. 开发复杂的组件可能会很麻烦 3. 自定义配置显得很麻烦 4. 很多具有副作用的数据操作this.itemskey=value 5. 高流量可能会给服务器带来压力 6. 只能在某些挂钩中查询和操作DOM 1. Next不是后端服务,应该与后台操作独立开 2. 如果你只想创建一个简单的WEB应用,那么它可能会是牛刀杀鸡 3. 数据会在客户端和服务器重复加载 4. 没有实现前后分离的项目,迁移到Next是一件痛苦的事,可能需要双倍工作
性能 中实现的基本的 HelloWorld 应用。每秒能处理190.05 个请求。平均一个请求时间为 52.619ms。在此度量标准上,Nuxt 与 Next.js 框架相比表现最差 基于 Next 框架实现的Hello world程序,每秒能处理 550.87 个请求,每个请求平均花费时间为 18.153ms
上手难度

通过上面表格对比可以看出,Next.js 框架是更好的选择!

Next.js 框架调研

什么是 Next.js ?

相关推荐
JustHappy9 分钟前
古法编程秘籍(七):互联网到底是什么?把两台电脑怎么说话搞懂就够了
前端·后端·网络协议
老毛肚12 分钟前
jeecg-boot-base-core 02 day
javascript·python
snow@li13 分钟前
SEO-文章标题:写文章时候,分类+主标题+大纲+解释 作为标题 / 不点进去也知道全文覆盖什么 / 标题即架构
前端
kyriewen1 小时前
Git Commit 前自动修复代码风格?配置 Husky + lint-staged,从此 CR 只聊逻辑
前端·git·面试
小和尚同志1 小时前
AI 自动化测试探索(一):Playwright MCP
前端·人工智能·aigc
老马识途2.02 小时前
在AI的帮助下理解spring的启动过程
java·前端·spring
徐小夕2 小时前
Loop Engineering 深度解析与实战指南(全网最全)
前端·算法·github
运筹vivo@2 小时前
Python ContextVar 底层机制与内存模型拆解
前端·数据库·python
#麻辣小龙虾#4 小时前
基于vue3.0开发一款【固废与废气运维管理系统】(支持源码)
前端·vue.js·vue3
Cosolar4 小时前
Docsify零构建文档站完全指南:从快速搭建到企业级部署
前端·开源·github