写点什么

为什么总有人觉得前端很简单?

  • 2020-07-28
  • 本文字数:2122 字

    阅读完需:约 7 分钟

为什么总有人觉得前端很简单?

最近,一位网友 在 V 站上问了一个问题:我们公司技术负责人准备培训一下后端,让他们学习一下前端技术栈,从而分担一些前端的工作量。评论区有一位网友表示:“我们是这么干的,结果后端写出来的前端代码是一坨,后面越叠越多,变成一大坨 …… 前端哪有他们想的那么简单。”

前端的历史

前端的起源要追溯到 1980 年,牛津大学计算机科学教授兼麻省理工学院教授 Tim Berners-Lee 提出并制作了 INQUIRE 原型,可以说是 Internet 的前身,而后在 1991 年 10 月,Tim Berners-Lee 正式提出 HTML 标签,并列出了 18 个 HTML 标签,但是依旧没有“前端开发”这一概念。直到 2005 年互联网进入 Web 2.0 时代,各种类似于桌面软件的 Web 应用应运而生,各种 RichMedia 也使得网页内容更加丰富,网页不再只是一种文字和图片的载体,交互形式也从“用户浏览网页”转变为“用户与网页互动”,给用户带来更好的用户体验。


而真正引起前端质变的是智能手机的普及。智能手机成为了人们生活中不可或缺的一部分,移动互联网时代的到来,更是推进了前端的发展,前端工程师也成为了专门的开发领域,拥有独立于后端的技术体系和架构模式。随着技术的发展,大前端逐渐火了起来,而且以燎原之势影响着前端领域甚至整个开发领域,大前端也逐渐成为一种趋势。


虽然前端的发展一直向好,但前端依旧是颇具争议的领域:


  • 首先,相对于后端来说,前端入门的门槛较低,有些人因程序员的高薪酬而转行,却又不愿学习更多的知识和技术,久而久之,前端工程师的技术水平参差不齐,进而拉低了前端工程师在整个行业中的形象;

  • 其次,没有持续关注前端的人对于前端的印象还停留在很久以前,觉得前端仅仅是“写个网页”、“写个 UI”而已;

  • 最后,前端技术偏向于纯逻辑,有着很强的理论性,对于每个问题都有“唯一标准”,而后端没有那么强的理论性,对于一个问题而言,可能会有很多解决思路和方式。后端开发者还需要了解 CPU、寄存器、内存和指令集等计算机组成原理的知识,需要学习的知识更多。


也正因如此,知乎上经常可以看到有人提出诸如“前端还有未来吗?”、“2018/19/20 年,如何转行做前端?”等问题,在一个建议学习前端的回答下,有一名网友评论“因为前端简单啊,后端太难了。”


前端真的很简单吗?

前端并不简单

近年来,前端的发展速度极快,前端 开发 再也不是当初人们口中的“写网页的程序员”了。最早基于浏览器进行开发,后面一点点扩展到服务器端、PC 端、移动端和现在特别火的小程序端,前端开发不断“开疆拓土”,向前端全栈化前进。


最早的前端开发者,掌握 JavaScript+CSS+HTML 就能够找到一份不错的工作了,不过最近几年以来,伴随着各个端平台的迅猛发展,以 TypeScript、Swift、Kotlin 和 Dart 为代表的新一代应用编程语言纷纷浮现;React、Vue 和 Angular 三大框架也 形成各自的生态 。前端 技术栈更新换代速度之快几无可相提并论者,前端开发也 并没有大多数人想象中那么简单,做好前端并非易事,如何在前端开发领域占据自己的一席之地是很多前端开发者都在思考的事情。


有的人是科班出身,有的人是从后端转到前端或是由其他行业转行成为程序员,无论是哪一种 情况 ,都需要有一个良好的基础。很多面试前端岗位的同学可能都听过这样一个问题:“一个网页从输入地址到最后页面打开,发生了什么?”大家对于渲染等经常在工作中使用到的技术对答如流,但 对 其中涉及到的计算机网络的知识,就不是所有人都能回答上来了。想复习一下这个知识点的同学可以参考这篇文章:


https://github.com/ljianshu/Blog/issues/24


有一个良好的基础固然重要,可前端技术更新迭代快,能够不断学习,将各种技术融会贯通也是一名出色的前端工程师必备的能力。随着前端岗位工作方向越来越细分,前端人需要掌握的技术也就越来越多,虽然嘴上说着“学不动了”,但身体却很诚实,默默地把新技术的官方文档加入到浏览器收藏夹。

前端需求饱和了?

知乎等社区上偶尔出现这样一种说法,前端热度已经降低了,前端市场已经饱和了,前端工作没有那么好找了。但实际上,这种说法并不成立。 大前端领域的编程语言仍然热度高涨, 从七月份的 TIOBE 指数可以看出,JavaScript 排名第七,Swift 也跻身前十。



图片来源于 TIOBE


在 IEEE Spectrum 2020 年编程语言排行榜中,JavaScript 排到了前五名。



图片来源于 IEEE Spectrum


根据职友集的数据来看,前端工程师的市场需求量依旧很大。



图片来源于职友集


由上图数据可以看出,在今年疫情爆发的时候,市场需求量有下滑趋势,随着疫情逐渐得到控制,市场对于前端工程师的需求又逐步增加。随便打开一个招聘网站,以“前端”为关键字进行搜索,都会看到很多的招聘信息,而且薪资并不低。


