2024年,Web开发新趋势!

在这里插入图片描述

随着我们迈入新的一年,现在正是审视2024年网页开发领域开始流行哪些趋势的绝佳时机。回顾2023年的一系列更新,以下是来年一些热门话题的概览。

自主托管有回归的趋势

近些年,自主托管一直是网页开发者和公司托管其应用程序的默认方式。开发者不得不深入研究IIS、Nginx或类似工具以便更好地托管他们的Web应用程序。

随着发展,云服务的出现使开发者得部署变得更加轻松便捷了,与自己手动部署的方法相比,简直就是傻瓜式操作。不再有服务器维护的噩梦,对吧?

云部署以其经济性和便利性,快速地取代了传统的自主托管解决方案。与自主托管相比,后者需要你拥有和维护服务器,包括更新系统、修复安全漏洞等繁琐任务。
Docker技术的兴起,正在逐步解决一个长期存在的问题——即应用在开发者的本地环境中运行良好,但在生产环境中却出现问题。随着Docker的普及,这种“在我电脑上可以,但在生产环境中不行”的现象开始减少。
尽管如此,云部署的便利性仍然具有其独特的吸引力,特别是对于那些不希望深入了解网络、管理和虚拟机处理知识的人来说。

此外,随着家用服务器价格的下降,以及网络附加存储(NAS)的广泛应用,个人和小型企业现在更容易处理自己的托管需求。我们现在有像Proxmox和Portainer这样的工具,也使得个人用户能够轻松地托管和管理自己的Docker容器。

值得注意的是,一些公司,例如由Ruby on Rails的创造者之一DHH运营的公司,已经完全转向了自主托管模型。这一转变引发了业界的广泛讨论,这也表明在云服务和自主托管之间,企业正在根据自己的需求和偏好做出选择。

SSR 服务器端渲染:提升用户体验的新趋势

在这里插入图片描述

在React生态中,服务器端渲染(SSR)正成为一个越来越受欢迎的趋势,这主要得益于Next.js的推动。尽管React Server Components是一项新兴技术,但它已经在开发者社区中引起了广泛的讨论。
这些技术正在改变开发格局,一些开发者认为它们具有革命性,而另一些则认为它们并没有带来太多创新,只是在重复已有的解决方案。
不过,它们的共同目标是提供更快的页面加载速度、减少客户端代码量,并提升开发体验。
React Server Components的一个显著优势在于,它允许开发者在服务器上执行和渲染React代码,这预期会带来以下好处:

更快的页面加载时间:由于页面内容在服务器上预先渲染,用户可以更快地看到页面的首屏内容。
减少客户端代码:服务器端渲染减少了需要发送到客户端的代码量,从而减轻了客户端的负担。
改善开发体验:开发者可以直接从React组件安全地访问数据库,而无需通过API,这简化了数据获取和操作的过程。

此外,HTMX是一个因其服务器优先的数据渲染方法而受到欢迎的库。与React Server Components相比,HTMX提供了一种更简洁的方法来吸引开发者,它通过使用HTML和XML的扩展来实现无刷新的网页交互,从而简化了服务器端渲染的实现。
这种方法使得开发者可以更容易地采用服务器端渲染,而无需深入了解复杂的前端框架。

回归单页应用(SPA)

在这里插入图片描述

等等,这不是有点矛盾吗?虽然服务器端渲染(SSR)逐渐成为主流,但单页应用(SPA)依然有其坚定的支持者。他们可能认为我们在追求服务器优先的道路上走得太远,以至于忽略了一个事实——并非所有应用都适合在服务器端运行。
有些应用可能非常动态,涉及复杂的客户端验证,或者你只是想要将现有的Create-React-App架构迁移到Vite。

如果你想知道SPA是什么,或者好奇我为何要在拥抱React Server Components的同时还使用它,我在这里简单解释一下。SPA是一种Web应用,它最初只加载一个Web页面,随后动态更新内容,而无需重新加载整个页面。它通过在用户交互中重写现有网页,而非从服务器加载新页面来实现。
Remix SPA模式就是这种新方法的一个代表。它结合了Vite和React Router,以及Remix特有的功能,比如基于文件的路由。

Wasp是另一个利用Vite为用户带来SPA体验的React框架。这个为React和Node.js设计的全栈框架,大大减少了代码量。尽管是全栈,Wasp专注于以一种标准化的方式部署客户端React应用和Node.js服务器,以实现最大程度的便携性。
这样,你可以在几乎任何地方部署你的应用,也可以选择自行托管,正好印证了最开始提到的自主托管回归趋势。

为了快速开始,Wasp还提供了Open SaaS——一个功能丰富的开源SaaS软件模板平台。你只需克隆它,就能立即获得一个具备身份验证、计费、Open AI API、用户仪表等功能的应用程序。

低级语言的崛起

我们注意到一些低级语言逐渐成为主流,特别是在JavaScript工具的开发中。这一趋势自过去几年开始,并预计会持续至2024年及未来。随着JavaScript生态系统的蓬勃发展,许多优秀的工具都是用JavaScript构建的,这不仅让开发者更容易为其贡献代码,也方便他们根据自己的需求定制和创建插件。

