您的位置:首页 > Web前端 > JavaScript

怎样克服 JavaScript 框架疲劳?

2016-03-27 11:55 381 查看
【编者按】Tero Parviainen 著有 Build Your Own AngularJS,曾两次组织 Clojure CUP 竞赛,在 Twitter 上有近两千名关注者。

在本文中。Tero 阐述了在 JavaScript 框架层出不穷的当下,不少开发人员对选择框架的种种困惑。假设你也有相似的困惑。最好还是读一读。



下面为译文:

JavaScript 社区正受「框架疲劳」困扰。着眼近段时间涌现出的大量新框架、技术和想法,令人振奋的同一时候也让人觉得非常难追上科技更新的脚步。

既然难以追赶,那么必须选择专注的领域。而做这个选择也正是由于这样的焦虑感。那么,你在专注于「正确的事」么?你正在学习的框架又是否是最合适你的,或许还有比它更好的?会不会下个月就发生些什么让你的选择显得过时?

这里有一些个人总结,用以抵抗这样的疲惫感和焦虑感。

1.学会赞赏已知中的未知数

其实假设你遭遇了这个问题。那么说明你已经非常了解环绕 JavaScript 正在发生些什么。全部你觉得应该学习的其实都是你有所了解的,它们都是你知识领域中的未知点。在这里,你必须要理解——「已知的未知」会不停地扩张。永无止境。

其实,恰恰相反:这不仅意味着新事物在不断出现,还意味着每一次你学习了一些东西,也会了解到与它相关的——那些你原本还不了解的事情。

举个样例,在读 Cycle.js 时,才发现对 Reactive Programming 知之甚少。

学习 React 又带来了接触 React Native、GraghQL、Redux 的途径,并如此无休止的重复。一件事总是可以引起另外一件事。

与其被一系列已知的未知所扰,不如学着接受这样的情况。当意识到缺乏某种知识,可以选择兴许去学习。知道它存在并大概知道它是什么。这意味着你可以决定在某个时候,假设可能的话,花费时间去学习这样的知识。我们总是陷入选择中。倾向于抗拒这样的选择却又由于仍有那么多不会的知识而抱有负罪感。

这样的纠结毫无意义,进行选择比忽略全部可以学习的东西更好。

这样的未知——你所不知道的知识——不能作为实际知识和技能的替代。但也绝不是毫无用处。

2.接受事情总是处在变化中

毫无疑问, Web 开发总在不停地衍变——更好的解决方式被共认,亦或是设备性能增强等等。

不管如今 JavaScript 最前沿的技术是什么。我敢说这个「前沿」绝对支撑不了3年。它们中的大多数会被长久的遗忘,也有一些会留存。但创新或许会环绕我们甚至还不能想象的某些事情发生。

举个样例,Angulai 1.x 如今仍然非常强大而且会维系数年,但环绕它并没有创新点。这样的情况终于也相同会发生在 React 或其它现今看来新鲜的技术上。

我们或许并不希望这些发生。但这却是不可避免的现实,你只能选择去接受事情的持续变化或者停留在落后于前沿技术的拐点。

不论什么一种选择都是有效的,但也都要付出成本。不管怎样,变化是持续的,试图阻止这样的变化往往收效甚微。

3.理解一切都有价值

不管你选择将时间用在哪种框架或者技术上,付出终究会得到回报,即使它不是最正确的那一个。

你所学习的一切都在帮助构建你头脑中的神经元网络,会帮你建立某种联系使你在兴许学习其它东西时更加easy,了解一种知识可以使你跟其它知识进行比較和对照。

因此,学习总是实用的,不管学什么。

这还意味着焦虑地去寻找一种正确的框架或技术用来学习并没有想象中那么重要。

不不过由于所谓的正确的框架或技术非常难确定,而且在非常多情况下它们并非一開始就存在的。相反。寻找实用的知识显然更为简单。它们无所不在。

你或许可以学习一些看起来有趣的东西,即使它并非绝对正确的东西。

举个样例,我花费了数年时间学习多种 Ruby 技术而且利用 Ruby 和 Rails 做 App,而在今天我用不到它们,甚至不确定以后是否会用。

那么。这是否意味着我花费的那段时间一无所获?我不这么觉得。

那些技术不仅在当时非常实用,而且全部在当时学过的东西形成了我如今的编码风格。

我非常希望这样的情况也终于发生在我如今学习的工具上。

那么,怎样去摆脱因寻找正确框架所产生的焦虑感?在这里你最好还是去寻找或许此时并不那么实用的知识——寻找一篇有趣的计算机科学论文并探索当中的观点。或者花时间在并不能直接应用于所做之事的技术上。

你从这些地方得到的收益或许并不那么明显。但它们真实存在并会在不经意的地方显现。

临时摆脱激烈的框架选择也可以让人振奋。

4.学会学习

还有一种有效的方法是回归本源,只将时间花在学会学习上。为什么不练习解决这个问题这一过程本身,或者像刻意练习一样去研究技术。相似行为将有助于了解职业真正能带来什么。

这是 Rich Hickey 对此的看法:


你须要细致辨识事情的本质。精通编程不在于语言、范例、平台、构建模块、开源、会议等。

这些都是随着时间变化的基础知识。汲取知识的能力可以使你按需使用。我更愿意选择具备良好学习技巧和解决这个问题能力的程序猿,而不是不论什么时候只汲取浅显经验的程序猿。



就像学习新框架非常有价值,学会学习非常显然能获得更大的回报。善于学习和解决这个问题,将会使你遇到更少的麻烦,不论接下来你会须要什么样的新技术。

原文链接:Overcoming JavaScript Framework Fatigue

本文系 OneAPM project师编译整理。OneAPM 是应用性能管理领域的新兴领军企业,能帮助企业用户和开发人员轻松实现:缓慢的程序代码和 SQL 语句的实时抓取。想阅读很多其它技术文章。请訪问 OneAPM 官方博客
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: