为什么很多技术都觉得前端很简单?
前端一直以来是一个颇具争议的领域,有人极其喜爱,有人避而远之,和多数“天下太平”的技术相比,这确实有些令人费解,但我认为这其中的原因至少包括以下三点。
第一,某些技术人员或管理者虽然技术进步,但思想却依然陈旧迂腐,还停留在“前端就是改改页面”这样老旧的思维程度,认为前端没有技术含量且无法创造显著价值。那是因为他们不了解前端,前端不是纯粹的技术工种。
做前端是非常耗费心力的,比如简简单单的用户界面,每次拿到设计稿都要排查两个点:基本要素和规范匹配吗?文档覆盖到所有数据用例吗?如果有问题的话就必须要和产品经理和设计师们碰头,确定这是故意为之还是确实不对。如果这两个点没问题,对于新功能,接下来就要和后端对接口。很多时候,后端的需求是靠前端总结的,比如需要告诉后端们这个 API 应该完成什么工作以及输入输出等等。
第二,相对于软件领域的通用技术,前端极低的入门门槛,导致号称“懂前端”的工程师技术水准严重参差不齐,这反向影响了整个前端技术群体的形象。
UI 是很主观的东西,谁都可以摸得到,谁都可以玩,也自然会有玩后感。所以你发现项目组里面,但凡会说话的都想要对 UI 应该长什么样、怎么样工作,发表自己的看法。而 UI 在现实世界中又千变万化,难以找到统一的标准,所以你没法简单直接论证对方的观点是错误的。而后端呢?代码写得再烂,只要能够实现功能就可以。至于要挑毛病,必须专业的才可以。也正是因为前端太亲民了没有神秘性,大家才会觉得非常简单。
第三,前端技术偏纯逻辑,你只要把算法琢磨透就行了。而后端技术部分,比较偏工程性,不像前端技术有很强的理论性,对于每个问题都有清晰的答案。而后端技术,往往对同一个问题有多种解决思路和算法,不一定有统一的答案,甚至算法和术语的名称都不统一。有些后端也涉及计算机组成原理的知识,要考虑 CPU、寄存器、内存和指令集,看上去复杂了很多。虽然比较复杂,但我认为,这并不意味着后端更难,只意味着知识点更多。可这些知识,往往你熟悉了就不难了。
从技术层面来说的话,现在前端已经不是会了 JavaScript 就能打天下了,还需要熟练掌握很多的框架,前端三架马车 React、Angular、Vue 这样面向现代 Web 应用需求的前端框架已经成为必备技能,而且这三大框架已趋于平稳、标准化,向 Web Components 看齐。
我认为未来的趋势是 Web 前后端融合为全栈开发,这需要前端人员了解 HTTP 协议的细节,了解常规的 API 开发。了解 HTTP 协议的前端开发,将会慢慢吃掉这部分后端开发的任务,同理了解 HTTP 协议的后端,也会因为三大框架开发模式的成熟而学会前端开发。进而,这两类人演化为全栈开发工程师。
编辑 | 随风
版权声明: 本文为 InfoQ 作者【极客时间】的原创文章。
原文链接:【http://xie.infoq.cn/article/1e107b9a9b1272f95161c35a5】。未经作者许可,禁止转载。
评论