2

现在的前端技术栈真的太恶心了!

 2 years ago
source link: https://www.v2ex.com/t/821702
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

V2EX  ›  程序员

现在的前端技术栈真的太恶心了!

  jezal · 11 小时 36 分钟前 · 3776 次点击
现在的前端技术栈真的太恶心了!
我就想用个 react ,写个简单页面,npm 、yarn 给我整几千个包
各种框架 Vue 、React 、Angular...
又是打包、又是编译,webpack 、babel...
人山人海一样的各种配置...

遥想十来年前自学那会儿
前端干净、简单、实用、快速,像童话一样
不要跟我说现在项目复杂度高,也没见搞成多复杂的业务需求

前端的兄弟们,你们是怎么挺过来的?
你们觉得现在用着爽么?
68 条回复    2021-12-13 08:37:59 +08:00

wunonglin

wunonglin      11 小时 34 分钟前   ❤️ 2

seliote

seliote      11 小时 33 分钟前

说的对,我用 Flutter 一把梭

wangkun025

wangkun025      11 小时 33 分钟前

深深认同。

renmu123

renmu123      11 小时 32 分钟前 via Android   ❤️ 6

说得对,别和我说什么 vue ,react ,我只用 jQuery ,一把梭。

SorcererXW

SorcererXW      11 小时 30 分钟前

直接用 nextjs ,全都封装好了

zhangfeiwudi

zhangfeiwudi      11 小时 28 分钟前

同感,几年没写前端了 最近一直犹豫要不要花时间看个前端框架

shyangs

shyangs      11 小时 28 分钟前   ❤️ 5

LancerComet

LancerComet      11 小时 27 分钟前

浏览器直接引 JS 开写依然存在,可以抛弃各种构建工具

vue666

vue666      11 小时 27 分钟前

这还好了,主要还是太杂了,更新换代快, 淘汰快, 就以最近几年跨端或者说移动端 app 为例, 有些公司用 uni-app, 有些公司原生 h5 然后跟安卓工程师联调, 有些公司用 rn, 有些公司用京东的 taro, 一小部分 flutter, 这就造成了你不知道该怎么学好了, 如果以市场需求最多的来学, 你会发现, 很多人都会, 如果以市场比较少的来学, 你会发现你学起来比较吃力, 而且后期发展似乎不怎么好,因为你不确定类似于 flutter 这样的东西在国内以后是否会有比较好的发展趋势, 那我 的投入和收入不成功正比了

jezal

jezal      11 小时 22 分钟前

@LancerComet 关键是现在很多 package 都是基于这套体系对外提供的,直接引用会有各种问题

lupkcd

lupkcd      11 小时 20 分钟前

vue 可以像 jq 那样用啊

wu67

wu67      11 小时 14 分钟前

其实这些还好...ts 才是最怪的...披着前端外皮的静态语言, 只不过编译结果是 js 罢了...

joydragon

joydragon      11 小时 12 分钟前

你这情况写写纯 html 就行了啊

Kilerd

Kilerd      11 小时 10 分钟前

你说的对,但是这话换成 spring 也丝毫没有任何问题。

bnrwnjyw

bnrwnjyw      11 小时 6 分钟前 via iPhone

你写 c 不用编译吗?写 makefile 就不烦? c 不需要依赖?只不过你用的依赖大部分都系统内置了罢了。

ashong

ashong      11 小时 4 分钟前 via iPhone

刚开始烦,用习惯就顺手了。

web 要兼容老旧浏览器还必须用 webpack babel 等工具。

maddot

maddot      11 小时 0 分钟前

jQuery 走天下

thinkershare

thinkershare      10 小时 59 分钟前

因为工作本来就是真个样子, 有你爽的地方, 也必然有你不爽的地方, Web 前端变成今天这个样子. 根源在浏览器这个破玩意诞生的时候就决定了

gamexg

gamexg      10 小时 57 分钟前

非前端,
最头大的是,有的项目一段时间不动再次编译直接失败。
前端项目是有依赖管理,但是不明白为什么会出问题。

