关于「真阿当」对目前流行前端技术的批判,大家有什么看法?

原始微博:sass和less最近是不是被提起得少了?backbon... 来自真阿当 欢迎各位前辈详尽论述,感觉比在微博上撕逼好点。对我们这些晚辈也是一次难得的学习机会! 也希望阿当老师本人可以从技术角度做一个详细的论述。 ps. 希望回答是有礼有节的论述,人身攻击就太 low 了...
关注者
2,015
被浏览
57,541

124 个回答

整个前端领域现在范围很广,包括传统大家认知的前端,比如各种门户网站,微博,淘宝,QQ空间等,还包括通过浏览器访问的各种移动版页面,App内置的Web页面,各类企业管控后台,每种东西是有其自身特点的。

像jq这类东西,具有很高的通用性,可以处理几乎每种情况,但不等于说在特定场景下都能有优势,需要根据业务形态,人员技能去综合选用。

前端领域的各种东西,有很多是面对特定场景的,比如我个人花了很多时间的Angular,它在中型后台管控系统上是具有较好开发效率的,也对Java开发人员有较好的亲和力。但如果我是在微博,淘宝这样的场景下,一定不会用它。

Angular,React,Vue,这些东西其实就像MFC,VB,DELPHI。它们几个是存在竞争关系的,但它们与直接使用Win32 API编程并没有竞争关系,人们选择它们,是因为在不少场景下,它们有较高开发效率。但在它们流行的同时,仍然有不少人在直接使用Win32 API进行编程。

那这些东西会不会过时?当然会,而且这个领域不停出来各种东西,比如QT,比如WinForm,比如Swing,AWT,比如WPF。

所以现在你看前端领域火热的框架们,像不像曾经的桌面开发的乱局?但不能因为乱,就觉得他们的存在和探索是错了啊。

传统软件产品的生命周期常常有能达到十年甚至更多的,但是互联网产品的周期更短。短的周期,导致我们对开发效率更加重视,我们要么需要快糙猛,要么需要既快又优雅,总之需要做得快。

所以我们在一些领域,可以借由这么一些新东西,达到快速开发,或者容易管控的目标。虽然它们也管不了十年八年,但在短短两三年内能带来的价值还是划算的。

在中型或者重型领域,模型层是比较复杂的,所以在这类场景下,MV*是有存在的价值的。有些太薄的场景下,引入这些东西确实是庸人自扰。

另外一个方面,传统的高技能前端人员是稀少的,供不应求的,如果要手工打造一个精品项目,代价太大了。现在这类框架,能够让各种其他领域的人快速加入,尽可能多地完成业务目标。

jq本身还面临的一个问题是,它之前着重要解决的兼容问题,随着浏览器的标准化,越来越不成其为问题。所以如果用它支撑较大业务,还是需要再去做相应规范,约束,等做完之后回头一看,还是做了个框架,而且更加非主流。

对现有框架发展还有较大影响的是一些语言特性,比如ES6带来的class,module之类,还有promise,rx等等处理异步流程的理念。即使场景限制到传统那种前端里,jq也还是要面临这些东西的冲击的。

在快速发展的时代,变革无处不在,当今的前端领域相当于十五年前的桌面端领域,虽然什么东西能活下来没法预测,但总体方向还是很明确的。
我也来说说我的几个观点吧:

1) 追逐新技术和基础扎实不扎实没有必然的因果关系,不能把小孩(请允许我这个“老人”对90后们用这个称呼吧)的技术差归结于行业有太多新技术、新概念的诱惑而迷失方向。
学技术并不一定因为可选择性多就会迷失,所谓“传承”在于守住初心……

2)前端技术生态圈繁荣是一件很好事情,现在的前端后起之秀们很了不起,我在用我们团队90后写的组件化框架nova.js,整体上非常棒,我很喜欢。

3)前端的发展非常快,那是因为互联网发展本身非常迅速,我们只是身在一辆快车上,而不见得自己跑的有多快。在这个连一级火箭都可以回收的年代,我相信人类用不了多久就可以登上火星,到时候星球之间的互联网,有更多技术需要突破,前端的挑战会更大,也许大到超出你我的想象。

4)未来是什么样子的不知道,但是技术和思想的开放性总是应该鼓励的。技术和思想好不好,由市场来决定,我始终是相信开放总不会把市场给做坏的,就算市场鼓吹一个怂技术,让它一时火爆,也永远杀不死一个行业,只要我们对未来产品交互有好的期望,市场就拥有自我修正的力量,所以没什么好担心。

5)拼命推广自家的新技术,这本身也是很自然的事情吧,就算厚着脸皮安利,也比藏着掖着对行业的贡献大,我是很希望有更多的新技术和更多的新思想出现。

我们一起推动整个行业往前进,每个人都能从中获益。
不好学的人不管在不在技术思想繁杂的环境中都不会好好学习,而好学的人,就像一条龙,水越深,成长的空间越大~