欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Web前端需要熟悉大学里[高大上]计算专业课吗?

程序员文章站 2022-03-29 17:05:52
...
作者:Slbom Wong

首先,关于“前端”的理解,有两种方式:

    • 狭义地讲:切页面就是了(通常专指网页)。
    • 广义地讲:是全平台上交互逻辑和表现后台数据逻辑之间的技术中间层。

如果你的目标只是切页面、切更多的页面,你可以找知乎上某当老师掏钱拜师,想必你也不会来这里问。

稍微举点例子:

  • 比如想要做数据可视化的页面,如果你不会数据结构,怕是连D3.js的API都用不好。
  • 比如想要做消息通知,就要处理长连接,就需要知道TCP里长连接或者WebSocket是怎么回事。
  • 比如想要做在线聊天的前端(或者是这种模型下的消息转发),为了承载大并发,极有可能会自行定制HTTP Header,这个跟上面一样,是属于计算机网络的知识。
  • 反正我是在前端处理过最小子串的算法,网页游戏里实现A*算法也是很常见的,这是算法吧。
  • 简单的AJAX、复杂的交互效果,很大程度上依赖“异步”,这个是操作系统里面的概念。
  • 还有JavaScript这个东西,我想说的不是ES6,而是ES背后的程序设计语言这个领域。尽管写前端的完全不需要成为PL专家,但从这个角度看,学习一下程序设计语言编译原理函数式编程完全不过分;更何况有时候还需要生成并处理JSON-Format AST呢。
  • 还有更多的复杂的前端应用,比如FM电台、音乐播放器、Terminal、富文本编辑器等等,以及一些前端开发框架,你猜这些都用到了哪些“高大上的专业课”?

然而仅仅是切图及常规的开发,也需要懂:

  • 浏览器内核
  • HTML、CSS的规范标准
  • HTTP协议
  • JavaScript语言

只是切个图,想要切好也不是那么容易的事情。

综上,Web前端的综合实力是非常硬的,绝不是花拳绣腿;而这种硬实力的背后就是那些“基础课”。

作者:beOzPf

虽然很多大佬都说不需要。因为他们当你是工厂流水线的工人了。工人的确是不需要知道机器怎么造的。听话就行。

但是我这里的答案是很重要。

1.没有操作系统知识,js内存泄漏怎么解决你都不知道。当然大部分应用级项目都没有达到要解决内存问题的地步。

2.没有算法数据结构,老是拿个递归来来做事,知道chrome的栈深只有1w多层而已吗?稍微处理点数据量大的都要后台来搞或者直接爆栈了。用动态规划或者广搜就没事了,当然用红黑或者b数处理也行。或许很多人都不知道vue2是有内存泄漏的问题的,但是大部分应用都没有到那种程度……所以知道为什么大型前端产品例如vscode都不用框架了吧……因为框架都不适合做大型应用的,性能不行。遇上3d模型,不用算法,呵呵,玩泥巴去吧。

4. 不懂设计模式,尤神写的vue框架用了啥模式都不知道,更别提模仿了。坦白说了,就是注定层次都不一样。你甘心?

3. 前端在云计算中做什么角色?不了解一下https、负载均衡、服务化、数据一致性。打定主意做一辈子切图仔么?不会吧?!

 

如果你只是想做作应用级项目的前端,你就当我说错了吧。

但是如果你想做平台级或者大型产品级的前端,我劝你还是好好掌握计算机的基础吧。

如果你是想做架构级或者3D视觉相关的,最好是钻研计算机和数学相关的原理,这个你用起来就知道了。