V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zilan
V2EX  ›  程序员

片面感觉前端(有一部分)是在提高入行门槛

  •  
  •   zilan · 2022-04-20 14:53:59 +08:00 · 9155 次点击
    这是一个创建于 948 天前的主题,其中的信息可能已经有所发展或是发生改变。

    感觉前端(有一部分的行为)是在提高入行门槛,比如复杂的设计,明明简单的方案能解决的问题,一定要设计一个复杂的系统,遇到了问题后再用一个新的复杂的设计来解决新的问题。 终极目的不是为了降低开发成本,而是“提高(自己的)开发体验”,(而有些前端开发者担心技术本体不够简单,任何人都能参与)最终达到了提高技术门槛,实现技术垄断。

    观点有些片面,不知大家怎么看

    第 1 条附言  ·  2022-04-20 17:19:37 +08:00
    感谢大家的回复,提到了很多有用的观点与例子。
    反思一下,个人提出这种观点的本身还是在吐槽系统的过度设计吧,例如刚学习 react 的时候,了解到了 redux 状态管理,本身概念引入就不少,结果需要引入另外的库来解决 redux 副作用。在当时学习的时候就埋下了吐槽的种子。

    再比如:后端开发要晋升,除了设计系统外,有时候解决一个复杂的问题就能够拿出来说一下,而前端几乎不可能用”我圆满的实现了这个业务界面“来分享,造轮子几乎成了唯一出路。

    业务需求在变复杂,前端工程化本身是好的,可能只是觉得现有的设计离“刚刚好能满足需求的”设计程度有些过了?
    100 条回复    2022-04-21 18:24:37 +08:00
    66beta
        1
    66beta  
       2022-04-20 14:57:07 +08:00
    没错,新人我都建议干 Java
    TomatoYuyuko
        2
    TomatoYuyuko  
       2022-04-20 14:58:05 +08:00
    现在还好吧,前几年卷的厉害,而且明显感觉做的前端的人一下子变少了,我刚做前端那会的技术要求是 html 、css 、js 、jquery
    duan602728596
        3
    duan602728596  
       2022-04-20 14:59:14 +08:00
    举个例子?
    zbhcoder
        4
    zbhcoder  
       2022-04-20 15:05:26 +08:00
    举几个例子吧,你说的太笼统了,都是个人感觉的
    lneoi
        5
    lneoi  
       2022-04-20 15:05:49 +08:00
    以前 java 也有见到类似吐槽
    kop1989smurf
        6
    kop1989smurf  
       2022-04-20 15:06:29 +08:00   ❤️ 2
    其中有部分原因是“康威定律”,既“设计系统的架构受制于产生这些设计的组织的沟通结构”。

    开发公司急需让前端的工作和业务剥离开来,缩减前端一线开发的权限和自由度,从而降低前端开发的不可替代性和通用性。增加前端代码的可维护性和标准化。

    “前端工程化”正好命中了这点。
    至于说前端工程化,和软件公司架构需求谁是鸡谁是蛋,那就不好说了。
    Torpedo
        7
    Torpedo  
       2022-04-20 15:10:22 +08:00
    前半部分确实还可以实现。
    但是"最终达到了提高技术门槛,实现技术垄断"。 能实现这部分的,这要多大的影响力啊
    milkmlik
        8
    milkmlik  
       2022-04-20 15:12:18 +08:00
    java 是什么,是 js 的一个分支吗(狗头)
    darkengine
        9
    darkengine  
       2022-04-20 15:14:16 +08:00
    @milkmlik 是的,Java 就是从 JavaScript 分出来的,看名字就知道了嘛 [🐶]
    bingoshe
        10
    bingoshe  
       2022-04-20 15:16:37 +08:00
    都这样的,现在 java 项目,不搞个 springCloud 都不好意思跟人打招呼,问题是,那么点破访问量真的需要分布式吗
    ericgui
        11
    ericgui  
       2022-04-20 15:19:51 +08:00   ❤️ 3
    以前你要适配 IE6 ,现在前端不需要你手动适配各个浏览器了吧?

    所以,你感觉是错的,当然是降低了门槛。

    但前端本身也在进化,深度和广度都有发展,你想着就靠着学会 jquery 几个 API 就吃饭的年代肯定过去了。

    但实际上前端框架也变得非常非常抽象了,把底层都抽象为几个简单的 api ,你来用用了就好了,但对你的期待更高了,现在对前端的要求已经不仅仅是交互了,而是更复杂的工程了,把大量的功能挪到前端了。所以前端当然更复杂了。但这个复杂, 是需求本身变复杂了,前端本身肯定是降低了门槛,提供了更多的工作机会。

    总之,你感觉错了。
    ipwx
        12
    ipwx  
       2022-04-20 15:20:21 +08:00
    问题是,很多功能就是 tm 这么复杂啊。。。
    anguiao
        13
    anguiao  
       2022-04-20 15:22:23 +08:00   ❤️ 1
    由于各种五花八门的工具链,入门确实变得复杂了。但是实际开发起来,体验比以前应该是好太多了。
    CodingNaux
        14
    CodingNaux  
       2022-04-20 15:28:19 +08:00   ❤️ 14
    前端容易把事情搞复杂
    今天 npm, 明天 yarn, 后天 pnpm ( 我选 npm)
    今天 rollup, 明天 webpack,后天 vite. (我选 webpack 或者小几率 rollup)
    今天 angular, 明天 vue ,后天 react (我选 react )
    今天 moment,明天 dayjs ,后天 data-fns. (我选 dayjs)
    今天 redux, 明天 mobx,后天 hook+context. (一般情况我选 hook+context )
    今天 express ,明天 koa,后滩 nestjs (纯前端搞毛 node 后端?我选 nextjs)
    nzbin
        15
    nzbin  
       2022-04-20 15:36:01 +08:00   ❤️ 2
    @CodingNaux 如果你选 angular ,你就不需要再关心 2 ,4 ,5 ,6
    zilan
        16
    zilan  
    OP
       2022-04-20 15:38:43 +08:00
    @ericgui 同意需求变复杂这点
    jjwjiang
        17
    jjwjiang  
       2022-04-20 15:39:06 +08:00
    我感觉说这话的是根本没从上古时代开始干过复杂前端项目的

    在 js 和 jq 时代我不止一次造过乱七八糟但是功能和现代前端框架类似的轮子

    你觉得现在的前端太复杂了,是因为复杂度本来就摆在那里
    shintendo
        18
    shintendo  
       2022-04-20 15:43:28 +08:00   ❤️ 38
    古代造房子都是手撸,现代造房子却要起重机,是不是建筑工人提高行业门槛的阴谋
    你只看到手撸和起重机的差别,没看到房子和房子的差别,当代刻舟求剑了
    码农这种费拉不堪的群体,会为了提高行业整体门槛而牺牲自己,故意用难用的工具干活,说出来你信吗?有这一半的凝聚力也不至于 996 了
    angrylid
        19
    angrylid  
       2022-04-20 15:45:26 +08:00   ❤️ 2
    要在排版系统上构造应用程序是这样麻烦的。
    acthtml
        20
    acthtml  
       2022-04-20 15:45:56 +08:00
    我倒觉得还好,环境变,工具也需要变。
    murmur
        21
    murmur  
       2022-04-20 15:47:40 +08:00
    主要是产品经理问题,我需要 app 的时候,比如对标 office 、sketch 你给我玩 web ,当我只想看新闻,看视频,你逼我下 app
    catinsides
        22
    catinsides  
       2022-04-20 15:53:01 +08:00
    私以为,是因为有了某个复杂的问题,才产生了对应的解决方案(简单的方案解决不了,或者解决起来麻烦)。
    或者是以前的解决方案存在一些问题,然后产生了新的解决方案(以上面说到的 moment 和 dayjs 为例)。
    新人不了解这些历史和原因,所以从外面看是越来越复杂。
    zooeymango
        23
    zooeymango  
       2022-04-20 15:56:12 +08:00
    还行吧, 应该说以前简单是因为只能干那么多内容, 再往上加复杂功能就无法维护了, 现在有模块化有各种框架以前做不了的东西现在能做了, 需求其实是无止境的, 难度的提升就是就是前端的能力在提升
    shintendo
        24
    shintendo  
       2022-04-20 16:00:10 +08:00   ❤️ 10
    奇怪老有人意淫前端曾经有一个“简单,纯净,jq 一把梭,不用关心各种乱七八糟”的田园牧歌时代,也不知道哪里来的印象,看看有这个印象的人多大比例是真写前端的
    Cbdy
        25
    Cbdy  
       2022-04-20 16:00:29 +08:00 via Android
    Java:以前大家都是这么说我的
    sola97
        26
    sola97  
       2022-04-20 16:01:09 +08:00
    感觉相同资历前端工资比后端高。。
    sjhhjx0122
        27
    sjhhjx0122  
       2022-04-20 16:07:35 +08:00
    @CodingNaux 确实 如果你选 angular ,2,4,5,6 确实都不需要关心了
    1016
        28
    1016  
       2022-04-20 16:11:19 +08:00
    @CodingNaux 有点意思哈 哈哈哈哈哈
    DrakeXiang
        29
    DrakeXiang  
       2022-04-20 16:11:37 +08:00
    @sjhhjx0122 ng 难道还包含后端的东西?
    charlie21
        30
    charlie21  
       2022-04-20 16:17:18 +08:00
    客户端。是客户端,angular 没有对标 vue react ,angular 在对标 wpf javafx 。你再说 angular 是前端框架 angular 要生气啦
    ikas
        31
    ikas  
       2022-04-20 16:18:22 +08:00
    万变不离其宗
    一路走来从 flash,flex,js,jquery,extjs,mvc js,wpf,xaml,angularjs,vue..
    ui 端真的有什么变化么?难度在哪里?
    icyalala
        32
    icyalala  
       2022-04-20 16:18:23 +08:00
    @shintendo 2010 年前后,IE 和 JQuery 占绝对的统治地位,但已经十年过去了。。可以先问问还有多少十年老前端
    shyrock
        33
    shyrock  
       2022-04-20 16:19:50 +08:00
    作为一个前端外行,
    我感觉前端框架的问题是缺乏有统治力的框架,导致前端的框架总是后浪推前浪,前浪死在沙滩上。
    新框架有全新的模型完全不兼容旧框架(毕竟是竞争对手,肯定不兼容是最优选择)。
    新框架可能在功能和性能上有 50%的提升,然而学习新框架放弃旧框架的学习成本和项目迁移成本是 100%。
    sjhhjx0122
        34
    sjhhjx0122  
       2022-04-20 16:20:00 +08:00
    @DrakeXiang 会 ng 难道还不会 nestjs 吗。。。
    dcsuibian
        35
    dcsuibian  
       2022-04-20 16:21:17 +08:00   ❤️ 2
    总体来说,我感觉比起 jQuery 时代,现在的前端开发方式真的舒服不少。如果要做页面,那肯定舒服很多。
    但相对而言工具链的配置就整的很复杂。TypeScript 、Webpack 、Babel.js 、Vite 等等。这种东西很复杂,而且弄好了也没有什么成就感。我个人觉得原因主要有:
    1 、web 技术是逐渐发展到现在这个样子的,而 js 、css 在最初设计时没有考虑太多(尤其是 js ,语言错误多,而且缺少基本的模块化语法和作用域等功能)。js 光模块化语法就好几种,搞得异常复杂。
    2 、兼容性。在前端领域,不考虑兼容性基本就是一个死。但是考虑兼容性,又会变得异常复杂。以前是对浏览器的兼容性,而现在是工具链的兼容。你发布一个包,可能要考虑用户是在什么环境下用的,nodejs 还是浏览器,webpack 、rollup 甚至还要考虑具体的版本。整得异常复杂。
    3 、前端生态圈缺少一个像 Spring 这样的整合者。导致大家疯狂地自己造轮子。这点 Vue 还好,有自己的全家桶。React 那边就乱多了,各种搭配层出不穷。
    makelove
        36
    makelove  
       2022-04-20 16:25:24 +08:00   ❤️ 1
    又是没被 jQuery 毒打过的。写一个现代单页,富交互的应用你试试用 10 年前的原始技术栈看看
    sjhhjx0122
        37
    sjhhjx0122  
       2022-04-20 16:25:27 +08:00
    @dcsuibian 虽然我天天写 vue ,但是 ng 的全家桶才是真的全家桶,vue 的还差点意思
    yzbythesea
        38
    yzbythesea  
       2022-04-20 16:31:45 +08:00
    我可以就属于这样的老人吧。刚工作只有 jquery ,写的很得心应手。现在偶尔接触下前端,react redux 已经看得我感觉被时代淘汰了 😓 更别提什么 yarn ,webpack 这些了。

    主要前端知识貌似没有连续性,比如后端,10 年前做 rpc ,和现在火起来的 grpc ,都差不多。前端不知道,可能语法糖太多,基本不怎么通用。
    fstar
        39
    fstar  
       2022-04-20 16:33:47 +08:00   ❤️ 2
    工程化嘛。

    前端在过去很简单,JS 被发明的作用就是给网站加点小交互。
    发展到现在,甚至直接就把桌面端的那一套搬到网页上了,比如谷歌地图、谷歌文档,这是非常复杂的大型项目。
    如果你还像以前一样,直接写 html 、css 、js ,一堆人一起开发,还要考虑兼容问题,命名冲突问题,开发体验很差的,bug 也会多。
    怎么办?用工具(比如打包工具、CSS 预编一起)、用框架( JQ 到 React 和 Vue )、用第三方库( npm )。

    当然前端目前因为快速发展的原因,各种方案和轮子层出不穷,一些轮子可能解决了一些问题,但又带出了其他问题。于是修修补补,出现了新的方案。或者有人觉得不好,又重新定义了一个方案,又一个轮子出现了。

    确实轮子太多了,但也要确实地明白,解决问题的方案并没有一个固定的答案,每个方案都各有利弊,要选择合适自己的才行。
    我们再回到 “提高开发体验” 这件事情,提高开发体验有什么用?可以让产品有更好地交付、更少的 bug 。

    我希望自己脑子里想一个东西,然后计算机自动帮我写好了,而且没有 bug 。但不太可能。

    复杂是为了抽象,为了将日渐繁杂的业务抽丝剥茧,提高代码的可读性和可维护性。
    wu67
        40
    wu67  
       2022-04-20 16:36:02 +08:00
    前端目前最大的毛病就是就是过度设计、过度造轮子. 总是看到其他语言生态的东西就想抄过来, 你一面向过程的语言, 抄个设计思路就算了, 什么玩意都往里抄, 整得各种四不像...
    Biwood
        41
    Biwood  
       2022-04-20 16:37:07 +08:00
    踩一下帖子,希望这种只输出观点或引导情绪的帖子少一点
    chinajik
        42
    chinajik  
       2022-04-20 16:50:57 +08:00
    我觉得是的, 尤其是 react vuejs angularjs 这三大框架谁能说得出应用场景有何不同,但又不尽相同。
    轮子过量设计了,以前我敢说理解 html (结构) css (表现) js (行为) 就能上手的简单工作技能,现在都不知道怎么教新手理解额外的特性
    ccyu220
        43
    ccyu220  
       2022-04-20 16:58:56 +08:00
    不用怀疑,你老了,跟不上时代了。不只是写代码,现实很多东西一样。
    shintendo
        44
    shintendo  
       2022-04-20 17:05:07 +08:00
    @icyalala 那个时代可一点都不简单纯净,是时间美化了记忆
    kett
        45
    kett  
       2022-04-20 17:05:43 +08:00
    我觉得实际干活的时候大部分人都是专心码自己的功能,不会去整体的考虑系统的复杂性的,提高系统的复杂性只会提高一部分负责统筹全局的人的门槛,而对于其它大部分人来说门槛依然是码功能需要掌握的基础知识和框架知识。
    MrKrabs
        46
    MrKrabs  
       2022-04-20 17:06:53 +08:00
    isOdd
    DOLLOR
        47
    DOLLOR  
       2022-04-20 17:13:22 +08:00   ❤️ 4
    作为从 jquery 时代走过来的人,一点也不怀念那个满屏$(xxx).parent().children().before().after()的年代。
    terranboy
        48
    terranboy  
       2022-04-20 17:26:20 +08:00   ❤️ 1
    当项目本身不需要用到一些复杂工具链 而 硬上 就会导致 LZ 的困惑
    xylophone21
        49
    xylophone21  
       2022-04-20 17:37:32 +08:00   ❤️ 1
    》后端开发要晋升,除了设计系统外,有时候解决一个复杂的问题就能够拿出来说一下

    其实差不多,后端可以用”我圆满的实现了这个业务==界面==“来晋升吗?那不是叫 CRUD Boy
    yaphets666
        50
    yaphets666  
       2022-04-20 17:48:36 +08:00 via iPhone
    错就错在你学了 react 啊,vue 有这么多破事吗?
    irisdev
        51
    irisdev  
       2022-04-20 17:51:31 +08:00
    楼上是在反串黑吗
    ChefIsAwesome
        52
    ChefIsAwesome  
       2022-04-20 18:03:34 +08:00 via Android   ❤️ 2
    技术圈有这种给项目加标签的行为。xx 项目用上了 xx 框架,xx 架构,xx 语言。最终产品可能是个没啥功能的博客之类的。
    新手喜欢这样,显得自己潮。老手也喜欢这样,增加绩效。
    举例讲,闲鱼那软件做的啥玩意,可技术面上可是各种创新,各种标签都能打上。
    想学一个新技术,首先是明白作者的初衷是什么,要解决什么问题。为什么旧的东西不可以,要造个轮子。
    以楼主你的例子来讲,mvc 框架之前就有,为什么要造 react ? redux 不是 react 捆绑的东西,而是 react 出来有一阵子之后才出现的,它出现的背景是什么,为什么要做 redux 这个东西?
    知道初衷就能知道使用场景,用起来自然就能游刃有余。
    BoyzX
        53
    BoyzX  
       2022-04-20 18:05:54 +08:00
    只能说现在复杂是复杂在准备与设计阶段,简化了代码实现,以前是简化了准备阶段,但是代码实现和设计也还是一样复杂啊。。。
    haohong725
        54
    haohong725  
       2022-04-20 18:15:37 +08:00
    明明可以通过挖野菜,打点猎就可以满足自己的温饱。
    为什么要去参与这么复杂的社会分工?
    人类这是在提升自己的门槛吗?
    idblife
        55
    idblife  
       2022-04-20 18:20:13 +08:00 via iPhone
    简单问题复杂化
    sunocean
        56
    sunocean  
       2022-04-20 18:27:15 +08:00   ❤️ 1
    技术是拿来解决问题的,觉得简单问题复杂化的,是没有遇到相应规模的问题。
    Sivan
        57
    Sivan  
       2022-04-20 18:29:28 +08:00
    LZ 观察很到位,但现实需要卷起来。否则可能用不了几年这个行业就消失了。

    如果工种 A 一直保持小学一年级的难度,那不继续学习自愿一直留级挣这份钱的人会越来越多。两年后,工种 B 和 C 都上到三年级了,课余时间都把你工种 A 辅修完了,以后研究课题时人家还带你玩吗?而如果需要选一个大队委,你觉得陪着一堆一年级上课的 A 班精英能竞争过 B 和 C 班的人么?
    xiaotianhu
        58
    xiaotianhu  
       2022-04-20 18:55:28 +08:00   ❤️ 3
    提高入行门槛,大概是一个副作用。

    我不太相信,一堆比在座的各位牛逼很多的人,会把『提高入行门槛』作为动力,付出巨大的心血来开发一个复杂的体系。
    说一个另外的小故事,之前在小公司写 PHP ,感觉 CRUD 也就这样了,没什么意思。

    后来这半年在大厂,本质上也是 CRUD ,但是几十万 QPS ,一天几个亿的写入请求,这种规模的 CRUD 导致项目非常复杂,一个保存接口写一个月很正常,为了 SLA 背后一大堆机制,几乎自己造了个 tiKV 一样的分布式数据库出来。

    项目的复杂度指数上升的时候,解决方案就不是线性增加能解决的了。
    agagega
        59
    agagega  
       2022-04-20 19:11:07 +08:00
    你觉得门槛高是因为前端界的技能点点偏了:后端没能力,前端没动力去搞促进前后端协同开发体验的技术,所以前端只能另起炉灶,而传统前端很多东西都没有标准化没有实现,所以几个月一个新技术。资本家其实也喜欢,因为招一个熟练某个框架的只会前端的程序员,肯定比招前后端都懂的容易得多。

    Rails 圈子就不这样:强调约定优于配置,已有轮子的情况下尽量不造新的,非必要前后端不分离。然后呢,圈外也不买这套做法的账啊。正面例子是 Tailwind ,后端喜欢,前端也喜欢。但未来大多数前端新技术还是只会考虑前端程序员,而不是「不论前后端,就是想做产品」的程序员的感受。
    Jooooooooo
        60
    Jooooooooo  
       2022-04-20 23:04:10 +08:00
    你把"前端"想象成一个集体, 对为入行的人设立门槛.

    听起来离谱的很.
    jsiwa123
        61
    jsiwa123  
       2022-04-20 23:53:46 +08:00
    @DOLLOR 我们后台 Vue.js 重构成 jQuery.js + Bootstrap
    Actrace
        62
    Actrace  
       2022-04-21 00:39:55 +08:00
    @xiaotianhu 没有体验过几十万 QPS 的感觉,不过如果是按 10 万 QPS 来算的话,一天应该是 86.4 亿的请求数。贵司生意兴隆啊!
    jones2000
        63
    jones2000  
       2022-04-21 00:59:37 +08:00
    楼主说的前端是工具人前端, 只是调包侠,这个本来就没有门槛,别人都写好了,直接用下有什么门槛。门槛是别人不会你会, 或别人要投入 N 倍以上的成本才能搞定你会的东西。 比如 AI 算法的某一个算法,原来是后台算的, 你通过 wasm 移植到前端,又比如 ffmpeg 前端页面就可以解码播放,这些才是门槛。
    prenwang
        64
    prenwang  
       2022-04-21 02:28:23 +08:00   ❤️ 3
    我感觉已经厌倦软件开发了, 厌倦了一些人喋喋不休的提前端要求, 我是个全栈, 但是前端只能算过得去.

    我最讨厌的是, 一堆领导搞个会议, 本来是讨论一些核心问题的, 结果一堆人最后一大半时间讨论前端了, 按钮怎么设计, 怎么交互, 样式用什么风格, 口吐七尺飞沫喋喋不休.

    我的分析结果, 这堆烂人根本不了解核心的问题, 也不愿意了解, 但是总的表现自己多专业吧, 于是前端成了最好的话题. 他们觉得自己既可以从宏观来讨论前端, 又可以从细节来讨论前端. 又说不完的话, 到会议结束还意犹未尽.

    我觉得真 tm 的恶心. 为了几斗米, 我不得不先坚持下去.
    AyaseEri
        65
    AyaseEri  
       2022-04-21 08:03:16 +08:00
    提高前端门槛的是领导、设计、产品,而不是前端自己。
    kensoz
        66
    kensoz  
       2022-04-21 08:16:16 +08:00   ❤️ 1
    我可以理解
    明明有时候就是简单的逻辑,用不了几次,非要过度封装
    比如整个页面就 2 ,3 个请求,就有人要封装一遍 axios ,还要用各种奇淫技巧封装
    然后因为是否要封装 axios ,大家就会吵,心累
    echo1937
        67
    echo1937  
       2022-04-21 08:45:02 +08:00
    @prenwang #63 我觉得全栈就是资方 PUA ,恨不得从产品到上线一个人就能搞定,就不用招那么多人了。
    anmie
        68
    anmie  
       2022-04-21 09:06:48 +08:00
    你后来 append 的 redux ,确实是,吐槽没错。而且在 Vuex 的文档里,明确说了,不是所有的项目都需要状态管理。所以没必要把 redux ,vuex 等状态绑定和这些框架绑定,不用也没关系。
    dudubaba
        69
    dudubaba  
       2022-04-21 09:41:42 +08:00
    如果代入的话你发现技术工种都这样,包括业务后端、算法等等,不然怎么区分瓶颈呢
    wangyzj
        70
    wangyzj  
       2022-04-21 09:42:15 +08:00   ❤️ 2
    我一直觉得前端后来的所谓发展就是属于大炮打蚊子
    PEAL
        71
    PEAL  
       2022-04-21 09:44:25 +08:00
    @kensoz 我也遇到这种过度封装的问题
    christin
        72
    christin  
       2022-04-21 09:50:59 +08:00 via iPhone
    有竞争才有进步
    qa2080639
        73
    qa2080639  
       2022-04-21 09:52:30 +08:00
    @DOLLOR 有内味了 还得看 dom 结构写代码
    3dwelcome
        74
    3dwelcome  
       2022-04-21 09:57:56 +08:00
    @prenwang "我感觉已经厌倦软件开发了, 厌倦了一些人喋喋不休的提前端要求, 我是个全栈, 但是前端只能算过得去."

    前端一半是设计,是个随时都在变动的业务。然而现代的前端工程化,让逻辑和变化绑在一起,每次修改修改代码都变得费心力。

    有些人希望用低代码化,来替代 80%的前端变化,也不是没道理。

    之所以我大力推崇 wasm ,也是因为这技术,能剥离出代码里一部分变化和不变化的部分,这点需要语言具有较强的抽象能力。光靠 JS ,是很难完美实现的。
    murmur
        75
    murmur  
       2022-04-21 09:59:52 +08:00
    @jones2000 算法移植 wasm 是算法本身门槛,又不是前端门槛,工具链而已,到了前端不都成了 api

    这东西又要说新问题了,b 站用 wasm 软解被骂占资源高
    freak118
        76
    freak118  
       2022-04-21 10:01:12 +08:00
    @TomatoYuyuko 现在比前几年有变好吗
    qshu
        77
    qshu  
       2022-04-21 10:04:12 +08:00   ❤️ 1
    后面的这些变化,都是 ES 的标准在进化,促进的工具的迭代,除非前一个工具容纳新技术进行的迭代,否则就会有其他新的工具,带着新的技术来推倒前一个工具链的进化
    TomatoYuyuko
        78
    TomatoYuyuko  
       2022-04-21 10:19:02 +08:00
    @freak118 主观感受是前端没有前几年那么热门了,招人也没有前几年那么好招了
    jones2000
        79
    jones2000  
       2022-04-21 10:19:53 +08:00
    @murmur 这个跟技术没关系吧, 只是单纯的抠门,耗用户羊毛。
    huiyifyj
        80
    huiyifyj  
       2022-04-21 10:22:11 +08:00
    前端的发展本身也越来越怪了,node 出来了之后,各种奇奇怪怪的工具也出来了。有空倒腾各种怪工具,还不如去标准化 js 。很多时候自己用着 webpack ,真的是有种杀鸡用牛刀的感觉
    jones2000
        81
    jones2000  
       2022-04-21 10:25:22 +08:00
    @murmur wasm 这些不是算在前端开发的吗? chrome 浏览器也是算在前端开发的呀。 后台不是单纯提供数据就行了嘛。
    statumer
        82
    statumer  
       2022-04-21 10:33:23 +08:00
    @3dwelcome 那你可能要失望了,大多数后端语言比 JS 糟糕很多。Java 程序员不知道 Java 8 以外的 JDK ,也不知道什么是 async, await, generator ,C++ 程序员不知道什么是依赖,JS 以外的流行编程语言不曾出现过 transpiler 这样的究极元编程。
    mikulch
        83
    mikulch  
       2022-04-21 10:39:13 +08:00
    @TomatoYuyuko f 真的吗?我感觉前端工资还挺高的现在。
    3dwelcome
        84
    3dwelcome  
       2022-04-21 10:49:23 +08:00
    @statumer 以前写前端,我总有一种被束缚的感觉。后来换了 wasm 我才知道,前端缺少的是一种自我进化的能力。

    有人把 JS 抽象到 TS ,但这种语法糖式的抽象,对剥离业务变化帮助并不大。过几个月,换了新的前端项目,你该写的 JSX ,一句也少不了。

    只有换了 wasm ,你才能从更高的维度,去看待项目本质。让前端里的随时变动设计,和相对稳定逻辑尽最大可能相互分离。还原一个软件工程原本的面貌。
    3dwelcome
        85
    3dwelcome  
       2022-04-21 10:53:05 +08:00   ❤️ 1
    软件开发里有一句名言:Don't repeat yourself

    放到现在的前端里,刚好相反,天天 repeat yourself 。生命不止,轮子不断,不断重复昨天的自己。
    96412hj
        86
    96412hj  
       2022-04-21 10:58:26 +08:00
    @charlie21 感觉 angular 的 typescript 写法 和 flutter 的 dart 写法很像
    sjhhjx0122
        87
    sjhhjx0122  
       2022-04-21 11:23:06 +08:00
    @96412hj 因为是一个娘胎生的,ng 也可以用 dart 写
    96412hj
        88
    96412hj  
       2022-04-21 11:38:37 +08:00
    @sjhhjx0122 google 那些大神还是牛逼
    laqow
        89
    laqow  
       2022-04-21 12:09:36 +08:00
    chrome 给你一天一个标准就是在搅水的
    fqy12300
        90
    fqy12300  
       2022-04-21 12:30:39 +08:00
    可能是现在前端能做的事越来越多了吧,后面 Web3.0 出来之后,门槛更高。
    yahon
        91
    yahon  
       2022-04-21 13:21:59 +08:00
    因为前端正在变得越来越复杂,为了应对这种复杂,整个生态也变的复杂,目前还没有收敛的迹象,所以显得很混乱。
    marcong95
        92
    marcong95  
       2022-04-21 13:30:58 +08:00   ❤️ 2
    这种问题感觉标准答案就是:也没人挡着你们继续用 jQuery 甚至 vanilla.js 的啊。就正如某些公司还用着 Java 1.6 ,这毫无问题。

    有人喜欢刷存在感或者刷 KPI 造轮子,那你就让他造去好了。你老老实实地写个 UI ,我倒也不觉得 npm 能给你多大麻烦。。。
    murmur
        93
    murmur  
       2022-04-21 13:32:03 +08:00
    @fqy12300 炒币的就别来凑热闹了,等先打败美元霸权再来吹 eth 好么
    17681880207
        94
    17681880207  
       2022-04-21 15:58:32 +08:00   ❤️ 1
    其实入门还是很简单的,任何行业的正向发展,一定会带来工种和职能的细化。

    自动切换到 Vue 和 React 之后,前端时间突然回去用 jQuery ,发现竟然无从下手,一个 $ 符号开始,后面的全忘记了。不禁感慨起现在的实习生,有的都只是听说过有 jQuery 这个东西而已了。但是仔细想想也是,任何技术的发展,都是沉淀起来的,因为最开始,网页简单,dom 结构也精简,基本上 jQuery 就可以满足。但是随着每个人家里的网速都开始上百兆,网页、功能都开始越来越花哨,然后便开始了前后端分离,再逐步的浮现出了 Angular Vue React 这一类优秀的框架,配合各种便利的 npm 三方工具链,使得的你的开发工作量没有比 jQuery 多多少,却能够以更少的时间,去实现更加复杂的页面功能。也许在不久的将来,随着 AR VR 的发展,前端又会有一场变革。

    前端如此,其他行业也是如此。举个例子,或许不是很贴切,最开始所谓的汽车,甚至还是马拉车的时候,汽车的功能多简单,那时候也许能力强一点的铁匠,就能模仿一辆车出来。但是发展到现在,复杂的内燃机显然不是一个毕业生就可以来做的了,里面牵扯着太多的技术,也许 100 个高材生,没人负责一小个模块。再后来,“变革”迎来了电动车来满足新的社会需求。

    其实相对于 00 后的伙伴而言,90-00 的前端还是幸运的,因为基本见证了前端最重大的几次变革,而每一次,对技术人员本身来说,就是一种沉淀,这种沉淀带来的结果就是,你会发现,现在程序员的年龄已经逐渐突破 35 岁了,年龄已变得逐渐不再是程序员的瓶颈。许多的公司,也开始逐步认识到,与其 8000 找 3 个年轻程序员,起价值还不如 2w 找一个资历丰富的,因为技术的沉淀,业务的沉淀都影响着你写下代码的每一行逻辑和风格。

    各位新老 font-end developer ,让我们共同期待前端更美好的明天吧!加油!
    ersansan233
        95
    ersansan233  
       2022-04-21 16:18:23 +08:00
    以前前端做的只是在沙滩上用手堆一个房子模型,现在要做的是盖一栋带泳池的别墅
    wonderfulcxm
        96
    wonderfulcxm  
       2022-04-21 17:27:25 +08:00 via iPhone
    现在大家做的什么 web app ,都有那么复杂的交互吗? V2EX 还是 jQuery 的
    lifesimple
        97
    lifesimple  
       2022-04-21 17:34:18 +08:00
    干活的门槛降低了很多(因人而异 不想用轮子框架啥的 那就原始点 jq 一把梭就完事了,反正不管啥轮子最终打包给浏览器也还是 html js css 这些),只是轮子多了,面试的门槛高了很多 就是卷啊,以前只要背一本书,现在可能要背十本书了
    daimubai
        98
    daimubai  
       2022-04-21 17:35:26 +08:00
    留下的都是精英!(狗头)
    zcqshine
        99
    zcqshine  
       2022-04-21 17:43:30 +08:00
    用原生的 js 或者 jquery 之类的让你做出现在这么好看的页面,估计你会说:哇原来这些框架是降低门槛了。
    bobo2
        100
    bobo2  
       2022-04-21 18:24:37 +08:00
    现在各种脚手架层出不穷
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2410 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 15:58 · PVG 23:58 · LAX 07:58 · JFK 10:58
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.