当年很流行,现在已经淘汰的前端技术有哪些?

news2024/12/22 2:49:21

近几年,前端技术真可谓是飞速发展,不断有新的技术涌现,爆火的前端框架 Astro,前端运行时 Bun,构建工具 Vite 等都给前端提供了强大动力。当然,也有很多前端技术随着技术的发展不再需要使用,有了更好的替代方案。本文就来盘点一下那些不再流行的前端技术,以及对应的现代化替代方案。

本文提到的技术不代表不能再使用了,其仍存在一些适用场景,并且很多遗留老项目可能是使用这些技术实现的,需要进行维护。只是在新项目技术选型时,应尽可能考虑使用更为现代化的前端技术。

jQuery

jQuery 仍然是一个很流行的 JavaScript 库,其生态系统中有超百万个插件。但这是一个技术上的历史遗留问题,并不是真的很流行,只是很多老网站仍然使用。根据 BuiltWith 的数据,排名前 100 万的网站中有 78% 仍以某种方式使用 jQuery,很大一部分原因是 WordPress 使用了 jQuery,而很多网站都是使用 WordPress 创建的。

虽然 jQuery 依然被广泛使用,但它已经不再是前端开发中的必须技术。现代前端框架已经内置了许多 jQuery 的功能,并且具有更好的性能和更少的代码。

如果要开发新的前端应用,可以选择当下流行的前端框架,如 Vue、React、Nuxt.js、Next.js 等。

React 类组件

最开始,React 中的组件都是类组件,需要结合生命周期来编写,写起来很麻烦。直到 v16.8 版本引入了 Hooks,得以让我们更方便的使用函数组件,函数组件的代码也更加清晰易懂。

图片

因此,理解类组件是如何工作的以及生命周期方法仍然是很好的。但如果正在编写新的 React 组件,建议使用带有 React Hook 的函数组件。

Bootstrap

Bootstrap 是一个流行的 CSS 框架,它提供了预定义的CSS样式、网格系统、JavaScript插件以及许多可重用的组件,如导航栏、按钮、表单等。在七八年前,很多网站都使用 Bootstrap 来编写,当时他们声称自己是“世界上最先进的响应式前端框架”。但是,现在来看,Bootstrap 的样式并不是很美观,还存在包体积大,难以自定义,实现落后,开发体验不好等问题。

如今,有很多更优秀的替代方案可以选择,比如:

  • UI 组件库:Ant Design、Element UI、Arco Design;
  • CSS-in-JS:Styl-Components、Emotion;
  • 功能类优先框架:Tailwind CSS、UnoCSS。

Python Django

Django 是 Python 语言的一种 Web 开发框架,曾被广泛用于创建动态网站,但由于现代前端技术如 React、Angular 和 Vue 的兴起,Django 已经不再是前端开发中的必须技术。Django 相对于现代前端框架来说,生态系统不完善,开发难度更大,并且不符合现代开发的前后端分离的理念。可以选用现在更为流行的前端框架,比如 React、Vue等。

AngularJS

AngularJS 由 Google 于 2010 年发布,当时最著名的 JavaScript 库是 jQuery。AngularJS(也称为 Angular 1)不仅仅是一个库,它是一个将 MVVM 概念带入前端开发世界的完整框架。

2016 年,我们今天所熟知的 Angular 发布了。注意,不要把 AngularJS 和 Angular 混淆了。AngularJS 从版本 2 开始就被 Angular 取代了,目前已经不再被 Google 官方支持和维护。

图片

Angular 是一个用 TypeScript 编写的现代化前端框架,是对 AngularJS 的改进和升级。它采用了组件化编程范式、模块化体系结构,并提供了更好的性能、可扩展性和可测试性。Angular 又被称为 "Angular 2+" 或 "Angular Next"。

对于新的项目,可以选择使用 Angular 来开发,但是更推荐使用更受欢迎的 Vue 和 React 来开发,因为在国内这两个框架使用的更多,生态更加完善,社区比较活跃,这也意味着遇到问题时更容易解决。

Ajax

Ajax 在前端开发中曾经被广泛使用,但现在已经成为基本技术,不再是独立的技术。Ajax 只有在前端面试中可能会被问到,很少会在实际的项目中需要编写 Ajax。Ajax 的功能简单,使用起来有很多局限性,推荐使用功能更全面的第三方数据请求库来处理数据请求,比如 Axios,它们的功能更加全面,使用起来也更方便,或者更现代化的前端请求 API:fetch。

Grunt、Gulp

