如何克服 JavaScript 框架疲劳?

【编者按】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.理解一切都有价值

无论你选择将时间用在哪种框架或者技术上,付出终究会得到回报,即使它不是最正确的那一个。你所学习的一切都在帮助构建你头脑中的神经元网络,会帮你建立某种联系使你在后续学习其他东西时更加容易,了解一种知识能够使你跟其他知识进行比较和对比。因此,学习总是有用的,无论学什么。

这还意味着焦虑地去寻找一种正确的框架或技术用来学习并没有想象中那么重要。不仅仅是因为所谓的正确的框架或技术很难确定,而且在很多情况下它们并不是一开始就存在的。相反,寻找有用的知识显然更为简单,它们无所不在。你也许可以学习一些看起来有趣的东西,即使它并不是绝对正确的东西。

举个例子,我花费了数年时间学习多种 Ruby 技术并且利用 Ruby 和 Rails 做 App,而在今天我用不到它们,甚至不确定以后是否会用。那么,这是否意味着我花费的那段时间一无所获?我不这么认为。那些技术不仅在当时很有用,并且所有在当时学过的东西形成了我现在的编码风格。我非常希望这种情况也最终发生在我现在学习的工具上。

那么,如何去摆脱因寻找正确框架所产生的焦虑感?在这里你不妨去寻找也许此时并不那么有用的知识——寻找一篇有趣的计算机科学论文并探索其中的观点,或者花时间在并不能直接应用于所做之事的技术上。你从这些地方得到的收益也许并不那么明显,但它们真实存在并会在不经意的地方显现。暂时摆脱激烈的框架选择也能够让人振奋。

4.学会学习

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

这是 Rich Hickey 对此的看法:

你需要仔细辨识事情的本质。精通编程不在于语言、范例、平台、构建模块、开源、会议等。这些都是随着时间变化的基础知识,汲取知识的能力能够使你按需使用。我更愿意选择具备良好学习技巧和解决问题能力的程序员,而不是任何时候只汲取浅显经验的程序员。

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

原文链接:Overcoming JavaScript Framework Fatigue

本文系 OneAPM 工程师编译整理。OneAPM 是应用性能管理领域的新兴领军企业,能帮助企业用户和开发者轻松实现:缓慢的程序代码和 SQL 语句的实时抓取。想阅读更多技术文章,请访问 OneAPM 官方博客

时间: 2024-11-06 07:17:30

如何克服 JavaScript 框架疲劳?的相关文章

如何克服javascript框架疲劳

大厅里静悄悄,昨天晚上,秦韵.凌雪和林香同样下线很晚,正在酣睡,我也没有打扰谁,自己煮了碗面,吞掉之后就回到房间睡觉了. 拉开黄金弓,直接迎面对着豪猪首领就是一个火之箭,强悍的火系攻击果然不同凡响,居然直接就干掉了豪猪首领467点气血! 这个时候,我表现的那么平静却让几个MM微微有些惊讶,即使是凌月,也乖乖的点头,很听话的说"一会,战斗开始前的10秒钟内,书生安排战略吧--" 驯服技能"啪"的一声丢了上去,显示此怪物可以被驯服,当然,不是任何动物都能被驯服,否则的话

7个常见Javascript框架介绍

设计开发中的“框架”指一套包含工具.函数库.约定,以及尝试从常用任务中抽象出可以复用的通用模块,目标是使设计师和开发人员把重点放在任务项目所特有的方面,避免重复开发.通俗的讲,框架就是最常用的javascript框架和Web应用框架,当然,还有CSS框架. 下面我们介绍一些比较常见的Javascript框架,高手跳过,才学JS和ajax的朋友则应该好好了解一下. jQuery jquery是一个快速.简洁的JavaScript框架,帮助你简化查询DOM对象,处理事件,制作动画,和处理Ajax交互

前端必备,十大热门的 JavaScript 框架和库

