您的当前位置:首页正文

前端为什么会被鄙视

来源:图艺博知识网

给Web前端加上“技术”或者“架构”的标题很容易受到后端同学的耻笑。因为在他们的眼中,前端是没有技术可言的-“不就是渲染一下html吗...”

这种耻笑不是没有原因的,更广义的来说Android、iOS等移动端,OSX、Windows等桌面端都是前端。前端技术的变化是横向的变化,过去大家热衷于桌面开发、后来是浏览器,现在是Android和iOS,而且越来越多的App开始混合H5开发。即使在同一平台上技术也是横向变化的,比如原来你用jQuery,现在你换成了AngularJS或者React,虽然技术不同但是页面渲染出来的还是那样的页面,PC上原来你用Delphi、MFC、现在你用WPF,但是业务功能还是没有太大的变化。在我的老本行Android平台上,原来你用Activity拼拼凑凑也能写代码,后来用MVP、Flux、Clean但是写出来的效果也没有太大差别。

如果一定要说前端技术的演进带来了哪些变化

  1. 代码变得更容易写了(同时意味着技术变浅涌入大量码农薪水降低)
  2. UI/UX做的更好了(得益于硬件和平台技术的发展)

然,前端技术本身并没有向纵深方向发展,前段同学在技术提升的过程中很容易走到一个天花板。被大家追逐的东西(所谓“技术”)也只是从jQuery到React,从MFC到WPF,平台从桌面到移动。这样的技术更迭永远没有尽头却不断的消耗你的青春,现在你熟悉的技术过几年就会过时。

在开始的时候前端和后端是这样的:

frontend and backend

现在前端和后端是这样的:

frontend and backend

早期的后端技术和前端技术没有太大的区分,甚至前端技术要更为复杂(需要处理复杂的UI问题),现在呢,前端依然在处理UI问题(由于平台技术的提升,复杂度反而降低),但是后端技术却发展的越来越复杂(配图是一个简化版的事件驱动架构)。推动后端技术发展的不是硬件和平台而是需要不断自我提升的处理能力(处理海量的请求和海量的数据),硬件上反而是要求变低了,以前大家都用小型机,现在使用普通的Intel处理器就可以了。

后端的演化过程是这样的:有一天老板突然奇想需要做一个应用,于是开发人员倒腾了几天,用最经典的LAMP组合搭建出了产品原型。过了一个月,发现用户越来越多了,一台服务器根本支撑不住,于是又多加了几台服务器同时做了负载均衡。老板看到这个产品发展的很好,于是招了一个产品,产品过来之后开始不断的加需求,在原来的系统上不断的添加需求导致系统变得越来越臃肿,于是考虑业务分拆,拆完业务又要拆数据库,数据分散之后又要考虑数据一致性问题。最后什么都解决好了,运营的同学搞了一个活动,当天10亿人在线抢红包服务器直接挂掉了... 后端同学想了好久,终于发现了瓶颈开始开动开挂模式。解决了排队问题,紧接着电缆被挖断了,个别边远地区说访问网页的速度比较慢,有时候菊花转了半个小时都打不开...

上面这些问题是后端同学的必修课,但是在同一时间前端同学的工作是什么呢?Activity由最开始的1个变成了20个,网页由原来的10个变成100个,仅仅是多加了几个页面(或许这时候换了新的技术架构把backbone换成了react)。

在这种悬殊的对比之下,前端理所当然的被鄙视!当然,也有一部分狐假虎威的小后端穷其一生都是在写Controller、写DAO和前端比起来也没什么牛逼的,甚至还不如大部分有追求的前端同学。

所以前端的出路在哪里呢?大部同学给出的答案是-学架构而非框架。这可以很好的避免沦为各种流行框架的奴隶,但是要我说还是转后端吧。

Top