提出“找不到工作”的人一般是技术水平不足,缺乏项目经验却又急于找工作;或是不满足于现状,希望去 BAT 等头部公司的开发者。任何事情都不能急于求成,前端也一样。自身没有过硬的技术,没有丰富的项目经历,又不愿意投入时间和精力去学习,想找到一份自己很满意的工作自然十分困难。


无论前端这一领域如何发展,自身的技术和经验等硬实力永远是核心竞争力。企业对于前端工程师的要求也越来越高,想要有更好的发展,就需要持续学习、不断进步。换言之,持续学习是一名前端工程师不被行业淘汰的能力。


2020-07-28 18:483847

评论 11 条评论

发布
用户头像
浪费时间 大哥能不整点干货
2020-08-25 17:20
回复
用户头像
浪费我时间
2020-08-17 11:32
回复
用户头像
这篇文章想说什么?
2020-08-10 12:23
回复
用户头像
前端只要不写算法就简单
2020-08-05 22:38
回复
用户头像
前端被人误解的不就是个人都能写一点么,本文可以说是很好的现身说法。
2020-08-05 09:04
回复
用户头像
前端被人误解不就是水份太多,本文可以说是自证其理。
2020-08-03 09:34
回复
用户头像
有 踩得功能吗,我要
oooO ↘┏━┓ ↙ Oooo
( 踩)→┃你┃ ←(死 )
\ ( →┃√┃ ← ) /
  \_)↗┗━┛ ↖(_/
2020-07-30 13:35
回复
用户头像
前端成为现在这个样,应该被人折腾出来,都是为大公司的kpi考核
2020-07-30 12:39
回复
用户头像
水得一批
2020-07-30 09:37
回复
用户头像
说了半天也没看论证出来前端怎么就不简单的了?
2020-07-29 13:39
回复
简单不简单,谁做谁知道。哈哈
2020-07-29 15:41
回复
没有更多了
发现更多内容

一次注定失败的裸面

escray

ruby 程序员 面试 面经

LeetCode题解:641. 设计循环双端队列,使用双向链表,JavaScript,详细注释

Lee Chen

大前端 LeetCode

架构师训练营第三周作业

文智

极客大学架构师训练营

华为云推出全自研数据库,GaussDB(openGauss)能否撑起一片天?

华为云开发者联盟

数据库 数据 gauss db

jdk 源码系列之StringBuilder、StringBuffer

sinsy

Java jdk 源码解析

数字货币视域下的金融安全实现路径

CECBC

区块链 数字货币

揭开500亿“区块链”骗局

CECBC

法律 传销

Greenplum 性能优化之路 --(一)分区表

腾讯云大数据

大数据

你在开发过程中使用Git Rebase还是Git Merge?

华为云开发者联盟

git 华为 管理 代码

第二周-学习总结-框架设计原则

莫森

极客大学架构师训练营

原创 | 使用JPA实现DDD持久化-O/R阻抗失配(2/2)

编程道与术

Java hibernate DDD JDBC jpa

架构师第一期作业(第三周)

Cheer

作业

线段树(Segment Tree)

zayfen

算法 线段树 segment tree

腾讯云副总裁刘煜宏:大数据平台算力弹性资源池达500万核,国内最强

腾讯云大数据

大数据

打造一个全功能的浏览器

Daniel

手把手教你:将 ClickHouse 集群迁至云上

腾讯云大数据

大数据 Clickhouse

用go语言实现快排

Sean

算法 快速排序 Go 语言

区块链带来的技术创新和变革

CECBC

区块链技术 经济

持续引领大数据行业发展,腾讯云发布全链路数据开发平台WeData

腾讯云大数据

大数据

看看别人是怎么面试蚂蚁金服的!社招Java面经分享

Java架构师迁哥

Java 阿里巴巴 面试 蚂蚁金服

架构师训练营第三周学习总结

邓昀垚

极客大学架构师训练营

为什么90%的“码农”做不了软件“架构师”?

Java架构师迁哥

Java 学习 架构师

腾讯云大数据发布最新产品矩阵,助力企业整合打通海量数据

腾讯云大数据

大数据

原创 | 正确区分属性和字段

编程道与术

Java hibernate 编程 软件开发 jpa

原创 | 使用JPA实现DDD持久化-JPA,Hibernate与Spring Data JPA

编程道与术

Java hibernate Spring C Data jpa

第二周-命题作业

莫森

极客大学架构师训练营

原创 | 使用JPA实现DDD持久化-JPA vs MyBatis

编程道与术

Java hibernate 编程 mybatis jpa

致谢!华为全联接2020精彩回顾

华为云开发者联盟

华为 华为云 智能 hdc

倒计时!Pulsar Summit Asia 2020 演讲征集

Apache Pulsar

开源 云原生 pulsar Apache Pulsar 消息中间件

为什么推广ipv6以及网站ipv6改造基本步骤

MySQL从删库到跑路

Web IP 网络

原创视频 | 架构漫谈—如何创造复杂而有序的软件系统【含课件下载】

编程道与术

Java 编程 架构 软件开发 软件架构

为什么总有人觉得前端很简单?_文化 & 方法_李俊辰_InfoQ精选文章