这些工具之所以令人兴奋,是因为它们相较于基于JavaScript的工具,为开发者提供了更高的性能。例如,SWC(Speedy Web Compiler)和Turbopack(Vercel声称其为Webpack的后继者)都是使用Rust语言开发的。此外,Bun是一个用Zig语言构建的多功能JavaScript工具包,它不仅支持作为JavaScript的默认运行环境,还能作为打包工具、测试运行器以及兼容Node.js的包管理器。值得称赞的是,许多新工具在设计时保留了与现有概念的兼容性,这使得从旧工具向新工具的过渡变得相对容易。### 结论

像对待所有事物一样,我们应该对所有预测和潜在趋势持谨慎态度。被今天不断涌现的新技术和工具的炒作冲昏头脑是很容易的。如果你仔细阅读了这篇文章,你可能会自问“这里的AI在哪里?”。我故意没有包括任何基于AI的预测,以提高人们对行业中被忽视的其他酷炫发展和趋势的认识。

你对这些趋势有什么看法?你注意到它们了吗?或者更好的是,你自己也在做这些事情吗?在下面的评论区让我们知道,并分享你的意见!

总结

我们应该对所有预测和潜在趋势持谨慎态度。有时候我们很容易被不断出现的新技术和工具的炒作所冲昏头脑。如果你仔细阅读这篇文章,你可能会想“好吧,人工智能在哪里呢?”。我故意不包括任何基于人工智能的预测及探讨,以提高人们对该行业其他被忽视的新发展和趋势的认识。
你认为这些趋势如何呢?不知道大家注意到了吗?或者是有小伙伴正在,自己做一些这样的事情?可以分享一下你的意见!

参考文章:https://mp.weixin.qq.com/s?__biz=MzU3NzgzMzM1MA==&mid=2247484138&idx=1&sn=f403774965f25a9ea1272b42b0d6a6a0&chksm=fd7fd203ca085b15b74cb40dabb4e2a8247e2dbc120ef3dc07afab40258b29b86fb0905cc7ad#rd

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/10064.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Linux系统编程】第十六弹---冯诺依曼体系结构与操作系统

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】【C详解】【Linux系统编程】 目录 1、冯诺依曼体系结构 2、操作系统原理 2.1、什么是操作系统? 2.2、用图解释操作系统 2.3、理解操作系统 总结 …

ES6+新特性-Let、Const与解构赋值