ALVC666

ALVC666      10 小时 57 分钟前

讲道理比以前爽多了。。
当然要就写个 playground 的话 你要是想快直接 cdn 引用梭起来也可以的呀

dfkjgklfdjg

dfkjgklfdjg      10 小时 49 分钟前

我当初刚开始接触三大框架的时候也是这样想的,但是上手了之后,卧槽真爽。

DOLLOR

DOLLOR      10 小时 44 分钟前   ❤️ 2

以前写个页面还要操心 IE56789 的时代,才是真正的黑暗时代,经常要玩各种奇技淫巧,一点也不干净、简单、实用、快速。

现在才是真的爽,不用操心兼容性了。
jquery 这种过时的玩意我都不用了,直接抄起 vanilla 就能干活。

agdhole

agdhole      10 小时 44 分钟前

写个简单页面根本不用关心什么配置,cli 安装一路回车就能用了

xption

xption      10 小时 39 分钟前

最近在学习 TypeScript 、Vue 、Electron 等
和楼主一样,之前接触前端还是十年前,也有 LZ 类似的感觉
不过抱怨归抱怨,抱怨完还是要拥抱时代

huijiewei

huijiewei      10 小时 31 分钟前

并不想回到以前

cmdOptionKana

cmdOptionKana      10 小时 27 分钟前   ❤️ 2

楼主说 “我就想用个 react ,写个简单页面”,楼主又说 “关键是现在很多 package 都是基于这套体系”

这就是问题所在了,react 以及一些 package ,本就不是为简单页面设计的,本就是为复杂页面设计的。

要是简单页面,你依然可以用 jQuery 那一套老办法,bootstrap 也是完全支持老一套。

不能去用一个本来为复杂页面设计的技术,然后又怪它太复杂。

cmdOptionKana

cmdOptionKana      10 小时 23 分钟前   ❤️ 2

“不要跟我说现在项目复杂度高,也没见搞成多复杂的业务需求”

既然你的项目不复杂,那为啥要强行用 react ?不复杂的页面需要什么库找不到可 cdn 直接引用的替代品?

而别人的页面,要么真的复杂,要么人家用这些工具不觉得烦,那都是别人的事情,你不能替别人烦啊。

GiantHard

GiantHard      10 小时 19 分钟前 via Android

简单项目直接 vue-cli angular-cli vite-react 起手啊,都是开箱即用的,不需要配置的啊

wanguorui123

wanguorui123      10 小时 15 分钟前

原生 JS 一把梭

toacnme

toacnme      10 小时 15 分钟前

没有,其实久了还是很爽。
无论是开发体验还是在应用上。

shanyuhai123

shanyuhai123      10 小时 11 分钟前

对于想接个前端活就跑的来说是恶心了,但是天天接触的表示很好。

janus77

janus77      10 小时 7 分钟前

所以就两条路
要么放弃 react 这种现代大型框架,jq 一把梭
要么走 java 的路,全面拥抱 IDE ,IDE 已经帮你整合大部分工作了,一键即可。
狗头

Buges

Buges      10 小时 3 分钟前 via Android   ❤️ 1

试试 vite ,开箱即用,别管 webpack ,babel 那些了。
不过 npm 项目依赖数量多、层级深确实是个诟病的地方。

codingBug

codingBug      9 小时 48 分钟前 via Android

不是做前端的肯定觉得恶心

dtysky

dtysky      9 小时 41 分钟前

2021 年了,别再讨论这些了。

opengps

opengps      9 小时 12 分钟前 via Android

不光是前端,各个环节都在避免重复造轮子来提高效率。如果真的追求某些极致才有必要去从零开始写东西,当然,因为需要借用各种轮子的带来的感受并不好

kinghly

kinghly      8 小时 51 分钟前 via Android

恶心 === 学不动

Edsivan

Edsivan      8 小时 41 分钟前   ❤️ 1

