前端是最火的职位吗前端漫谈

前几天在卖桃者说里写了一篇「前端能当CTO吗」,引发了一些读者交流,因为内容涉及一些人物评价,就不公开发布了,今天做一次前端漫谈。

我不是前端出身,现在也没在做前端的相关工作,怎么漫谈呢?早些年我自己写过不少JavaScript的程序,现在部门里有个不算小的前端团队,所以勉强可以写一写。很多人说老池你真他妈能写,好像啥都知道,其实我只写一些自己稍微懂一点的内容,完全不了解的东西,万万不敢动笔。

现代互联网技术的成熟导致了技术分工的极度细化,一个技术团队往往会包括前端、后端、安全、运维、架构、测试等各种职责,尤其是前后端分离的技术实现,像关老爷手中一把锋利无匹的大偃月刀,彻底切断了前后端程序员的联系,只剩下了HTTP。

我们在年左右编程的时候可不是这样,从来没有前后端分离这回事。如果你自己不能扛起一个项目,不仅是会被淘汰,而且会被嘲笑。我最开始用Perl写CGI程序,后来陆续学了JavaScritp、Java、C#、Python、ObjectiveC、Go等,早期的项目或产品基本上都是从前做到后,除了设计之外,从切图、前端页面到业务逻辑、持久化、连接池、异常、缓存、日志、集群等等,基本上都要自己参与编程或独立实现,在那个年代,你很难以专业细分的方式运作项目,因为根本找不到那么多程序员。

现在的情况完全不一样了,互联网的高速发展需要技术上更为专业、更为精深的编程人员,所以前后端技术体系的分离,就成了大势所趋,形成了一种「反模式」。

早期开发更多是把前端当做一个展示层,大部分业务逻辑都放在服务端实现。前端很轻,因为前端很弱,没有AJAX技术,没有JQuery,没有框架,浏览器引擎和规范都不完善。可谓「通讯基本靠喊,下雨基本靠伞」,最多弄个XML数据岛进行页面渲染,没什么重型武器。

随着前端技术的突飞猛进,前端终于从轻量级的小姑娘,变成了矫健的女侠客,依然妩媚多姿,但是前端开始承担更多更重要的职责和角色。这里的「反模式」并不是一种贬义,而是指前端的强大,导致一部分业务逻辑从服务器端转移到了前端去做,后来逐步形成了前后端分离的开发方式,前端负责界面上的大部分业务逻辑,然后通过Rest服务与后端进行交互。原来业务系统看重的事务问题,要么一次Rest算一个事务,要么做成幂等服务,要么通过事务补偿的方式实现,要么交给异步消息队列处理,这样就形成了一套更为轻量级的开发模式。现在大部分互联网公司里已经看不到Java和HTML、JS混在一起的JSP文件,也看不到PHP和CSS混在一起的PHP文件,前端程序员们更多的是和HTML、CSS、JavaScript、JSON以及满浏览器的Dom元素打交道。

不止于此。

前端技术的脚步似乎没有停歇的意思,它们有了离线存储,有了画布,可以在画布上做出精妙的动画和展示效果,有了移动端开发框架,也有了服务器端编程框架。Node.js、Meteor.js的出现让前端程序员大大出了一口恶气,他们昂首阔步闯入了服务端开发的领地,并开始进行全栈开发。对于这个新的闯入者,C程序员、Java程序员、Go程序员们纷纷表示:兔子尾巴长不了,看你们还能火几天。说完以后就继续去嵌入式、大数据、高并发、多核编程去了。

但是前端不管不顾,依然很火。如果你问我现在最火的程序员职位是什么?我不得不告诉你,是前端, 的前端!前端已经取代了前几年红得发紫的移动开发者,成为程序员新贵!

除了前端呢?我觉得DataScientist可能是下一个爆发的职位需求,毕竟数据科学家这个Title实在是太诱人了。关于DS,我会专门写一篇文章,我觉得它比前端更有价值。

前端技术日新月异,技术的更新换代,必然引发业务架构的调整,这里面就会牵扯出一个传统网站的改造问题,之前我和一些读者也讨论过这方面的内容。在这个领域,我不可能提出细致入微的技术方案,毕竟不是那块料,但是因为经历过,可以给一些常规建议,仅供参考:

1、做好技术选型,使用团队熟悉的技术,比如AngularJS,Bootstrap等。

2、所有的URI都应该是Rest风格的,比如这样:







































治疗白癜风去哪里好
北京治疗白癜风大概需要多少钱



转载请注明:http://www.xxcyfilter.com/zyxz/6920.html