let:let关键字用于声明一个块级作用域的变量。这意味着变量只在声明它的代码块中可见,并且在代码块外不可访问。let声明的变量可以被重新赋值。 示例: {let x 10;console.log(x); // 输出10 } console.log(x); // 报错,x未定义…

C++ ——排序并保留索引

C自带的排序函数sort只能获得排好序的值&#xff0c;没办法像Matlab一样同时返回排序索引。 下面使用c11中的 lambda来为sort函数添加一个模式&#xff1a; #include <iostream> #include <vector> #include <numeric> #include <algorithm> using n…

SSH简介:安全远程访问的基石

在当今高度互联的数字时代&#xff0c;远程访问技术已成为IT运维、云服务管理以及日常开发不可或缺的一部分。SSH&#xff08;Secure Shell&#xff09;协议正是这一领域中最重要、应用最为广泛的工具之一。本文将深入浅出地介绍SSH的基本概念、工作原理、安全特性以及应用场景…

centos7.9系统rabbitmq3.8.5升级为3.8.35版本

说明 本文仅适用rabbitmq为RPM安装方式。 升级准备 查看环境当前版本&#xff1a; # cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core) # rabbitmqctl status Status of node rabbitmq01 ... RuntimeOS PID: 19333 OS: Linux Uptime (seconds): 58 Is under …

在Tiled中制作动画瓦片图

什么是瓦片图&#xff1f;瓦片图是指用图块把游戏场景评出来 工具安装链接&#xff1a;Tiled | Flexible level editor 资源下载教程 资源下载&#xff1a;Mystic Woods - 16x16 Pixel Art Asset Pack by Game Endeavor 解压后得到一些资源 新建图块集合 Tiled的安装就不介绍…

【MySQL】——课程平台的创建设计

&#x1f4bb;博主现有专栏&#xff1a; C51单片机&#xff08;STC89C516&#xff09;&#xff0c;c语言&#xff0c;c&#xff0c;离散数学&#xff0c;算法设计与分析&#xff0c;数据结构&#xff0c;Python&#xff0c;Java基础&#xff0c;MySQL&#xff0c;linux&#xf…

element-plus表单上传,唯一替换文件校验,封装方法统一管理

<el-formref"ruleFormRef":model"ruleForm":rules"rules"label-width"110px" ><el-form-item label"语言成绩材料" prop"languageList"><div class"dis-flex w100"><el-uploadref…

Column ‘xxx‘ not found.

java.sql.SQLException: Column xxx not found.上面的报错&#xff0c;是目标库表没有该字段&#xff0c;一般是访问错库表或者的确没有对应的字段&#xff0c;又或者是一些分布式数据库的从库schema缓存没来得及更新&#xff1b; 本次遇到上面的报错&#xff0c;一开始排查方…

什么是Meme币?——区块链技术的加密货币

Meme代币是一种基于区块链技术的加密货币&#xff0c;旨在为用户提供一种简单、有趣且易于传播的方式来进行数字资产交易和投资。Meme代币通常与特定的主题或故事相关联&#xff0c;通过社交媒体等渠道进行传播和推广&#xff0c;吸引更多的用户参与并增加其价值。 Meme代币的…

如何用爬虫解决问题

一、介绍 爬虫指的是一种自动访问互联网上网页的程序,通过自动化的方式获取网页上的数据并进行处理。它可以从互联网的各个网站上抓取信息,如新闻、商品信息、图片等,并将这些数据存储或用于其他用途,如数据分析、搜索引擎索引等。爬虫可以模拟人的行为,通过访问网页上的…

英语学习笔记4——Is this your ...?

Is this your …? 词汇 Vocabulary suit /sut/ n. 西装&#xff0c;正装 suit 的配套&#xff1a; shirt n. 衬衫tie n. 领带&#xff0c;领结belt n. 腰带trousers n. 裤子shoes n. 鞋子 school /skuːl/ n. 学校 所有学校 搭配&#xff1a;middle school 初中    hig…

浅谈现代消息队列与云存储

一、前言 1970 年代末&#xff0c;消息系统用于管理多主机的打印作业&#xff0c;这种削峰解耦的能力逐渐被标准化为“点对点模型”和稍复杂的“发布订阅模型”&#xff0c;实现了数据处理的分布式协同。随着时代的发展&#xff0c;Kafka&#xff0c;Amazon SQS&#xff0c;Ro…

【OceanBase系列】—— OceanBase V4.x 中的常用备份恢复 SQL 总结

OceanBase 数据库的物理备份分为数据备份和日志归档。 数据备份指的是备份数据的功能&#xff0c;分为全量备份和增量备份两种&#xff1a; 全量备份是指备份所有的宏块增量备份是指备份上一次备份以后新增和修改过的宏块日志归档是基于 clog 日志数据的一种流式的自动归档功能…

C++牛客小白月赛题目分享(1)生不逢七,交换数字,幻兽帕鲁

目录 1.前言 2.三道题目 1.生不逢七 1.题目描述 2.输入描述: 3.输出描述: 4.示例&#xff1a; 5.题解&#xff1a; 2.交换数字 1.题目描述&#xff1a; 2.输入描述&#xff1a; ​编辑 3.输出描述&#xff1a; 4.示例&#xff1a; 5.题解&#xff1a; 3.幻兽帕…

Spring Boot 读取配置优先级顺序是什么?

在使用 Spring Boot 进行开发时&#xff0c;配置文件是非常重要的一部分&#xff0c;它可以用来配置应用程序的行为、数据源、日志级别等信息。 但是&#xff0c;当配置文件中存在多个配置来源时&#xff0c;Spring Boot 是如何确定读取配置的优先级顺序的呢&#xff1f; 本文…

探索震坤行API:一键解锁高效工业用品采购新纪元!

震坤行是一家专注于工业用品的B2B电商平台&#xff0c;为企业客户提供一站式的工业用品采购服务。虽然震坤行没有直接公开通用的API接口供开发者调用&#xff0c;但通常大型企业或合作伙伴之间可以通过API进行系统集成和数据交互。以下是一个假设性的震坤行API接口调用示例与代…

STM32_HAL_RTC_中断实现闹钟

1STM32设置 在STM32Cude中设置RTC//具体设置看先前发的文章 再打开闹钟中断&#xff08;如下图&#xff09; 2代码思路 2.1启动闹钟&#xff08;HAL_RTC_SetAlarm_IT(&hrtc,&sAlarm,FORMAT_BCD)&#xff09; 2.2设置回调函数&#xff08;void HAL_RTC_AlarmAEventC…

ICRA 2024 成果介绍:基于 RRT* 的连续体机器人高效轨迹规划方法

近来&#xff0c;连续体机器人研究受到越来越多的关注。其灵活度高&#xff0c;可以调整形状适应动态环境&#xff0c;特别适合于微创手术、工业⽣产以及危险环境探索等应用。 连续体机器人拥有无限自由度&#xff08;DoF&#xff09;&#xff0c;为执行空间探索等任务提供了灵…

YOLOv8火焰与烟雾智能检测系统

项目概述&#xff1a; 本项目旨在开发一款高效、实时的火焰与烟雾检测系统&#xff0c;利用先进的深度学习技术——YOLOv8&#xff0c;为安全监控领域提供智能化解决方案。系统不仅能够准确识别视频流或静态图像中的火焰与烟雾&#xff0c;还配备了用户友好的图形界面&#xff…