既然是简单页面,为啥要用 SPA 呢?直接以 script 的方式引入 react 或者 vue 对应的 prod.js 就可以了啊。不会 !== 恶心。

Pastsong

Pastsong      8 小时 38 分钟前

jquery 挺好的,自己不爱写那些 SPA 的话完全不用躺浑水

FightPig

FightPig      8 小时 34 分钟前

node_modules 目录是真的恶心,前阵子硬盘没坏前,隔一个月我就要清理一下硬盘的 node_modules ,每次都能清出 30 多 g

learningman

learningman      8 小时 25 分钟前

你不想用就别用啊。。?直接写原生 js 是不能运行还是咋了

Osk

Osk      8 小时 19 分钟前

其他还好, 最受不了的是 node_modules 这个无底洞, 因为 js 不像其他的语言那样有强大的标准库, npm 随便一个小工具一大坨依赖, 一大坨小文件真的是难受啊. 动不动以万计的小文件, 人都给整傻了. 而且感觉这样很危险, 依赖的依赖的依赖一挂, 简直噩梦; 另外, 还徒增了供应链攻击的风险.

Rocketer

Rocketer      8 小时 14 分钟前 via iPhone

学之前跟楼主一样的想法。

学之后——我艹,真香!

zxw567

zxw567      8 小时 12 分钟前

楼上嫌弃 node_modules 的可以试试 pnpm ,可以复用已有的依赖,避免多次重复下载

tfu

tfu      8 小时 9 分钟前

今天刚尝试用 vue 想写个单页 web 应用,确实被恶心到了,我就一个页面放在以前可能就三个文件就搞定了( html ,js ,css ),现在安装一堆包,也不知道用不用得上,连哪些包是干嘛的都不知道,搞得有点头大。和楼主感同身受。

ochatokori

ochatokori      8 小时 6 分钟前 via Android

十来年前的东西又不是不能用,谁爱用谁用,可以不用委屈自己上脚手架…

ayase252

ayase252      7 小时 59 分钟前 via iPhone

😅都快 2022 年了

这种贴没记错的话每个月一遍吧

FightPig

FightPig      7 小时 57 分钟前

@zxw567 最近 一直在用 pnpm ,硬盘占用并不见少多少,node 有很多一行代码解决的问题,也要引个包,11 月 node 包被挂恶意程序的我知道的已经有两回了

IGJacklove

IGJacklove      7 小时 57 分钟前

要不是我写过 jQuery 我还真信了你的邪.现在比以前舒服多了吧,以前我自己写着玩的 jQuery 过几周我自己都看不太懂.

toma77

toma77      7 小时 56 分钟前

试试 Svelte ,爽的一批

godmiracle

godmiracle      7 小时 11 分钟前

@Osk pnpm 用起来

changwei

changwei      7 小时 6 分钟前   ❤️ 4

react-create-app 或者 vue-cli 脚手架工具帮你直接一键生成好各种环境
react-scripts 甚至帮你封装好了最优化的 webpack 配置,你可以享受到只用更新 react-scripts 就能体验最新和最优 webpack 配置的便利性,而不需要学习 webpack 以及各种 babel ,各种 loader 本身的配置
npx react-create-app app 然后打开 App.jsx 就可以直接开写业务逻辑,需要 sass 直接 npm install node-sass ,需要 typescript 也直接安装一下依赖就好,整个过程全部都是背后的 react-scripts 帮你做好了 webpack 和相关配置,并且还是最优配置,我实在想不到还有什么比这更方便的开发方式?
要发布生产环境也可以直接 npm run build 一键生成最优化的 js 和 css 代码,直接 copy 到 nginx 的 webroot 就能运行,简直不要太方便
难道手动去 copy 最新 jquery 引入链接,手动引入各种 vendor 还要考虑依赖和加载顺序,手动配置开发 server ,手动用 link 引入各种 css ,手动使用各种 document.getElementById 然后再用 element.innnerHTML 等各种 HTML DOM API 修改与读取 DOM 内容这种开发方式会很简单?

vision1900

