过年的时候和表哥聊天,他说之前也用html,js,css写过网页,那如今的前端和那个时候有什么不一样,我当时就向他介绍了一下前端。css
可是当时我对前端的理解也不是很透彻,因此我自我感受也没有介绍清楚。html
随着我本身学习的深刻,我本身以为有必要总结一篇前端和写网页不一样的博文了。同时也为了记录下我如今的看法和认识,等过一段时间回过头来在看,确定会对本身的提升有不少感悟。前端
因为知识水平实在有限,若是有什么错误,麻烦在评论区中指出,谢谢!react
那个时候,人们经过html写网页,而且用js,css调整样式。程序员
咱们在各类经典书籍《Head First HTML与CSS》《精通CSS:高级Web标准解决方案》《JavaScript高级程序设计》里面学到的,也基本是这方面的东西。慕课网上的大部分视屏,也都仅限于这方面而已。angularjs
随着网页的复杂度加大,程序员为了开发上的便利,因而开发各类网页模板语言。ajax
好比说简化写css的less语言,简化写js的coffeejs,还有不少html和js混写的各类模板。后端
随着js的发展,XHR的发明使得程序员能够在前端处理数据,分担了一些后端的工做。浏览器
很好的例子是表单验证啊,浏览器滑块滑到底部才开始加载图片啊什么的。前端框架
SPA=Single Page Application单页面应用。
随着ajax的发展,人们在浏览器端就能够作数据处理,这就意味着前端能够写一整个应用程序,即SPA。
在SPA时代,程序员用js来处理整个前端部分,用户在打开网站的时候就下载全部的js,在之后的打开页面等交互中,就直接在浏览器端用js进行处理,不须要向服务端发送http请求。
这个时候有一个很重要的概念就是路由,因为打开页面不发送http请求,因此对于一个网址,须要浏览器不知道怎么办。这个时候须要有一种机制来指导浏览器对于什么网址打开什么内容,这就是路由。
随着SPA时代的发展,人们为了开发的方便,常常把项目分为各类模块。其中最典型的是MVC,即model,view和control。
这个时代涌现出各类框架,好比backbone框架等。
因为MVC的control模块通常是由服务端处理的,这不属于前端的内容。为了解决这个问题,人们提出了一种解决办法,就是利用view model来代替control,这就是MVVM框架的由来。实现的技术叫作双向绑定。
这个时代就出现了现代前端框架:reactjs,angularjs等。这个时候,前端工程师已经能够开发在浏览器上运行的和应用软件同样的软件了,包括在手机浏览器上运行的。