百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

霸榜的 JavaScript,框架为什么越来越复杂?

zhezhongyun 2024-12-09 18:59 25 浏览

【CSDN 编者按】在这个更新换代无比迅速的时代,没有什么能够永远成为唯一解。JavaScript框架也是如此,不同的框架不断涌现,同一框架的版本也在不断地更新。但是新的就一定好用吗?

原文链接:https://ruky.me/2022/06/07/why-do-javascript-frameworks-get-increasingly-difficult-over-time/

译者 | 章雨铭 责编 | 屠敏
出品 | CSDN(ID:CSDNnews)

JavaScript的框架数量非常多,而且几乎每隔几个月就会有新的框架问世。我知道有些人对于层出不穷的JavaScript框架感到厌烦,因为这些新框架真的太多了。不过,还是有人坚持使用vanilla JavaScript。

这些JavaScript框架的出现实际上是为了方便开发者,帮助他们提高效率,使其能够产出更好的代码。

不过我想不仅仅是我,其他人也可能注意到了,这些框架随着时间的推移变得越来越复杂,反而失去了一些本应该带给开发者的好处——即节省开发者的时间。

我尝试的第一个框架是Angular 1,我花了相当多的时间来学习它。在那个时代,它非常棒。接着Angular 2出现了。Angular 2让我觉得它变得“焕然一新”(也许因为我当时是JavaScript的新手),感觉像是又重新学了个完全不同的框架。

后来,我又尝试使用了React,但感觉它太复杂了,甚至一开始就不符合我的需求。虽然这么说,但是不可否认的是,React依然是一个好的框架,只是不适合我。我认为React适合像Facebook这样的大型应用,但是不适合我这样创建只有少数人使用的简单网络应用的人。(这个观点可能不那么“讨喜”)

然后我又转向了Vue,对我来说,Vue是一股清流——它不需要我设置复杂的开发工具,只需要插入一个脚本标签,就能快速开始项目。

(图源Vue.js官网)

学习起来也不是很复杂,而且它完全满足我的需求。所以Vue成了我心中的No.1框架,直到现在我仍然在使用它创建所有的东西。

再后来Vue 2出现了,其中有一些小的增量变化。而这时由于我已经有能力适应这些变化了,所以我并不在意这些改变。

另外还有一些别的框架,比如ViteJs和NuxtJs,我可以把它们作为基于Vue的框架使用,(我认为ViteJs现在已经独立于Vue,所以可以把它与其他框架如React和Svelte结合起来一起使用)。

没什么好抱怨的,因为从Vue 1切换到Vue 2也没有什么新东西需要学习的。

但是,更新换代似乎永远不会停止了。最近,Vue 3取代了Vue 2,成为默认版本。我相信开发者投入了大量的精力来开发和创造让Vue 3变得更好。

虽然从Vue 2迁移到Vue 3并不困难,但我觉得相比于Vue 1和Vue 2,Vue 3复杂了好几倍。Vue 3让我感觉好像丧失了生产力,而且使用Vue 1时享受的简单性似乎也不复存在了。

所以,为什么我们不能在使这些框架变得更好的同时,不使它们的使用变得更加复杂呢?这是不是不可能实现?

你是否遇到过这样的问题呢?你用过哪些好用的JavaScript的框架呢?欢迎留言告诉我们。

成就一亿技术人

相关推荐

快速掌握Kafka系列《三》配置项总结

往期系列文章:1.快速掌握Kafka系列《一》基本概念入门2.快速掌握Kafka系列《二》常用操作命令汇总目录一、前言二、broker配置2.1三个基本配置2.2其它配置2.3...

智能私有知识库RAG企业级解决方案:开源工具AnythingLLM实操指南

点击上方“顶层架构领域”,关注精彩与你分享在数据安全和隐私保护日益受到重视的背景下,私有化部署大模型的需求日益增长。MintplexLabsInc.推出的开源项目AnythingLLM,为个人...

Zabbix随笔:更换自定义logo及内容

喝杯,安静坐下写个文章。之前关于Zabbix更换logo这事其实比较复杂,随着5.4版本不断迭代,Zabbix官方也是提供了相关方法,相比之前确实容易了不少,但依然是通过命令行来实现。正文...

Windows系统CMD-DOS命令大全及CMD命令与运行命令的区别

Windows系统CMD-DOS命令和开始→运行(win+R)命令的区别首先要知道运行窗口实际是运行系统文件夹下的文件。这样就有区别了,cmd分为外部命令和内部命令。内部命令是cmd自带的命令,例如...

MySQL 5.7 学习: 配置参数(mysql 配置参数调优)

背景:继上次介绍初识MySQL5.6新功能、参数完之后,刚好MySQL5.7又GA了,在官方测试里看到,MySQL5.7在功能、性能、可用性、安全和监控上又提升了很高。现在看看和MySQL5...

Windows命令行command的Shell命令详细解析和语法

CMD命令大全及详细解释和语法CMD命令大全及详细解释和语法MicrosoftWindowsXP[版本5.1.2600]有关某个命令的详细信息,请键入HELP命令名ASSOC显示或修改文...

JShaman本地部署“JS混淆加密”性能测试

JShaman是知名JS混淆加密平台,支持本地化部署。本文简单测试本地部署JShaman的JS混淆加密性能。测试JS文件:40.1cfc40763dac0fe9c500.js大小:2.18KBJSha...

那些年使用Hive踩过的坑(hive.one)

1.概述这个标题也是用血的教训换来的,希望对刚进入hive圈的童鞋和正在hive圈爬坑的童鞋有所帮助。打算分以下几个部分去描述:Hive的结构Hive的基本操作HiveSelectHiveJoin...

「技术分享」音乐-CD播放介绍(cd播放是什么意思)

音乐(deepin-music)是deepin自研的一款音频播放软件,能广泛支持播放本地或外部媒介中的音频文件,其中就包括对CDDA(CompactDisc-DigitalAudio)标准的支持。...

超级全的宝马模块缩写、常用缩写、中英对照,值得收藏

AAustauschbar可替换通过零件号码下一行ABAirbag安全气囊ABEAllgemeineBetriebserlaubnis普通操作许可证ABSAnti-Blockie...

深入探讨HBASE(深入探讨石菖蒲的功效与作用)

HBASE基础1.HBase简介HBase是一个高可靠、高性能、面向列的,主要用于海量结构化和半结构化数据存储的分布式key-value存储系统。它基于GoogleBigtable开源实现,但二者...

小容量硬盘福音:Win10新增Compact系统压缩功能

IT之家讯好消息,在Win10中,微软新添加了Compact系统压缩功能,可以对所有的系统文件进行压缩,它有点类似于之前Win8.1(withupdate1)中的wimboot功能,不过,Com...

实现前端传递参数进行加密,Java后端接收数据解密

下面为你介绍前端传递参数加密、Java后端接收数据解密的实现方法,这里以常见的AES对称加密算法为例。前端加密(使用JavaScript和CryptoJS库)CryptoJS是一个强大...

CSS面试题:CSS布局的问题面试题(div css面试题)

1.实现两栏布局的方式你知道那些方法?(其实就是我们经常在开发中使用到的'左边宽度固定右边宽度自适应')那我们应该如何回答呢?1.1下面是回答该问题的一种思路:1.实现两栏...

CSS calc使用(css中calc是什么意思)

calc使用用于动态计算长度值。需要注意的是,+、-运算符前后都需要保留一个空格,例如:width:calc(100%-10px);任何长度值都可以使用calc()函数进行计算;calc(...