随着三大前端框架和小程序的流行,MVVM大行其道,而其中的核心是 ViewModel 层,它就像是一个中转站(value converter),负责转换 Model 中的数据对象来让数据变得更容易管理和使用,该层向上与视图层进行双向数据绑定,向下与 Model 层通过接口请求进行数据交互,起呈上启下作用,因此处理数据结构就变得非常重要了。

前端发展的历史

在上个世纪的1989年,欧洲核子研究中心的物理学家Tim Berners-Lee发明了超文本标记语言(HyperText Markup Language),简称HTML,并在1993年成为互联网草案。从此,互联网开始迅速商业化,诞生了一大批商业网站。

最早的HTML页面是完全静态的网页,它们是预先编写好的存放在Web服务器上的html文件。浏览器请求某个URL时,Web服务器把对应的html文件扔给浏览器,就可以显示html文件的内容了。如果要针对不同的用户显示不同的页面,显然不可能给成千上万的用户准备好成千上万的不同的html文件,所以,服务器就需要针对不同的用户,动态生成不同的html文件。一个最直接的想法就是利用C、C++这些编程语言,直接向浏览器输出拼接后的字符串。这种技术被称为CGI:Common Gateway Interface。

很显然,复杂的HTML是不可能通过拼字符串得到的。于是,人们又发现,其实拼字符串的时候,大多数字符串都是HTML片段,是不变的,变化的只有少数和用户相关的数据,所以,又出现了新的创建 动态HTML的方式:ASP、JSP和PHP——分别由微软、SUN和开源社区开发

但是,一旦浏览器显示了一个HTML页面,要更新页面内容,唯一的方法就是重新向服务器获取一份新的HTML内容。如果浏览器想要自己修改HTML页面的内容,就需要等到1995年年底, JavaScript 被引入到浏览器。

有了JavaScript后,浏览器就可以运行JavaScript,然后,对页面进行一些修改。JavaScript还可以通过修改HTML的DOM结构和CSS来实现一些动画效果,而这些功能没法通过服务器完成,必须在浏览器实现。用JavaScript在浏览器中操作HTML,经历了若干发展阶段:

  • 第一阶段,直接用JavaScript操作DOM节点,使用浏览器提供的原生API:
  • 第二阶段,由于原生API不好用,还要考虑浏览器兼容性,jQuery横空出世,以简洁的API迅速俘获了前端开发者的芳心:
  • 第三阶段,MVC模式,需要服务器端配合,JavaScript可以在前端修改服务器渲染后的数据。

现在,随着前端页面越来越复杂,用户对于交互性要求也越来越高,仅仅用jQuery是远远不够的。MVVM 模型应运而生

最新文章

  1. linux部署pxe+kickstart批量安装linux操作系统
  2. 从零开始编写自己的C#框架(3)——开发规范
  3. [bootsrap]模态框使用例
  4. python3.5------购物车
  5. SU Demos-05Sorting Traces-03susorty
  6. pomotime_v1.7.2 番茄软件完全教程
  7. Oracle性能调优
  8. Jfinal连接自助数据库的数据源
  9. 我的新计划 《2Dof Racing Simulator》2014/3/9 20:30:00
  10. eclipse不自动弹出提示(Alt+/ 快捷键失效)
  11. wemall app商城源码机器人检测
  12. 自定义七天签到View
  13. CPP--正码,反码,补码~附整数溢出的探讨
  14. DALI 2.0解码模块
  15. CSS简介及基本知识
  16. Python&Appium实现滑动引导页进入APP
  17. Activity 关于生命周期一些问题的实践验证
  18. asp.net/wingtip/UI和导航
  19. iPerf 笔记
  20. 各个模式的accesstoken续期详解

热门文章

  1. linux下强制退出指定用户开启的伪终端
  2. [转] sql server 跨数据库调用存储过程
  3. mysql更改数据文件目录及my.ini位置
  4. tp5.1报错 页面错误!请稍后再试
  5. Android安装包apk文件在某些版本操作系统上安装解析包出错问题的解决办法
  6. SQLPLUS的乱码问题
  7. 【Demo】CSS3 动画 加载进度条
  8. bzoj1069: [SCOI2007]最大土地面积 凸包+旋转卡壳求最大四边形面积
  9. Spring MVC中使用Swagger生成API文档和完整项目示例Demo,swagger-server-api(二十)
  10. SQL语法语句总结(《SQL必知必会》读书笔记)