• 首页
  • 关于
    • 前端行知录 photo

      前端行知录

      前端路漫漫,行知方知行

    • Email
    • Github
  • 文章
    • 所有文章
    • 所有标签
  • 作品

“跨界”有益

07 Sep 2018

Reading time ~1 minute

前几天参加面试,面试官问我,之前那些与前端无关的技术或项目经历,对自身的前端发展有何影响?

跨界思维

 所谓跨界思维,就是用多角度,多视野,交叉,跨越的看待问题和提出解决方案的一种思维方式。

 跨界思维让人们在解决问题上可以跳出原来固有的思维体系,站在一个旁观者的角度去思考,而往往那些看似无关紧要的联系能给人以瞬间的启发。

本文并不是讨论跨界思维,上面的两句话已经说明了很多问题,下面主要聊一聊小范围的角色转换。

语言魅力

先感受下文学作品转换的魅力。

夏曼·蓝波安在《海浪的记忆》里写他父亲八十几岁蹲在兰屿的海边,他说:“父亲是很低的夕阳了。”

“很低的夕阳” 就是达悟语的特殊语言模式,从汉语去感受,瞬间意味无穷。

前后端融合

说说我的技术经历,驱动、数据库、虚拟化、渗透测试、服务端、移动端都做过,直到 3 年前才转向专职前端。高级语言间的差异不是一点半点,基本发展过程是 过程式编程 => 面向对象编程 => 函数式编程。

这些语言间的思维差异可不仅仅是阳春白雪和下里巴人这么简单。比如 Java 是强类型语言,JavaScript 是弱类型语言,这个特性就能引发出一系列不一样的检查、衍变机制。

但每种语法都有劣势和优势,纵观近几年语法标准的发展过程,能非常直观的发现各个语言之间相互的融合趋势已锐不可当。比如 TypeScript 之于 JavaScript、Lambda 表达式之于 Java。

各个高级语言间的语法都相爱相杀,若你有了一定的基础后,通过反差去体验新的语法,效果至少比直接读来要好的多。

另外,各个语言因为应用场景不同,逐渐也发展出特定的方法论。比如用 C 语言去写驱动时,要时时遵循防御性编程的理念,根本容不得你去试错。因为有这段经历在,后面在写代码时,首要就是设计逻辑、思考结构,这样写出来的代码才更为可控、健壮。一直遵循这种理念发展下去,对个人的发展绝对大有帮助。

我的经历基本上是 纵向 + 横向的全栈 都参与过,对应产品的上下游链路基本上都涉及。那么,至少每一位置的利弊点都清楚。即使只做前端,在考虑问题时也不会仅仅自扫门前雪。如果每个岗位的人都能多一些理解,拥有同理心且付诸行动,对整个产品而言一定是大有裨益。

顺带也谈一下为什么 “纵向的全栈慢慢的都会遇到瓶颈”。纵向的全栈现在很流行,基本上是一种高级语言的通吃。先抛开此种模式的恰当与否,其实现大都采用桥接的模式,必然加深关键路径长度,会引起性能的损耗。一旦业务场景复杂,这个桥的负荷就会加剧,直至产生瓶颈,最为典型的就是 React Native。

结尾

在感受过各种思维差异后,然后相互借鉴融合,加深理解,慢慢就会横看成岭侧成峰,风景大不同。

这也正是学习的魅力所在:见识更大的世界,体验多样的风情,为人生不断做加法。

参考资料

  • 《孤独六讲》
杂谈

alcat2008

Dreamer, Practitioner, Incomplete Front-ender

← 源码指引之 - React Webpack 之按需/异步加载/Code Splitting →