JavaScript 框架和库可以说是开源项目中最庞大也是最累的类目了,目前在github 上这一类的项目是最多的,并且几乎每隔一段时间就会出现一个新的项目席卷网络社区,虽然这样推动了创新的发展,但不得不说苦了前端的开发者们.因此本文罗列出了一些优秀的 Javascript 框架和库的特及其在 github 上的 star 数,旨在为各位开发者提供一些参考. 1.ReactJS (Star: 59989  ,Fork: 10992) 主页:https://facebook.github.io/r

如何在程序开发项目中选择合适的 JavaScript 框架,节省时间和成本的9款极佳的JavaScript框架介绍

从技术上来看,iOS,Android 和 Windows Phone 上的移动应用是使用不同的程序语言开发的,iOS 应用使用 Objective-C,Android 应用使用 Java,而 Windows Phone 应用使用 .NET. .随着 JavaScript,CSS 和 HTML 知识技能的提升,相信你也可以构建一个超赞的移动应用.在这篇博客里,我们将会介绍一些极好的 JavaScript 移动应用程序开发框架. 说到网络开发,就不得不说 JavaScript,这是一款很有前途的程序

javascript 框架、根基技巧、布局、CSS、控件 JavaScript 类库

预筹备之 JavaScript 今朝支流的 JavaScript 框架排名中,jQuery 和 Ext 可算是佼佼者,得到了用户的普遍好评.海内的一些框架许多也是模仿 jQuery 对 JavaScript 停止了包装,不外这些框架的开山祖师 YUI 照样坚持用自己的 JavaScript 类库. jQuery 是今朝用的最多的前端 JavaScript 类库,据初步统计,今朝 jQuery 的占有率曾经跨越 46%,它算是比拟轻量级的类库,对 DOM 的操纵也比拟便利到位,支撑的后果和控件也许

JS读书笔记:《JavaScript框架设计》——第12章 异步处理

一.何为异步   执行任务的过程可以被分为发起和执行两个部分. 同步执行模式:任务发起后必须等待直到任务执行完成并返回结果后,才会执行下一个任务. 异步执行模式:任务发起后不等待任务执行完成,而是马上执行下一个任务,当任务执行完成时则会收到通知. 面对IO操作频繁的场景,异步执行模式可在同等的硬件资源条件下提供更大的并发处理能力,也就是更大的吞吐量. 但由于异步执行模式打破人们固有的思维方式,并且任务的发起和任务的执行是分离的,从而提高编程的复杂度. 多线程.多进程均可实现异步模式. 二.从回调

2017最好的JavaScript框架、库和工具 — SitePoint

与开发者数量相比,可能有更多的JavaScript框架.库和工具.截止到2017年5月,在GitHub上快速搜索能搜到超过110万的JavaScript项目. 在npmjs上有50万的可用包,并且这些包每个月的下载量将近100亿次. 2017.05.29: 更新了本文,旨在能正确的描述当前JavaScript生态的状态. 本文着重讲述目前最流行的客户端JavaScript框架.库和工具之间的基本差异和他们的基本介绍.至于是不是你要寻找的最佳实践那是另外一个问题.你可以选择一个,并坚持使用一段时间

分享一个CSS+JavaScript框架materializecss

一.内容: CSS+JavaScript框架materializecss. 二.网址:http://materializecss.com 三.图片:

2016年7个顶级JavaScript框架

当涉及到Web开发时,JavaScript框架往往是一些开发人员和企业最受欢迎的平台.可能,你有机会尝试过一两个顶级的JavaScript框架,但你仍然有点不确定哪个才是最佳的最值得掌握的,或者哪个值得你建议你的开发人员选择用于下一个web开发项目. JavaScript正在以惊人的速度前进,并且添加新的技能到你的存储库变得有不断的压力.为了做到这一点,知道和了解更多的顶级JavaScript框架在现在看来是必要的.在ValueCoders进行了彻底的研究后,我们入围了其中七个顶级框架,它们是: