如何选择新老技术 – 写给正在前端路上挣扎的人

  许多人感慨前端技术日新月异,跟不上节奏。刚学会了 jQuery,又出来个 Angular,React 还没搞清楚,又来了个 Vue。于是不断有人抱怨做前端太累,做程序员太苦,稍微一不留神就会被淘汰。
  我有一个认识多年的前端朋友,有次当我提到最近的项目是用 jQuery 开发时,他就用不可思议的眼神看着我:“都啥年代了,那些技术早过时了,现在谁还用啊?你应该多看看国外的最新技术,现在最火的是 React + Redux,我们公司好几个项目已经迁移到 React 了。”
  诚然,技术需要发展。就像火柴成了稀有货,就像算盘会进博物馆,能真正提升效率的新技术必然会取代老技术。曾经的手机帝国诺基亚在智能机围攻中轰然倒下,不追随时代的发展,就会被时代淘汰。对于新技术,我们应该以热情的态度去迎接,固执不变只会导致坐吃山空。
  技术的革新是因为效率的提升,但对于框架语言来说,鉴定其效率是一个难点:首先不存在一个标准去量化语言工具的效率;其次不同的人对工具的掌握程度不同,其最终使用的效率也是不同的。这就解释了为什么会有这么多的语言框架,每种语言背后都有一批追随者声称自己所掌握的语言是最优秀的。新技术固然有一些优秀的创新,有的人从中尝到了甜头,爱屋及乌,也有的人觉得现有技术足够优秀和熟练而没必要改变。新老技术同时出现的时候,必然会有一次无声的战役。
  对于程序员来说,掌握一个语言、一个框架是一个非常辛苦的过程,所以他们非常慎重地选择语言、框架,一旦认定后就很难更改。另一方面,一旦要使用新的框架,就意味着要重新归位起跑线。很多程序员觉得累,是因为长久积累的经验可能一夜间变的一文不值。那如何破解这个问题呢?
  首先,技术更新迭代不仅发生在 IT 行业,它是全行业的。新型电子商务的出现导致大量实体店破产;未来无人车的出现会导致大量快递员和驾驶员下岗。要想在行业内保持领先水平,就应该树立正确的心态,积极面对,正如阿里巴巴的价值观之一所说的那样:拥抱变化。
  框架,其实是一个封装了众多功能的最终产物。很多人接受一个框架就去接受这个框架的一切,否定一个框架也认为整个框架一无是处。这是一个误区。新框架不是对老框架的全盘否定,而是局部改进。对比所有的新老框架,会发现其中还是有很多的相似处的。一个框架之所以优秀,不只是因为功能丰富,更重要是它有一个解决问题的思路。因此,学一个框架,不只要学会怎么用,更要去学习这个框架解决问题的核心思路。一旦掌握了思路,即使对框架的 API 不熟悉也能猜出八九,而且脱离了框架同样能写出优秀的代码,更甚至可以自创一份框架。多数人学框架只学 API,但聪明人只学思想。一旦框架被替换,API 就白背了,但是思想就如真理般一直都在,所以对真正的高手来说,不存在框架过时这一说,过时的只是那些 API。只有学会了核心思想,学习新技术的成本就不会很大。拿 jQuery 来说,其核心思想就是以选择器为中心,通过选择器找到元素然后进行操作,这正符合多数简单网页的需求。现在复杂的网页经常需要根据数据生成页面,又需要通过页面操作影响数据,这点 jQuery 没有提供,于是 React 就出现了,它正好就是为了解决这个问题而出现的。很多时候操作元素就是为了显示、更新数据,于是 React 提供的绑定的思路就代替了 jQuery 的部分功能。整个项目使用 React 改写确实提升了可读性,但有些地方反而会降低,所以我们需要根据不同的场景选择正确的思路才是最佳的方案,不可一刀切。
  技术会一直发展,作为拥有技术的职场人,我们应该切实掌握好现有技术的核心部分,同时也需要追随时代的发展掌握最新技术的核心部分。

打赏
微信扫一扫支付
这篇文章对你有用?
微信logo 微信扫一扫,打赏 1 元表示支持吧~

发表评论

电子邮件地址不会被公开。 必填项已用*标注