什么是前端

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






本文转载自中文网

 

推荐阅读

    pythonexp是什么

    pythonexp是什么,培训,指数,函数,模块,表达式,数值,静态,语法,实例,对象,pyt

    python怎样求和

    python怎样求和,培训,总和,参数,方法,列表,语法,实例,对象,以上,以下,python

    python format是什么

    python format是什么,数字,培训,小数,编号,字符串,顺序,中间,小数点,括号,

    pythondef是什么

    pythondef是什么,代码,培训,名字,函数,括号,定义,内部,功能,参数,脚本,pytho

    pythondict是什么类型

    pythondict是什么类型,培训,数字,字典,类型,数据类型,冒号,括号,逗号,字符

    python标准库是什么

    python标准库是什么,标准,平台,设计,系统,培训,时间,庞大,组件,模块,操作系

    python ide是什么

    python ide是什么,环境,代码,培训,管理,时间,智能,工具,开发者,功能,更多,py

    python str是什么意思

    python str是什么意思,培训,字符串,函数,参数,整数,形式,类型,示例,初始化

    pythondef有什么作用

    pythondef有什么作用,代码,培训,名字,函数,括号,内部,定义,功能,作用,参数,p

    python类是函数吗?

    python类是函数吗?,代码,数据,培训,公用,名称,函数,变量,方法,实例,圆括号,py

    pythoncmd是什么

    pythoncmd是什么,培训,代码,公共,流程,命令,方法,处理器,模块,示例,函数,cmd