Grunt 和 Gulp 都是前端自动化构建工具,它们可以帮助开发者自动化地执行文件编译、压缩、合并等任务:

  • Grunt 是一个基于配置的前端自动化工具,开发者需要通过编写详细的配置文件(Gruntfile.js)来描述任务的执行过程。Grunt 的生态系统中有大量的插件,覆盖了几乎所有前端开发中可能用到的任务,这让开发者可以快速找到适合自己的插件并加以利用。
  • Gulp 是基于流式处理的前端自动化构建工具,它的核心理念是使用流来处理文件。在任务执行过程中,文件以流的形式在任务之间传递,这种方式使得 Gulp 的构建过程更加高效,并且能够减少磁盘的读写操作。

虽然这两个工具都很强大,目前还有一些使用场景。但是随着前端的快速发展,出现了很多更为现代化工具,比如 Webpack、Vite 等,这些工具使用更简单,效率更高,推荐使用这些现代化的构建工具。

雪碧图

CSS雪碧图是一种将多个小图标或图片合并成一张大图的技术。通过将多个图标或图片合并成一张大图,然后使用CSS的背景定位来控制显示不同部分的图像,从而减少了页面加载的请求次数,提高网页性能。

但是随着前端技术的快速发展,出现了更多实用的技术,比如 SVG、iconfont,这些技术提供了更多灵活性和便利性,很多情况下可以取代雪碧图。HTTP 2 的出现使得一次可以请求多个文件,雪碧图存在的意义就不大了。并且,由于雪碧图使用复杂,不易维护,一张图崩了整个网页的图标就都崩了,图标位置确定后就不好再修改等问题,不再需要雪碧图这种形式。

IE兼容技术

2022 年 6 月 16 日,IE 浏览器正式退役,之后将由 Edge 浏览器接棒继续提供服务。许多网站和程序要求兼容 IE,IE6 对 W3C 标准支持不够友好,这可能是很多前端开发的噩梦了,IE6 的普及导致之后的 20 年间,不断有开发者因为适配需要适配 IE6 而焦头烂额。

如今,IE 浏览器,由现代浏览器 Edge 继续提供服务,Edge 紧跟最近的技术,快速更新和维护。开发者也不再需要学习那些令人头疼的兼容 IE 的技术了,喜大普奔!

图片

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

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

相关文章

【数据结构】线性表(十一)队列:双端队列及其基本操作(初始化、判空、判满、头部入队、尾部入队、头部出队、尾部出队、存取队首队尾元素)

文章目录 一、队列1. 定义2. 基本操作 二、顺序队列三、链式队列双端队列0. 头文件1. 队列结构体2. 初始化3. 判断队列是否为空4. 判断队列是否已满5. 头部入队6. 尾部入队7. 头部出队8. 尾部出队9. 存取队列头部的元素10. 存取队列尾部的元素11. 释放队列内存12. 主函数13. 代…

每日一题 2678. 老人的数目(简单)

简单题,不多说 class Solution:def countSeniors(self, details: List[str]) -> int:ans 0for l in details:if int(l[11:13]) > 60:ans 1return ans

CSS设置超出范围滚动条和滚动条样式

CSS设置超出范围滚动条和滚动条样式 效果展示 当块级内容区域超出块级元素范围的时候,就会以滚动条的形式展示,你可以滚动里面的内容,里面的内容不会超出块级区域范围。 未设置超出隐藏,显示滚动条 超出隐藏,显示滚动…

APP软件外包开发设计原则

设计一个成功的APP需要遵循一些关键的设计原则,以确保用户体验良好、功能明晰、吸引力和易用性。以下是一些重要的APP设计原则,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。 用户为中心&…

Ubuntu系统中安装libcurl库用来做爬虫

在Ubuntu系统上运行爬虫,可以使用libcurl的方式简单部署libcurl爬虫管理平台。在libcurl库中,可以使用普通任务和定时任务来运行爬虫。同时,还可以添加依赖包和配置消息通知钉钉机器人等功能。如果需要使用Python-bs4库,可以通过系…

从GitHub火到头条!这份万众期待的阿里内部JAVA面试手册,开源了

前言: 现在的互联网开发岗招聘,程序员面试背八股文已经成为了不可逆转的形式,其中一个Java岗几百人在投简历也已经成为了常态!更何况一份面试题动辄七八百道,你吃透了,技术只要不是很差,面试怎…

开发中常用的版本管理工具有哪些?

一、是什么 版本控制(Version control),是维护工程蓝图的标准作法,能追踪工程蓝图从诞生一直到定案的过程。此外,版本控制也是一种软件工程技巧,借此能在软件开发的过程中,确保由不同人所编辑的…

网站页脚展示备案号并在新标签页中打开超链接

备案时,我们就注意到,备案成功后需要在网站首页底部展示“备案号”,并将备案号链接至https://beian.miit.gov.cn。 这里我使用了WrodPress中的主题,主题自定义中有提供对页脚文本的编辑,支持用css标签定义样式。若是自…

创意无限,图文生成如虎添翼:星火大模型的威力

在数字化的时代,讯飞(iFlyTek)的星火大模型已经走在了创新的前沿。它以卓越的技术和无与伦比的免费政策,为创作者、开发者和企业家们提供了创新无限的可能性。 星火大模型最新亮点 多样性无限,星火助手数量达4000 星火…

Post-Process1-水下

一、新建第三人称游戏项目,我这里选择C,你也可以选择Blueprint。 新建一个Level,命名为DemoUnderWater 保存一下,命名为DownUnderWater 添加水插件 选择Yes 勾选Show Engine Content和Show Plugin Content,在左侧可以看…

Mysql如何确定执行计划是最优开销?Mysql优化器!

1. 什么是 MySQL 优化器? MySQL 优化器是 MySQL 中的一个核心组件。MySQL 优化器的主要职责在于确定查询的执行计划。在数据库中,同样的查询可以有多种不同的执行方式,如使用不同的索引,使用不同的连接顺序等。每种执行方式都有其…

C++之std::string

string类与头文件包含&#xff1a;#include <string> string构造方法&#xff1a; // string constructor #include <iostream> #include <string>int main () {std::string s0 ("Initial string"); //根据已有字符串构造新的string实例// cons…

紫光展锐发布全新6G白皮书,展望泛在融合发展蓝图

自2019年5G蜂窝技术正式商用以来&#xff0c;5G网络建设如火如荼&#xff0c;各类形态的5G终端层出不穷。5G商用推进的同时&#xff0c;6G研究也在全球范围内拉开帷幕。2023年6月ITU发布了《IMT面向2030及未来发展的框架和总体目标建议书》&#xff08;下文简称“建议书”&…

Java基于SSM开发的企业员工管理系统源码

主要功能 包括部门、岗位、工资、员工、请假、审批管理。普通员工可请假查看工资等&#xff0c;管理员可审批、管理员工工资等。 演示视频&#xff1a; https://www.bilibili.com/video/BV1c94y1j7QM/?share_sourcecopy_web&vd_source11344bb73ef9b33550b8202d07ae139b …

MAC上,自动操作+一行命令,实现图像化的微信双开

通过Mac上的“自动操作”和一行代码实现图像化的Mac双开 1、先看看效果在这里插入图片描述 2、Mac上&#xff0c;一行命令解决微信双开的问题 nohup /Applications/WeChat.app/Contents/MacOS/WeChat > /dev/null 2>&1但是每次通过命令行去操作也太过麻烦&#xff0…

简单易用的操作界面,让你轻松制作电子期刊

随着互联网的发展&#xff0c;电子期刊已经成为了越来越多人的选择。FLBOOK在线制作电子杂志平台作为一款简单易用的操作界面&#xff0c;为用户提供了制作电子期刊的便利。 但是你知道如何使用FLBOOK在线制作电子杂志平台制作一本电子期刊吗&#xff1f; 1.点击开始创作&#…

在配置文件“tsconfig.json”中找不到任何输入。指定的 “include“ 路径为“[“**/*“]”,“exclude“ 路径为[]

在vscode中项目下的tsconfig.json莫名报错 解决办法 在目录中随便创建一个后缀为.ts的文件 便不再报错

人手一个助理,三句话让AI替我们上班

目录 前言 从大模型上长出来的 AI 原生应用&#xff0c;才是关键 而这看起来只是一个小小的办公沟通场景&#xff0c;却是大模型重构的一个非常典型的场景。背后考验的也是大模型的综合能力应用 这种从AI原生角度进行的重构&#xff0c;离不开大模型的理解、生成、逻辑、记…

什么是美颜SDK?深入了解直播实时美颜SDK

美颜已经成为了现代社交媒体和直播应用中的重要元素&#xff0c;它使用户能够在拍摄自拍照片或进行直播时改善其外貌特征。美颜技术的普及离不开美颜SDK&#xff08;软件开发工具包&#xff09;&#xff0c;特别是在直播应用中&#xff0c;直播实时美颜SDK正变得越来越流行。在…

如何解决git 发生冲突的场景?

一、是什么 一般情况下&#xff0c;出现分支的场景有如下&#xff1a; 多个分支代码合并到一个分支时多个分支向同一个远端分支推送 具体情况就是&#xff0c;多个分支修改了同一个文件&#xff08;任何地方&#xff09;或者多个分支修改了同一个文件的名称 如果两个分支中…