前端疲劳

作者: 不是小羊的肖恩 | 来源:发表于2016-12-05 05:07 被阅读9081次
    前端图谱 图片源自Jeff Pelletier的博文: The Front-End Spectrum,我进行了汉化。。。 博文地址:https://medium.com/@withinsight1/the-front-end-spectrum-c0f30998c9f0#.284fx8170

    引子


    假如不会游泳的你不幸落水,碰巧还没有人会来救你,你是不是会觉得自己只能在绝望中溺水而亡。不,你要同死神抗争,要在绝望中寻找希望(等下,这难道不是新东方的slogan?)。其实,你依然有两种方法可以自救。第一种是在生命危在旦夕的巨大恐惧下顿悟,学会了游泳成功续命;如果你觉得这不可能,那么就只能用第二种方法了——把你身边的水全部喝光。

    你可能觉得我在逗你。说好的前端呢?别急,听我娓娓道来。

    从入门到入门


    自从三个月前写完了《JS家的排序算法》之后,我发现自己得了一种病。彼时的我刚刚钻研了几天算法和数据结构,但转眼间就被那些纷繁复杂的前端技术与工具迷住了双眼,勾去了魂魄。学习热情高涨的我,雄心勃勃的制定了一个又一个计划,马不停蹄的搜索下载了各种教程指南,关注访问了数也数不清的技术博客与技术社区。我那亢奋的大脑告诉我,我要努力地把前端技能树上的每一项技能都解锁并升级。于是,我就一头扎入了前端的深海中。然而,下水之后我才意识到,原来自己并不会游泳。

    千万别把开头的引子当成笑话,我为了救自己真的就是在用第二种方法,试图喝光身边的水,妄想尝遍前端的各种技术。开始时我还并没有觉得这样有何不妥,我毕竟还年轻,有大把的时光可以慢慢学习,消化这些喝下去的水。可是,问题在于,前端的这片海是动态的。还记得小学数学的那道计算题吗?一个水池一边往里进水另一边往外排水,问多久能把水池排空。前端技术栈的更新换代如此的频繁迅速,很可能在我写下这篇文章的几个小时里就有一个新的前端框架被发布出来了,我又怎敢奢求将前端的这湾海水排空呢?最近的我愈发感觉到网上的教程是怎么学也学不完的,新出的工具packages是怎么下也下不完的,最新发布的各种技术博文是怎么看也看不完的。我总是很难将精力只放在一种语言或一个工具上,它们总是不经意间就被分配到了其他地方。有时我甚至开始质疑自己的职业选择是否正确,一直在入前端的各种门,可究竟何时才能精通,才是个头呢?迷茫,疲惫,无从下手,不知所措。当这些感受通通向我袭来的时候,我知道,我是得了一种叫做前端疲劳的病了。

    经常关注前端技术社区的朋友们应该知道,前段时间有一篇很火的博文,叫做How it feels to learn JavaScript in 2016 ,汉化版叫做在 2016 年学 JavaScript 是一种什么样的体验? 这篇文章引起了国内外众多前端开发者们的共鸣。他们揭竿而起,纷纷点赞,大声疾呼:“我受够啦!”作为一个代码写的比段子好笑的三流程序员,我当然很喜欢这种诙谐幽默的整篇文章都是段子的小品文。作者虽然是歪果仁,但却深刻的掌握了中国传统相声的精髓,设定了一个逗哏和一个捧哏,以对话的形式把涉及到JavaScrip的几乎方方面面面的工具和特点全部过了一遍。其实,作者就是在谈前端疲劳。那么现在问题来了,有这么多不同的前端技术栈,不同的前端框架,不同的前端工具和库像水一样包裹着我,我不去学就不会,学了又学不完。在前端的海洋里越陷越深的我究竟该如何自救呢?

    水是喝不完的,游泳才是正道


    为了了解前端的海有多深多辽阔,我们把文章刚开始的那副前端图谱拆开来看。

    前端图谱圆盘

    你一定能在这张乱花渐欲迷人眼的圆盘图上发现很多熟悉以及不那么熟悉的logo。图的作者Jeff Pelletier不愧是名UI工程师,他的设计真的很好看。布局新颖,造型独特,五彩缤纷,生动形象。这张圆盘可以说是整个前端图谱里的颜值担当了。然而,光好看是不能解决问题的,我们更加需要的是它的对应颜色的图解。

    对应颜色图解

    不知道看完这张图解之后的你作何感想?是从入门到放弃呢,还是从入门到转行?反正当时正打算把前端的水都喝光的我看完之后内心是崩溃的。尤其是看到Back-End也被加了进来,这幅图瞬间就变成了一副全栈图谱。

    事实上,抛开前端疲劳不谈,仅仅是JavaScript,就足够我用尽自己的洪荒之力了。先要从原生JavaScript学起,“古代”的ES3/ES5,“现代”的ES6,以后还会有“未来”的ES7。然后是JS框架,jQuery、AngularJS、React或者是最新的Vue。当然,想开发出一个完整的应用,后端知识也必不可少。所以NodeJS的坑也得入。这一套走下来,可能根本还到不了前端疲劳,就已经JS疲劳了。

    好在此时的我终于意识到了,把水喝光是不现实的。因为这样做的后果很可能并不是被淹死,而是先被撑死。每当看到前端技术社区里接二连三的出现从未听闻过的新的名词,新的工具,新的框架,我就会产生一种深深的落伍甚至自卑感,觉得自己什么都不会,严重怀疑自己正在使用的技术栈是不是早就被抛弃在了前端世界那无人的尽头。但我可不想就这样消失在世界的尽头。我需要做的是立刻停止一切恐慌,闭上嘴巴,尽快熟悉这种全身被水包围的感觉,然后尝试让自己浮起来,把头抬出水面,找到一块陆地,接下来,就是朝着那块陆地的方向,抡起膀子甩开腿,游起来吧。

    拯救前端疲劳


    你不是一个人在战斗

    一开始我总觉得前端疲劳是因为自己的学习能力不足进而受挫而导致的心理疲惫。我不愿意跟别人说,因为觉得有点丢人。然而,当我在很多前端开发者们的博客里看到他们也提到了这种疲劳的问题,我才知道,原来我不是一个人在战斗。这种疲劳感普遍存在于前端开发者当中。即使是那些顶尖的大牛们也会偶尔疲惫困惑,但他们总能很快的找到解决之道。所以,如果你也有这样的困惑与疲劳,并且试图找到方法来克服它,请记住,你不是一个人在战斗!

    夯实基础

    不知道是我的幻觉还是事实,前端程序员好像一直是处在程序员鄙视链条里的最底层。不需要懂编译原理,没必要学算法数据结构,只要懂点HTML/CSS以及JS,会抠图知道怎么引用个库,就可以去建网站了。根据我自身的体验,如果只是建一个蹩脚的只有自己会访问的网站,那么确实这样就够了。可是,一旦遇到逻辑更复杂的网页应用,仅靠这些知识可就完全hold不住了。当然,仅仅理解了这点对我并没有帮助。我反而陷入到了另外一种死循环中,就是不停的去学习新的工具,新的框架,新的别人造的轮子。

    事实上,无论那些工具和框架变得有多么快,最基础的知识是一直都不会变的。我们应该把注意力放在怎样去解决问题,放在问题本身,而不是纠结于工具。要知道,工具肯定会一直变,唯解决问题的方法与思路不会变。现在风头正劲的React可能过几年就会消失,但是JavaScript会接着活下去。即使JavaScript有一天也被遗弃,算法、数据结构和那些设计模式也会长久存在。所以,从长远来看,把更多的精力花在学习架构、设计模式以及算法数据结构等更基础的领域比总是追求那些新奇的框架工具要更加有利于我们的技能成长与职业发展。

    放松心态

    其实,前端疲劳的病灶不在于那些繁多的工具与框架,它们被造出来的初衷就是为了更好地解决相应的问题,这个锅它们可不背。真正的原因还是出自我们自身。我们总是会被新鲜的事物所吸引,总觉得我们应该去学习它,不学就会落伍,就会被时代的潮流所抛弃。毕竟,喜新厌旧可能就是我们人类的天性。

    我不太清楚国内互联网公司的情况,就我自己所在的美国来说,很大一部分的美国公司是不会去追赶潮流的。他们使用的是早已证明了自己拥有良好性能表现的那些成熟的语言和框架。对于最新的前端技术,他们大多都是持观望态度。等到这种技术已经可以证明自身的稳定以及性能的优异时,他们才会慢慢的去过渡。

    因此,没必要为了自己认为的不落伍而去赶潮流。放松心态,专注于自己目前正在使用的技术栈。对于那些新技术,有兴趣当然可以去尝试,不去尝试也没有关系。不过,如果确实准备去尝试了,要专一不要贪心,千万别给自己列一堆新技术的学习计划,然后最后没有完成就只能变成无形的压力堆积在心里了。

    实践最重要

    对于前端学习,我之前有一个很大的误区。面对一项新技术,我总是计划先把理论研究一遍,再去上手操作。然而,这种策略给我造成的后果就是,很多技术的学习我都半途而废了,因为理论很枯燥,还没等到实践就已经对它失去了兴趣。这和学游泳是一个道理。想学游泳就应该直接扎到水里,惊涛拍浪。那些在岸上捧着本流体力学研读的人,不仅不可能掌握游泳的诀窍,还会对游泳失去兴趣。

    所以,对于那些基础知识,我们当然需要进行理论层面的研读。然而,对于很多前端技术,我们就应该放下手中的手册与指南,直接上手,在实践中摸爬滚打,方能求得真知。

    尾声


    “那个选择把水喝光的年轻人最后怎么样了?”
    “我们开船路过这片海的时候刚好发现了他,就把他救了上来。当时他整个人已经昏迷了。”
    “那他活过来了吗?”
    “他死了。医生说本来可以救他一命,可是没想到他喝了那么多水,把自己给撑死了。”
    “那另外一个学会了游泳的年轻人呢?”
    “我们把他救上来以后他吃了点东西。可他一直很亢奋,说自己终于会游泳了,然后吃完东西他又跳回海里游泳去了。。。”
    (完)

    相关文章

      网友评论

      • 8f0bc979cb46:确实是这样啊 ,学的正迷茫,感同身受。。。工具新技术太多,真的是不知所措,到头来还是竹篮打水一场空
      • Aleph_Zheng:说的实在太棒了!!:+1:
      • 哑剧:刚学完grunt又出webpack的,刚用溜less又换了sass,html模板引擎从handlebar换成vue,后来html也不好好写了要用jade写。最近和一个40多岁的开发聊天,他还觉的用phpmyadmin就挺好,所以别赶潮流,只要能便捷开发的都是好工具。
      • 10788924cfe3:严重赞同。2016年喝了太多的水,幸而被周围的人及时打脸打醒了,2017年要好好加油才行~
      • greatghoul:作为一个后端开发人员,开始学习前端,深感疲劳,感谢你的文章。
      • b7ac9371e916:原来“我不是一个人在战斗”。虽然我不是前端开发,但是我却迷失在更加大的水域,而且还洋洋自得、不能自拔。
      • 9e998c051c27:不得不说前端是一个活到老就能学到老的行业,更新换代的太快,前端组件/插件更新的太快,对于前端工程师职业生涯是个挑战
        不是小羊的肖恩:@传奇码农 是呀,很多东西都有一种刚学会就已经换代了的感觉。
      • ed78b2a706c8:尾声才是入坑
        不是小羊的肖恩:@邓先晓 尾声才是大坑:joy:
      • 1e3fa92feb19:正在入坑中,被吓着了🙄😲
        不是小羊的肖恩:@倩初情 别害怕,前端毕竟门槛比较低,上手还是挺容易的~
      • d770446f2b03:说的貌似很道理,但是那些新的框架和工具不学习确实会落伍,不是js基础扎实就可以无视的,造成这种悲剧的原因不在个人,而在于前端开发本身!
        不是小羊的肖恩:@d770446f2b03 所以入了前端就要做好终生学习的思想准备呀!
      • cf5dcb5ed310:我想知道那个饼图是怎么弄的,是不是没救了
        不是小羊的肖恩:@千里眼__ 估计是用PS或者Sketch之类的软件画的吧
      • 小小棒棒糖:生动形象!
      • 搬运工大钞:未来的安卓程序员正在学Java
      • clover_jmy:我知道第三种方法,人在水里不动 是会飘起来的
        不是小羊的肖恩:@稀松平常 知道这种方法的人离学会游泳已经不远了~
      • 张张的蓝胖子:现在的我就是那个喝水的人。
        不是小羊的肖恩:@林夏未央 喝点水没关系,只是不要撑到自己 :wink:
      • Avalon1:他又跳回了海里
        不是小羊的肖恩:@Avalon1 是呀,因为他找到了游泳的快乐呀,哈哈 :smile:
      • 小小格雷:我不知道什么叫做入门,自己学html还有css有一段时间了,感觉什么都不会,又感觉似懂非懂。希望指点一下,什么叫做入门!
        不是小羊的肖恩:@习惯Black 按我的理解,入门应该就是对一种知识有了大致的了解,并且能运用这种知识完成一些简单的实践操作。拿前端来说,就是能写一个简单完整的网页,这应该就算是最基本的入门了。
      • 11ff55616f4a:写的不错😊
        不是小羊的肖恩:@少欲则刚 多谢捧场 :+1:
      • little_schemer:刚入前端的坑,我要不要跳出来呢?
        不是小羊的肖恩:@little_schemer 有兴趣的话不妨再坚持一下。学任何东西其实都会经历这种疲劳的~
      • 康熙十八年:共鸣
        不是小羊的肖恩:@浪里个浪嘿呦 :pray:
      • 3db033293a07:渔人不会没鱼
        不是小羊的肖恩:@tpq 掌握方法最重要
      • 诺云直播小小茹:照你这么说,这前端的坑我是入不入?现在css的继承我都理解不了。
        不是小羊的肖恩:@过谦 如果想当程序员的话就入吧,前端的门槛毕竟相对来说比较低,入门比较容易~
      • 傻子姑娘_:这个道理其实可以运用到其它事情上,人确实总是对新鲜的事物比较感兴趣,学习一门语言或技能,实践是最快的方法了。
        不是小羊的肖恩:@ok傻子一个90 是呀 :+1:
      • 夏妍妍:那你说肿么办嘞
      • 347aeef74e38:非常同意你的观点,写得很出彩。100个赞 :+1:
        不是小羊的肖恩:@宋小宝他哥送大宝 :+1:
      • 晗笑书生:talk is cheap show me the code
        不是小羊的肖恩:@含笑书生 我之前写的的几篇比较干,基本上都以code 为主。这篇主要是写感想~
      • iplaycodex:作为一名前端狗先mark一下
        不是小羊的肖恩:@AllenLiu 同是天涯沦落狗:smile:
      • YanYang6:有入门教程否
        不是小羊的肖恩:@逝不回去的青春 前端的入门教程网上有很多啊,国内的我比较喜欢阮一峰和廖雪峰的教程,上网一搜就有了~
      • 4f12c937e314:从入门到放弃
        18b8e4b1138c:虽然很累 但是不愿放弃
        不是小羊的肖恩:@连个网名都不给 别轻易放弃~
      • 水果的猕猴桃:抽时间细读
        不是小羊的肖恩:@水果的猕猴桃 其实并没有太多干货,只是写了些感想。空闲没事的时候读一读就好:wink:
      • 小编:虽然我不是做前端,但是同为做技术,确实感同身受。从中也得到楼主指点了。这句话说得好:事实上,无论那些工具和框架变得有多么快,最基础的知识是一直都不会变的。我们应该把注意力放在怎样去解决问题,放在问题本身,而不是纠结于工具。要知道,工具肯定会一直变,唯解决问题的方法与思路不会变。把更多的精力花在学习架构、设计模式以及算法数据结构等更基础的领域比总是追求那些新奇的框架工具要更加有利于我们的技能成长与职业发展。
        不是小羊的肖恩:@小编 共同努力,加油!
        我为双鱼狂:@小编 非常赞同,有句话说的好,所有的技巧都是基础单元的累加
      • 2ca8523e79f3::smile:
        不是小羊的肖恩:@没事就爱瞎看 :pray:
      • 8f4fe8321e67:图片有点过时了
        不是小羊的肖恩:@方小乙 这种前端技术图谱之类的图一般过几个月就会过时,而这正是令我觉得前端疲劳的表现啊,哈哈哈
      • fuyoufang:哈哈哈,赞。
        “医生说本来可以就他一命”,(就 -> 救)
        不是小羊的肖恩:@fuyoufang 哈哈,错别字。多谢指正!

      本文标题:前端疲劳

      本文链接:https://www.haomeiwen.com/subject/ibpfmttx.html