vision1900      6 小时 30 分钟前

目前的情况是一个非常好的后端工程师不需要了解前端,一个非常好的前端工程师必须了解后端

noqwerty

noqwerty      6 小时 11 分钟前

@changwei #52 作为一个对前端了解不多的人,写新项目的时候确实很方便,通过你说的这些脚手架工具很快就能搭起环境。潜在的弊端是我根本不知道生成的这些文件是做什么的,它们之间依赖关系是怎样的,修改起来可能牵一发而动全身。而一旦需要深入了解就进入到了楼主说的情况,想写几个界面结果要学一大堆配置文件😂

xujinkai

xujinkai      5 小时 54 分钟前 via Android

主要是工程目录太庞杂了,自动生成的配置又复杂无比,虽说不一定要手动去配,但确实是看着“恶心”。
拿其他语言举例,C#工程默认就是一个 csproj 文件和一个 cs 文件,上手“看起来”就友好一些。c 语言,起手一个 c 文件,再 Makefile 里写两行,得从零写,但也很清晰。
而前端,npm 先搞进来几千上万个文件,一大堆 json 配置,我这种新手根本搞不清依赖关系,哪个能改哪个不能改,自然看着“恶心”。
啥时候前端工程能起手一个 html/js 一个 config ,同时还能处理各种依赖和兼容,就不会被吐槽了。

ericgui

ericgui      4 小时 36 分钟前

你如果仅仅是随便用用,cra 足够了,但作为一个专业前端,你还是要学习一下怎么用这些构建工具的,有很多复杂的情况需要考虑,这些构建工具确实能帮到你

3dwelcome

3dwelcome      4 小时 6 分钟前

不仅仅是技术上的复杂,工具太复杂,你还可以选择性忽略。

但是前端计算能力上去后,需求也变极其复杂,导致代码量上去后,不好维护,这才是最要命的点。

天天写一大堆逻辑,功能是强了,代码也乱了。也不知道是好事还是坏事。

eason1874

eason1874      1 小时 55 分钟前

现代前端开发环境已经跟后端一样复杂了,开发效率提高了,门槛也提高了

Vue 有 standalone 版本,可以脱离前端开发工具链,像库那样引入文件然后写代码

randyo

randyo      1 小时 53 分钟前 via Android

jQuery 才是真的恶心,不想回去用那个玩意

Infinitify

Infinitify      1 小时 37 分钟前

@Buges vite 好像用的人还不太多,否则可以用一下。

kensoz

kensoz      49 分钟前

即便恶心,面试要考也得学啊

Mutoo

Mutoo      48 分钟前 via iPhone

npm 符合真香定律

lagoon

lagoon      43 分钟前

得看这是你需要掌握的复杂,还是不需要掌握的复杂。

写几行字,还要一个操作系统。我在纸上写几行字就只用一支笔和纸。

倒不如说,这是对“懂底层”的讽刺。文员不能光会写 office ,还要懂操作系统原理。

sciel

sciel      29 分钟前

react,nextjs,SWR,react-bootstrap,react-toastify,react-use-websocket...真的不错。
组件方式写页面很爽,全都封装成对象来处理,各种组合调用。不过在选择到底用服务端渲染还是客服端渲染时要仔细一点。

想象一下,一个取消和提交的 button 按钮封装成一个组件对象,在你的所有页面中,你想要用都可以调用,而且你要换样式或加什么其他东西,在这个组件里面进行修改,所有你用到的都会改变,那不很舒服,而且代码少很多。

Geo200

Geo200      28 分钟前

@ashong
必须要用 webpack 那就不对了,只用 jquery 还真的能直接兼容到 IE6

pcbl

pcbl      14 分钟前 via Android

没有需求就创造需求,没有门槛就创造门槛

alexkkaa

alexkkaa      5 分钟前 via Android

这个应该是 npm 的锅吧。归根结底前端发展太快,轮子爆炸式增长。

4ark

4ark      3 分钟前 via iPhone

@gamexg 不锁版本的吗

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK