知乎传送门: https://www.zhihu.com/question/53625252/answer/135820259
利益相关:不认识阿当……用过 Angular 1 、 React 、 Vue 、 SCSS 、 LESS 、 Grunt 、 Gulp 、 Webpack 等一系列有的没的。
前端三大爱好:
1. 语法糖
2. 字符串转换
3. 用别人的框架
现在说 Angular 、 React 或者 Vue 的不好,都是政治不正确滴。
声明,我没说我站在阿当这一边哈。我可是很怕得罪了整个前端界的呢 O(∩_∩)O !。
不过依照中国大部分前端的计算机基础知识素养,能跟阿当正面撕逼的也没多少个。
其实我觉得吧,中国的前端就是认死理,非要给自己带一个「前端」的帽子,生怕别人不知道他只会 JS 。多看看不同意见,多看看别的语言,你会发现 JS 能做的,很少很少。
以下是我自己理解的,以阿当的口吻说的,大家不要以为真的是阿当说的:
2016 年我喷了 Sass 、 React 和 Angular ,被前端各种布道者鄙视,于是我们互相伤害起来。
但我研究的技术可比你们学得这点东西多多了。
我以我的经验,认为这些才流行几年的玩意儿,是值得怀疑的。
1. 有些玩意是高手发明出来给高手用的,小公司的几个前端玩得转?
2. 你们这些布道者只说优点不说缺点是什么意思?安利你听说过没。
所以前端新人们,你们要长点脑子,别听风就是雨。
关于 SCSS 和 LESS
优点你们都吹得那么好,我偏说缺点。
直接能运行在浏览器里的 CSS 你不用,加一道字符串变化在中间挡着,一来增加上手门槛,要学新知识;二来新的语法增加新的复杂度;三来这玩意有传染性,我想用你的代码我就必须也用 SCSS/LESS 。
而且,你 SCSS/LESS 依然没有解决你想要解决的问题呀!
所以我认为弊大于利。
跨界、 CoffeeScript 、 TypeScript 和 ES6
前端你为啥这么在意语法糖?你个前端不好好研究优雅的用户体验,去研究什么语法糖,你忙得过来吗?
CoffeeScript 是 Ruby 社区搞出来的, TypeScript 是 C# 社区搞出来的,它们都是非前端社区的产物,迎合的也是非前端的工程师群体的编程习惯。适不适合前端,走着瞧。
最终你们这些前端看上了 ES6 ,但是你们这些前端在语法还没成型的时候就用 Babel 来转译是不是有点太激进啊?
学学 jQuery ,通过原生 JS 来加语法糖,稳定过渡。你们前端咋这么猴急呢?
关于 Node
Node.js 作者本人就把这玩意儿当个玩具,你们前端居然当个宝。
前端没有拿着玩意写后台,而是那它做脚本。
写写脚本就算了,前端居然还妄图一门语言统一前后端。然后整天布道什么「全栈」。
可是孩子呀,你一个跟 DOM 打交道的人能理解后端那些概念吗?你们就知道个 JS ,连数据库也只喜欢长得像 JSON 的 MongoDB 。
半吊子想当架构师。
你们看看现在有几个公司用 Node 做服务器啊?服务器端 Node 完败。
你们这些不会写 shell 的人就老老实实用 Node 写脚本吧。
但是你们写脚本也要有个限度好不好?看看现在的前端工具流有多复杂了啊。而去年的工具今年你们就抛弃了。
孩子气。
关于跨界、全栈、公司定岗
前端这么乱,不就是因为前端没主见吗,尽听别的圈子扯。
CoffeeScript 是 Ruby 社区的; LESS 也是 Ruby 社区的; Node 的作者就是一个票友,平时根本不用 JS ; Angular 是 Google 的服务端团队搞的; React Native 是为了做原生 App ;全是跨界的!
他们解决的是他们自己的问题,对你有没有用你不想想?
你引入任何一个中间层都会有弊端,你不知道吗?
你用技术要在在乎其缺点。
全栈。
你想做全栈我不反对,但是你要看看公司给不给你机会呀。
你以为你学了 Node 公司就愿意你去开发后台?你有这个能力吗?
你以为你学了 React Native 公司就愿意让你开发 App ?你有这个能力吗?
你真的比得过人家专职团队吗?
全栈是顶级高手团队才有的, Google 、 Facebook 。在小公司还是安心做前端把。
关于前端的核心竞争力
前端你不要拿自己的弱项跟别人的强项比了,找死呀。
你拿 Node.js 跟 Python 后台比得了?他们学起 Node.js 不甩你一条街啊?
你拿 React Native 跟 iOS 开发比得了?他们学起 React Native 不甩你两条街啊?
用 Java 写安卓应用的程序员什么时候找死跟 Java 后台程序员抢饭碗了?
用 C++ 写桌面应用的程序员什么时候找死跟 C++ 服务器程序员抢饭碗了?
就你能啊?
你前端的核心竞争力应该是搞清楚浏览器上面的东西!
HTML 标签、 CSS , Javascript , Form2.0 、 Websocket 、离线缓存、 Webworker 、 Border-image 、 Canvas ……
这些东西是有难度的。你让一个后端开发写个 CSS 垂直居中并说出优缺点你看他会不会。要想破头啊。这东西靠经验啊。
你不好好看核心,去学一些乱七八糟的是什么意思?
那么什么是核心呢? HTML 、 CSS 和 Javascript (我认为还有 HTTP )
现在的那些个前端布道师,不讲核心专讲新技术,又是几个意思?
关于 Angular ,后台, SPA
这是给服务器同学用的,如果你的团队以服务器开发人员为主,你再用这个吧。
你们这群没主见的前端,追捧这个干什么?根本就不是给你用的好吗? Angular 2 一升级你是不是又傻眼了,怎么后端又改用 TypeScript 了?
你去追前端基本功呀!
另外 Angular 真的好吗?其实后端程序员可以自己找前端同学封装一些更轻量的框架。(你们前端不行?当我没说)
关于 React
React 组件化的思路,我是认同的。 Flex 的组件化方案比 HTML 不知高到那里去了。 React 组件化 是对 HTML 很好的扩展。
但是 React 太重了,条条框框太多了,把简单事情搞复杂了。
我推崇「轻框架 + 组件化 + 面向对象」。你们不好好改进原来那一套运行得不错的方案,为什么非要去追新,而且还一年换一个星来追。
如果 React 就火个几年,后面的前端新人不学 React ,你这个 React 项目谁来负责?你怎么跟公司交代?用新框架重写?!
你作为个人学习去玩玩 React 我是鼓励的。
关于抽象和面向对象,你真的掌握了吗?封装、继承、多态、设计模式、解耦、 API 设计这些真的都熟练了吗?我接触过的前端,绝大多数同学都毫无概念。来看看我的代码。
关于 SPA 和 Web Site
SPA 不是说你动态加载页面和数据就叫做 SPA 的。 SPA 强调的是功能。你要用新技术做出新的功能。现在中国有几个是真正意义上的 SPA 页面?网页游戏、在线 IDE 、网页版 PhotoShop 之类才是真正的 SPA 。
所以别老是说什么你在做 SPA 。
React Native 和 PhoneGap
不看好。除了开发成本低,没有任何优点。但是哪个公司是因为开发成本低成功的?
关于微信小程序
这玩意既不是 HTML 5 也不是 Native ,不看好。
关于前端的缺人和高薪水
现在前端多,只是因为前端太少,跟新技术没关系。
同时 HTML 5 的应用场景变多了,所以需要更多前端了。
等前端足够多了你再看看你的工资。
最终工资高的,还是基础知识好的人。
写在最后
虽然我写了这么多,但也有可能,全是错的。
握草怎么这么长,中途差点就想关网页了。
你就摘对自己有用的看吧。其实他说的也是有道理的。
而且我跟他的观点是一致的。
![]() | 1 lisia 2016-12-14 17:13:35 +08:00 via Android ![]() 你开心就好 |
![]() | 2 Phariel 2016-12-14 17:16:07 +08:00 via Android 前端已经进入了魔改领域 括弧笑 |
![]() | 3 ianva 2016-12-14 17:16:35 +08:00 你这不认识阿当也是惺惺相惜啊,这些 api , dsl 配置文件之类的也佩叫竞争力,只不过是人家不愿意踩坑的下脚料罢了 |
![]() | 4 zorui 2016-12-14 17:18:17 +08:00 前端撕逼大哥又一力作 |
![]() | 5 Tink PRO ![]() 搞不懂前端简单的东西非要搞得那么复杂 |
![]() | 6 morning 2016-12-14 17:19:00 +08:00 你开心就好 |
![]() | 7 tonghuashuai 2016-12-14 17:19:35 +08:00 ![]() 感觉前端那些玩新技术的就跟孩子一样:今天看到一个好玩的玩具就像要,而且能说出一大堆玩具的有点,买了玩了没几天就腻了,又看到另外一个玩具又想要,而且能说出一大堆以前玩具的缺点来证明这个比以前的好,然后买了几天还是会腻,周而复始,所以,在他们眼里前端技术的发展以周为单位是一种的“繁荣”。 |
![]() | 8 holyghost 2016-12-14 17:20:15 +08:00 via iPhone ![]() 同意每一个字。 |
![]() | 9 Yc1992 2016-12-14 17:21:14 +08:00 ![]() 长者说过:闷声。。。 |
10 DoraJDJ 2016-12-14 17:29:29 +08:00 via Android @tonghuashuai 不能同意更多 |
![]() | 11 FrankFang128 OP @lisia 阿当这招牛逼,写一篇一般人没时间读完的文章,搞得都没人反驳了 |
![]() | 12 harry890829 2016-12-14 17:29:41 +08:00 什么啊,我一个 c++后台开发,被调岗到 c++桌面应用,我现在就准备再把饭碗抢回来啊 |
![]() | 13 FrankFang128 OP @tonghuashuai 嗯,孩子气 |
![]() | 14 xxdd 2016-12-14 17:30:24 +08:00 跑个 demo 先装 node.js npm tsc 没有 再安装 typescript 真是麻烦 |
![]() | 16 btjoker 2016-12-14 17:32:22 +08:00 大实话 |
![]() | 17 cycssg 2016-12-14 17:32:29 +08:00 给主播刷波 6666 |
![]() | 18 FrankFang128 OP @harry890829 腻害,支持 |
![]() | 19 upczww 2016-12-14 17:33:20 +08:00 via Android 觉得很有道理呢 |
20 yoke123 2016-12-14 17:33:57 +08:00 苟。。。。 |
![]() | 21 Wangxf 2016-12-14 17:38:36 +08:00 ![]() 呵呵呵,楼主又在搞事情 |
![]() | 22 qwer1234asdf 2016-12-14 17:39:20 +08:00 "连数据库也只喜欢长得像JSON 的 MongoDB....."笑死了 |
![]() | 23 FrankFang128 OP @Wangxf 他在搞事情,我只是小喽 |
![]() | 24 awanabe 2016-12-14 17:42:39 +08:00 ![]() 就你们前端事情多 (斜眼 |
![]() | 25 gdsagdada 2016-12-14 17:42:44 +08:00 我说一句: React 最牛 B ,楼下继续 |
![]() | 26 qwer1234asdf 2016-12-14 17:44:23 +08:00 站在技术的角度看,挺赞同的。。 站在市场的角度看,不好说。。。。 |
![]() | 27 FrankFang128 OP @gdsagdada Vue 才牛 B ,楼下继续 |
![]() | 28 aleen42 2016-12-14 17:45:27 +08:00 不管人如何看待前端, 我枚前端打好基, 做自己喜的西就足了. = = |
29 WhyAreYouSoSad 2016-12-14 17:45:28 +08:00 ![]() 前端也要开始画圈占地了么? php 才是最的! |
![]() | 30 qwer1234asdf 2016-12-14 17:46:49 +08:00 @WhyAreYouSoSad 前端也要开始画圈占地了么? python 才是最的!楼下继续。。。 |
![]() | 31 aleen42 2016-12-14 17:48:11 +08:00 @qwer1234asdf 字最吊好不好, 下.. |
![]() | 32 hwwangwang 2016-12-14 17:52:55 +08:00 年轻人要提高自己的姿势水平,不要总想搞个大新闻。 |
![]() | 33 lycheng 2016-12-14 17:57:40 +08:00 我一个后端程序员,说一个我有实践过的 维护过一个 SCSS 的文件,这个东西看起来比之前的裸写 css 感觉好很多啊,也没有什么门槛吧 |
![]() | 34 harry890829 2016-12-14 17:59:56 +08:00 @FrankFang128 哎,没人写 c++桌面了啊……我有经验就把我调过去了……伤心 |
![]() | 35 songz 2016-12-14 18:01:01 +08:00 好好写前端,别弄这些没营养的 |
![]() | 36 FrankFang128 OP @lycheng 嗯,也是有优点的 |
![]() | 37 enenaaa 2016-12-14 18:06:22 +08:00 前端一年能火好几个框架, 眼花缭乱,看不过来。 |
![]() | 38 Mac 2016-12-14 18:07:37 +08:00 ![]() 我来喷:一帮装修民工,非要搞出一堆工具来把自己伪装成土木工程师。。。能造出水泥色的墙纸,不代表你能用这墙纸盖大楼。。。 |
39 phpdever 2016-12-14 18:08:30 +08:00 vue 、 php 、 python 、 node 我都有用,我就是挣口饭吃,什么撕逼不撕逼的,我管不着,什么对我有用我就学什么,我只是生活在社会最底层的打工仔。。。 |
![]() | 40 itbeihe 2016-12-14 18:09:14 +08:00 @FrankFang128 明明是 angular2 才牛 B ,楼下继续。 |
![]() | 41 Exin 2016-12-14 18:11:04 +08:00 via iPhone 是啊是啊,前端最垃圾了() |
![]() | 42 slixurd 2016-12-14 18:12:12 +08:00 看了一下原文,大概这是后端被黑的最惨的一次... |
43 ty89 2016-12-14 18:13:47 +08:00 前端普遍浮躁 |
![]() | 44 zohan 2016-12-14 18:14:46 +08:00 读完了整篇文章,感觉有点借题发挥,故意煽动口水。作者可能是个很厉害的人物,但从文字之间感觉作者没有去了解过前端,只是就技术聊了技术,没有结合实际场景。前端和后端,各自做各自做擅长的事情,根据场景和团队能力去选择对应的技术就行了,不要为了技术而技术。 |
![]() | 45 FrankFang128 div class="badge op">OP 2016-12-14 18:14:58 +08:00 via Android @slixurd 能开完原文就很不容易了 |
![]() | 46 FrankFang128 OP @zohan 不揣测动机,单看观点呢。 |
47 Havee 2016-12-14 18:16:11 +08:00 非前端表示, scss 比 css 容易看懂...反而一大堆 css 就茫然了,所以喷 scss 这一部分,不敢苟同。 |
![]() | 48 lwbjing 2016-12-14 18:20:07 +08:00 你们不要搞事情啊,将来报道出了偏差谁来负责... |
![]() | 49 anubiskong 2016-12-14 18:20:34 +08:00 这个世界的问题在于聪明人充满疑惑,而傻子们坚信不疑。 - 伯特兰罗素 |
![]() | 50 FrankFang128 OP @Havee 「只说缺点」 |
![]() | 51 Pengg 2016-12-14 18:23:11 +08:00 via iPhone kpi |
![]() | 52 Alain1995 2016-12-14 18:23:27 +08:00 搞事情啊,我只说 ruby 是最叼的,楼下继续。 |
53 Havee 2016-12-14 18:23:36 +08:00 好吧,全面看了下 文章喷的是生产工具 文章把基础与工具混淆,然后借着工具去喷,有点指桑骂槐之嫌 |
![]() | 54 beginor 2016-12-14 18:23:49 +08:00 via Android 呵呵,这就是所谓的口水战,月经贴? |
55 20110921 2016-12-14 18:30:59 +08:00 什么最的??没电还搞个锤子前后端啊 |
56 rqzheng2008 2016-12-14 18:32:07 +08:00 ![]() 看到 LZ 的名字好几次了,专门转前端撕逼的文章,唯恐天下不乱 |
![]() | 57 only0jac 2016-12-14 18:34:15 +08:00 via Android who is 啊当 |
![]() | 58 FrankFang128 OP @rqzheng2008 完了被你看穿了。 |
![]() | 59 FrankFang128 OP @only0jac 2016 年前端公敌 |
![]() | 60 zohan 2016-12-14 18:36:43 +08:00 @FrankFang128 没有啥观点,我就是一个切图仔,我就想维护好我的页面儿。 |
![]() | 61 zorui 2016-12-14 18:38:52 +08:00 看到原文中的"同样是 DSL , CSS 可比 SQL 复杂多得多。" 抛开业务谈技术。。。。。。 |
62 polo2222 2016-12-14 18:40:49 +08:00 哈哈哈哈 |
![]() | 63 yura93 2016-12-14 18:41:49 +08:00 这家伙撕的 |
64 Cbdy 2016-12-14 18:42:23 +08:00 via Android 我感觉前端工程化是有必要的,只是现在可能有一点泡沫 |
![]() | 65 rashawn 2016-12-14 18:43:41 +08:00 via iPhone 总之 node 是个好东西 至少比 python 快 但是我看好几个机器学习的项目都两三年没更了 所以我开始学 lisp 了… |
66 jimzhong 2016-12-14 18:44:23 +08:00 我也搞不懂前端为啥这么多框架,而且还天天升级。 |
![]() | 67 only0jac 2016-12-14 18:53:41 +08:00 via Android @FrankFang128 有相关公敌的链接看看么 |
![]() | 68 FrankFang128 OP @only0jac 去微博搜 |
![]() | 69 SourceMan 2016-12-14 19:03:51 +08:00 via iPhone 你附言那叫墙头草 |
![]() | 70 peneazy 2016-12-14 19:10:25 +08:00 via Android 前端若不搞模块化,工程化,员工离职后,看你怎么维护 |
![]() | 71 FrankFang128 OP @peneazy 谁说模块化一定要用那些玩意。。。 |
72 bulldozer 2016-12-14 19:21:43 +08:00 via iPhone 在资本面前都是一坨屎,还搞鄙视链自相踩踏 |
![]() | 73 FrankFang128 OP @SourceMan 你站队,我就不站队 |
![]() | 74 bdbai 2016-12-14 19:26:59 +08:00 via Android @FrankFang128 不站队? excuse me ? |
![]() | 75 FrankFang128 OP @bdbai 不站队有错嘛? 天啦 |
![]() | 76 zhaiduo 2016-12-14 19:31:29 +08:00 via Android 前端有这么多新变化,无非就是要解决目前旧前端解决不了的问题,如模块化、开发效率等。无它。 |
![]() | 77 FrankFang128 OP @zhaiduo 然而这些框架没有解决完,他们说还不够 |
![]() | 78 wuchizhitu1988 2016-12-14 19:33:30 +08:00 > 你让一个后端开发写个 CSS 垂直居中并说出优缺点你看他会不会。要想破头啊。 哈哈 这个确实 |
![]() | 79 bdbai 2016-12-14 19:38:44 +08:00 via Android @FrankFang128 一边站着队一边喊“不站队”实在有点... |
![]() | 80 minamike 2016-12-14 19:42:25 +08:00 为什么这么闲 程序员不都说自己的时间很宝贵吗(手动滑稽 |
81 lcc4376 2016-12-14 19:43:03 +08:00 後端程序表示:前端只 google 上修改 |
![]() | 82 ByZHkc3 2016-12-14 19:44:10 +08:00 不以应用场景来做评判都是傻逼 |
![]() | 83 qwer1234asdf 2016-12-14 19:44:51 +08:00 via iPhone @rashawn 学完发现开始流行汇编了 |
84 sunber 2016-12-14 19:45:03 +08:00 什么?小小页面仔的薪水居然那么高了?不行,我这后台大神的老脸往哪儿搁,必须打压他们 市场需要,你管他呢 |
85 jiongxiaobu 2016-12-14 19:49:13 +08:00 via iPhone 框架用的无聊了 自己写框架才有意思 |
![]() | 87 FrankFang128 OP @SourceMan 我等尤大神说完再站队嘛 |
![]() | 88 FrankFang128 OP @bdbai 支持观点叫做站队啊。。。 支持某人才叫站队 |
![]() | 89 FrankFang128 OP @bdbai 我以前就是这样的观点(可以看我以前的帖子),猛然发现他观点跟我一样,我就被动地站队了吗? |
![]() | 90 FrankFang128 OP @SourceMan 倒是你们,说我什么搞事情,说我什么墙头草,都是对人不对事。 我也没什么好回应的。 就不能讨论观点么 |
91 TaMud 2016-12-14 20:07:22 +08:00 脑子是个好东西 希望你有 这本是我骂人的一句话 没想到也流行了 流行了真的好吗? 再来一次 脑子是个好东西,希望大家都有 |
![]() | 92 FrankFang128 OP ![]() V2 从第一个评论开始,就奠定了不好好讨论事情的基调。 既然这样的话,那我就搞点事情,占一占 Top 10 好了。 基本以前的文章也都是这样结束的~ 上面有的同学说吐槽 SCSS 不对,吐槽 ES 6 不对,这才是在怼我。 |
![]() | 93 bdbai 2016-12-14 20:13:42 +08:00 via Android |
![]() | 94 FrankFang128 OP @bdbai 就是因为我支持某当就开始攻击我 |
![]() | 95 k9982874 2016-12-14 20:30:10 +08:00 via iPad 支持这位大大,现在前端太浮躁,只追逐框架不去深究原理,随时都有被淘汰的危险却不自知。 |
![]() | 96 Aspx 2016-12-14 20:34:15 +08:00 7 楼总结的真好 |
97 dremy 2016-12-14 20:46:47 +08:00 via Android ![]() 感觉好多人连 js 的基础都没掌握,比如说原型链、闭包、作用域、 this 这些的,就开始直接上手 React 、 Vue 这些了 稍微做出一些小东西来就认为自己是个牛逼前端了,结果面试时候被问到那些 css/js 基础就答不上来,真是可笑至极 |
![]() | 98 tyrealgray 2016-12-14 20:46:56 +08:00 提一下, react 不是模块化的。 react 是组件化,模块化的话 react 才没有这么难学呢。 要放在以前 markup 样式一样的组件和 js 代码放在一个文件里早被喷死了。总之还是前端现在太折腾,国人喜欢急功急利,导致你撕我撕,其实最后这些东西不都是工具嘛,你喜欢自己去折腾不就好了,干嘛拉着别人一起呢 |
![]() | 99 boro 2016-12-14 20:55:38 +08:00 via iPhone 支持 less 和 scss 的观点。 |
![]() | 100 djyde 2016-12-14 20:57:26 +08:00 ![]() 楼主总是转一些这样的文章,又加几句自己阴阳怪气的话。 |