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

2022-04-20 14:53:59 +08:00
 zilan

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

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

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

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

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

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

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

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

复杂是为了抽象,为了将日渐繁杂的业务抽丝剥茧,提高代码的可读性和可维护性。
wu67
2022-04-20 16:36:02 +08:00
前端目前最大的毛病就是就是过度设计、过度造轮子. 总是看到其他语言生态的东西就想抄过来, 你一面向过程的语言, 抄个设计思路就算了, 什么玩意都往里抄, 整得各种四不像...

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/848148

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX