当我们说前端,我们在说什么?
2018-02-25 22:34
176 查看
概述
过年的时候和表哥聊天,他说以前也用html,js,css写过网页,那现在的前端和那个时候有什么不同,我当时就向他介绍了一下前端。但是当时我对前端的理解也不是很透彻,所以我自我感觉也没有介绍清楚。
随着我自己学习的深入,我自己觉得有必要总结一篇前端和写网页不同的博文了。同时也为了记录下我现在的见解和认识,等过一段时间回过头来在看,肯定会对自己的提高有很多感悟。
由于知识水平实在有限,如果有什么错误,麻烦在评论区中指出,谢谢!
网页开发时代
那个时候,人们通过html写网页,并且用js,css调整样式。我们在各种经典书籍《Head First HTML与CSS》《精通CSS:高级Web标准解决方案》《JavaScript高级程序设计》里面学到的,也基本是这方面的东西。慕课网上的大部分视屏,也都仅限于这方面而已。
网页模板时代
随着网页的复杂度加大,程序员为了开发上的便利,于是开发各种网页模板语言。比如说简化写css的less语言,简化写js的coffeejs,还有很多html和js混写的各种模板。
ajax时代
随着js的发展,XHR的发明使得程序员可以在前端处理数据,分担了一些后端的工作。很好的例子是表单验证啊,浏览器滑块滑到底部才开始加载图片啊什么的。
SPA时代
SPA=Single Page Application单页面应用。随着ajax的发展,人们在浏览器端就可以做数据处理,这就意味着前端可以写一整个应用程序,即SPA。
在SPA时代,程序员用js来处理整个前端部分,用户在打开网站的时候就下载所有的js,在以后的打开页面等交互中,就直接在浏览器端用js进行处理,不需要向服务端发送http请求。
这个时候有一个很重要的概念就是路由,由于打开页面不发送http请求,所以对于一个网址,需要浏览器不知道怎么办。这个时候需要有一种机制来指导浏览器对于什么网址打开什么内容,这就是路由。
MVC时代
随着SPA时代的发展,人们为了开发的方便,经常把项目分为各种模块。其中最典型的是MVC,即model,view和control。这个时代涌现出各种框架,比如backbone框架等。
MVVM时代
由于MVC的control模块一般是由服务端处理的,这不属于前端的内容。为了解决这个问题,人们提出了一种解决办法,就是利用view model来代替control,这就是MVVM框架的由来。实现的技术叫做双向绑定。这个时代就出现了现代前端框架:reactjs,angularjs等。这个时候,前端工程师已经可以开发在浏览器上运行的和应用软件一样的软件了,包括在手机浏览器上运行的。
相关文章推荐
- 当我们谈论前端架构时,我们到底在谈论什么?
- 前端开发是什么以及我们要学习什么
- 【前端框架之Bootstrap01】我们一起来看看这个家伙是什么
- 当我们参加前端技术峰会时,我们该听什么
- 当我们在谈大前端的时候,我们谈的是什么
- 【前端框架之Bootstrap01】我们一起来看看这个家伙是什么
- 前端工程化-我们需要做什么
- 当我们谈论前端架构时,我们到底在谈论什么?
- input屏蔽历史记录 ;function($,undefined) 前面的分号是什么用处 JSON 和 JSONP 两兄弟 document.body.scrollTop与document.documentElement.scrollTop兼容 URL中的# 网站性能优化 前端必知的ajax 简单理解同步与异步 那些年,我们被耍过的bug——has
- 想成为前端初学者,我们需要些什么或者需要具备些什么?
- node.js和前端js有什么区别
- 游戏音乐带给我们什么?
- 我们在害怕什么?
- Epoll 给我们带来了什么?
- Nacos 帮我们解决什么问题?(配置管理篇)
- 面试问题:当我们在浏览器中输入一个域名url时,接下来会做什么
- 小郎铮的敬礼告诉我们什么....
- 丁磊:那时候我们除了会写软件 什么也不会做
- 神经网络模型无法正常工作时我们应该做什么(系列)——数据标准化处理(Normalize)
- 从微软的DBML文件中我们能学到什么(它告诉了我们什么是微软的重中之重)~五 LINQ实体类中对属性的赋值,变化前与变化后SendPropertyChanging与SendPropertyChanged