现代互联网技术的成熟致使了技术分工的极度细化,一个技术团队每每会包括前端、后端、安全、运维、架构、测试等各类职责,尤为是先后端分离的技术实现,像关老爷手中一把锋利无匹的大偃月刀,完全切断了先后端程序员的联系,只剩下了 HTTP。前端
在2000年左右编程的时候可不是这样,历来没有先后端分离这回事。若是你本身不能扛起一个项目,不只是会被淘汰,并且会被嘲笑。我最开始用 Perl 写 CGI 程序,后来陆续学了 JavaScritp、Java、C#、Python、Objective C、Go 等,早期的项目或产品基本上都是从前作到后,除了设计以外,从切图、前端页面到业务逻辑、持久化、链接池、异常、缓存、日志、集群等等,基本上都要本身参与编程或独立实现,在那个年代,你很难以专业细分的方式运做项目,由于根本找不到那么多程序员。程序员
如今的状况彻底不同了,互联网的高速发展须要技术上更为专业、更为精深的编程人员,因此先后端技术体系的分离,就成了大势所趋,造成了一种「反模式」。web
早期开发更可能是把前端当作一个展现层,大部分业务逻辑都放在服务端实现。前端很轻,由于前端很弱,没有 AJAX 技术,没有 JQuery,没有框架,浏览器引擎和规范都不完善。可谓「通信基本靠喊,下雨基本靠伞」,最多弄个 XML 数据岛进行页面渲染,没什么重型武器。编程
随着前端技术的日新月异,前端终于从轻量级的小姑娘,变成了矫健的女侠客,依然妩媚多姿,可是前端开始承担更多更重要的职责和角色。这里的「反模式」并非一种贬义,而是指前端的强大,致使一部分业务逻辑从服务器端转移到了前端去作,后来逐步造成了先后端分离的开发方式,前端负责界面上的大部分业务逻辑,而后经过 Rest 服务与后端进行交互。原来业务系统看重的事务问题,要么一次 Rest 算一个事务,要么作成幂等服务,要么经过事务补偿的方式实现,要么交给异步消息队列处理,这样就造成了一套更为轻量级的开发模式。后端
如今大部分互联网公司里已经看不到 Java 和 HTML、JS 混在一块儿的 JSP 文件,也看不到 PHP 和 CSS 混在一块儿的 PHP 文件,前端程序员们更多的是和 HTML、CSS、JavaScript、JSON 以及满浏览器的 Dom 元素打交道。浏览器
若是你依然在编程的世界里迷茫,不知道本身的将来规划,能够加web前端学习秋秋裙767,web前端中间的数字是273,web前端最后是102 。7年全栈工程师,根据这些年从事开发经验,整理了一份最适合2019年学习的web前端干货,web前端的大型互联网技术教学视频,不停更新最新的教程和学习方法,天天分享学习经验。不管是零基础,仍是进阶都欢迎。这里是前端学习者的集中地缓存
不止于此安全
前端技术的脚步彷佛没有停歇的意思,它们有了离线存储,有了画布,能够在画布上作出精妙的动画和展现效果,有了移动端开发框架,也有了服务器端编程框架。Node.js、Meteor.js 的出现让前端程序员大大出了一口恶气,他们昂首阔步闯入了服务端开发的领地,并开始进行全栈开发。对于这个新的闯入者, C 程序员、Java 程序员、Go 程序员们纷纷表示:兔子尾巴长不了,看大家还能火几天。说完之后就继续去嵌入式、大数据、高并发、多核编程去了。前端框架
可是前端无论不顾,依然很火。若是你问我如今最火的程序员职位是什么?我不得不告诉你,是前端,优秀的前端!前端已经取代了前几年红得发紫的移动开发者,成为程序员新贵!服务器
前端技术突飞猛进,技术的更新换代,必然引起业务架构的调整,这里面就会牵扯出一个传统网站的改造问题。
Rest 的路由表能够在后端控制,也能够在前端控制,咱们最先都是在服务器端的框架里维护的,如今前端框架 AngularJS,Backbone 等,都有路由模块,放到前端更灵活。
上线的页面应该进行预处理,好比代码压缩、JS 混淆,替换静态资源的连接为 CDN 的连接等。前端也是有自动化构建工具的,推荐 Gulp。能自动化的事情,必定要让机器去作。
全部页面的静态资源好比图片,CSS,JS 等,没有特殊要求,必定要放到 CDN 上。
移动端页面怎么处理?布局和逻辑简单的页面,采用响应式设计能够搞定。复杂页面,最好仍是维护两套代码,成本更低。
SEO 问题、浏览器兼容问题,须要根据业务需求提早设定好,不要等开发人员都搞完了再作标准上的变化,这会带来很大的麻烦。
每到一个阶段,都会有一个「最火的技术职位」,好比 C 程序员,Java 程序员,iOS 程序员,Android 程序员,如今是前端程序员,数据科学家。要不要追,要不要转,我以为不重要,这些技术很快就会沉淀成传统的成熟的技术,到了那个阶段,真正的技术专家才会显山露水,拔剑四顾,一战功成!