摘要:为此,玉伯当时还特意发了一条微博,说是应该给和也树一块墓碑了。这里,闰土所说的过时,并不是指它现在就不能用了,而是说出现了明显更加先进的理念或者标准,这会导致未来它的使用场景大为减少,整体趋势已经步入衰落。
前言
都已经2017年的11月份了,我们项目还打算用seajs?!没错,上周我们公司的一个项目启动了,开会的时候CTO要求用seajs + artTemplate的组合套餐来开发。在下来研究过后,我深觉此举不妙,遂和我们的CTO进行了第二轮沟通,最终选定了vuejs + webpack 的模块化开放模式。虽然是工作中的一件小事,但还是给我留下了不小的感悟。
故事背景交代完毕,接下来,正文开始~
记得前年(2015年)杭州D-DAY玉伯说过,能够亲眼看到seajs死掉也是一种幸福。一个大而全的前端框架,功能越做越多,迭代难度也会越来越大。其实小而美挺好的。
为此,玉伯当时还特意发了一条微博,说是应该给seajs和kissy也树一块墓碑了。以下是微博截图:
为什么感觉一直追赶的SeaJS已经死掉了呢?
这里,闰土感觉有句话特别应景,鲜衣木马少年时,怎可死气沉沉如暮年?
“说人话,好吧?!”
“呃......,因为它过时了呗。”
这里,闰土所说的过时,并不是指它现在就不能用了,而是说出现了明显更加先进的理念或者标准,这会导致未来它的使用场景大为减少,整体趋势已经步入衰落。
随着Web相关标准的推进,有很多框架(库)都过时了。比如:
JavaScript新的模块标准导致了SeaJS和RequireJS的过时;
原生选择器的良好支持,导致人们对jQuery不再那么依赖;
Array和Object上面一些新特性的出现,导致underscore和lodash的作用减弱。
与此同时,一些专注于做shim或者polyfill的库反倒会比较时髦,因为它们的定位非常明确:扶上马,送一程(哈哈,这是一句玩笑话,不可当真)。
然后,像Angular,Backbone,Knockout,这一大票东西,除非革自己的命,否则全部过时了(当然,angular1已经革了自己的命,大版本的API迭代,完成了ng2的救赎)。再来看看Kissy,这也是一个时代的产物,在同一个时期,有很多类似YUI或者jQuery UI的东西,然而,它们都衰落了,不再适应新的时代。
我们将来不需要用那样的方式编写前端框架,不需要用那样的方式编写界面组件,永远不要停下自己的脚步。中堂大人教导我们:一代人做一代人的事情。上一代前端框架/库都已经基本完成使命了,让我们默默记住并怀念它们。
什么,你不知道中堂大人的梗?好吧,那我来告诉你,算盘打得再精,也不如中堂大人,中堂大人已经把他们的所作所为了如指掌......(好吧,话题扯远了)。
当然,花开两朵,各表一枝(一听这话,想必你们都能猜到,剧情要反转了)。再次强调,过时、衰落,都代表着下降趋势,而不是说你现在就不能用了,仍然会有合适的场景,比如你要支持ie6之类,在你的场景没有与时俱进之前,技术选型也是不能与时俱进的。
俗话说,做人留一线,日后好相见。这回闰土的话说的够圆滑了吧,抨击seajs不能太绝,凡事都是相对的。在编程界没有绝对的事情,如果有,那就是抨击的还不够(呃,好吧,足见闰土老油条的功底)。
其实, RequireJS 也好,Sea.js 也好,CommonJS、AMD 还是 CMD 也好,在当年的产生和流行,都不是为了推框架,目的都是为了模块化开发。现在 ES2015(俗称ES6) 规范已出,JS 模块已经得到标准化,早先的模块化方案的没落,和 webpack 与 babel 等转换工具的火爆,都是大势所趋。吾等螳臂挡车,并没有什么卵用。
看到这里,知道前端圈的技术更迭是有多厉害了吧,那些一味鄙视前端技术含量不高的人人们,我只想送你们一句话,In this era, you will be abandoned。(不用百度翻译了,意思就是在这个时代,你会被抛弃。噗嗤~)
如果你身边还有鄙视前端技术含量低的人,建议你将这篇小文怼到他脸上(开玩笑的老铁,快把手里的板砖放下~)。
说了那么多,让我们来映射一下主旨:
前端造那么多东西,最终还是为产品服务,那么多人爱造轮子是个好事,对于小公司里的年轻人来说,造轮子是能力的锻炼。
但是从坏的一方面来讲,就会导致产品需要不断的迭代更新,迭代就会带来更多的维护成本,这样的话,一个产品的开发周期相当于被无限拉长,只要技术一发生更新,项目就得重构。
接着又从好的一方面来看,不断的重构会让前端岗位一直处于供需平衡状态,为了你不会下岗,就让他们造轮子的人折腾去吧。反正都是js,怎么折腾都逃不出前端工程师的手掌心。
后记最后,还是那句话:闻道有先后,术业有专攻。在从事前端的道路上,you are not alone.
想了解我的更多动态?欢迎关注我的微信公众号:闰土哥的前端路
作者:闰土少年
链接:https://juejin.im/post/5a1174...
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/89889.html
摘要:原文地址为了探究按需加载的本质,选择了对先前造的轮子进行实验。下文就来揭开面纱,并动手改造项目,最终目标是用第二种写法实现按需加载,减小打包体积。下面给出种可以按需加载的方案。 原文地址 为了探究按需加载的本质,选择了对先前造的轮子 diana 进行实验。 实验一:全量引用 import * as _ from diana 打包体积结果如下: showImg(http://oqhtsc...
摘要:在发布自己造的轮子前言自从出现,它的好基友也是我们日常开发中必不可少的东西。 在NPM发布自己造的轮子 1、前言 自从Node.js出现,它的好基友npm(node package manager)也是我们日常开发中必不可少的东西。npm让js实现了模块化,使得复用其他人写好的模块(搬砖)变得更加方便,也让我们可以分享一些自己的作品给大家使用(造轮子),今天这里我就给大家分享一个用命令...
摘要:起因工作也差不多满一年了,对于基本的业务开发有了一些自己的想法刚开始工作的前个月,每天都可以接触到新东西,接触新业务个月之后业务开发熟悉了对于自己的技术成长就感觉受到了局限如果一直没有作出改变,那么等于是个月的经验要用一年我的学习方式就是多 起因 工作也差不多满一年了,对于基本的业务开发有了一些自己的想法 刚开始工作的前3个月,每天都可以接触到新东西,接触新业务 3个月之后业务开发熟...
摘要:补充一个资料,供有兴趣的朋友阅读浮点数算法争议和限制说明以上除法规则,是针对,在中,将和等同起来了。比如下面的例子不啰嗦了,实验一个注意了,引用了一个模块之后,再做除法,就不管什么情况,都是得到浮点数的结果了。 除法啰嗦的,不仅是python。 整数除以整数 看官请在启动idle之后,练习下面的运算: >>> 2/5 0 >>> 2.0/5 0.4 >>> 2/5.0 0.4 >...
摘要:详细代码如下追踪赋值里面的是子路由设计子路由设计这个比较简单,每个子路由维护一个路由监听列表,然后通过调用的函数添加到主路由列表上。 showImg(https://segmentfault.com/img/bVbruD0?w=756&h=378); 前言 鉴于之前使用express和koa的经验,这两天想尝试构建出一个koa精简版,利用最少的代码实现koa和koa-router,同时...
阅读 633·2021-11-11 16:55
阅读 2147·2021-11-11 16:55
阅读 1930·2021-11-11 16:55
阅读 2319·2021-10-25 09:46
阅读 1575·2021-09-22 15:20
阅读 2216·2021-09-10 10:51
阅读 1687·2021-08-25 09:38
阅读 2591·2019-08-30 12:48