
出版社: 清华大学
原售价: 65.00
折扣价: 46.20
折扣购买: Vue.js从入门到项目实战(新时代技术新未来)
ISBN: 9787302523888
刘汉伟,一线软件工程师,活跃于GitHub等开源社区,接触过许多优秀项目的代码,有丰富的专业知识和开发经验,曾负责并上线多个大型Web项目。2016年起开始在网上发表博客,短时间内各平台累计访问量超过10万人次,深受读者好评,并受邀成为CSDN专业讲师、腾讯云+社区专栏作者。
第1章 引 言 早期的HTML作为静态文件,即使只有部分内容是需要变动的,那么有多少种变动 的可能性,就需要准备多少份文档,这对开发者来说是非常不友好的,并且无法与用户 进行交互。 CGI(Common Gateway Interface)的出现改善了这一情况。CGI作为服务器拓展功 能,可以从数据库或者文件系统获取数据,在将数据渲染为HTML文档后,返回至客户 端,从而实现了网页的动态生成。在接收到用户请求后,CGI还可以在服务端进行处理, 并返回对应的处理结果,如图1.2所示。 图1.2 动态网页渲染流程 CGI被广泛认为是服务端脚本语言的鼻祖。然而,它也有着非常致命的缺陷。首先, CGI每接收到一个请求,都会新开一个进程进行处理,占用服务器的CPU和内存,当请 求量成千上万时,服务器可能无法支撑以致崩溃。其次,黑客很容易通过不完善的CGI 程序非法进入开发者的服务器系统,这从安全方面来考虑是绝对不允许的。 以后来人的角度来看,笔者认为CGI出现的最大意义就是给当时刚起步的Web提供 了一个发展方向。在这之后,PHP、JSP、ASP等各种服务端语言层出不穷,不仅弥补了 CGI的缺陷,而且在性能上愈加高效,在开发上愈加简捷。这些语言的出现和广泛应用, 使得Web技术飞速发展,前端网页从此从静态走向动态,这个时代被称为Web 1.0时代。 1.1.2 从后端走向前端 在 Web 1.0 时代,前后端是如何协作的呢?由于网页是在服务端使用动态脚本语言 和模板引擎渲染出来的,所以一般由前端先写模板,写好后交付给后端套用,之后再由 前后端联调,以确认模板套用无误。 在这种开发环境下,前后端耦合密切,项目开发需要很高的沟通成本。在模板引擎 的变量、判断和循环、宏区块等语法糖的支持下,前端也可以拿到环境变量来实现部分 004 Vue. js从入门到项目实战 业务逻辑。如果前端开发者表现得稍微弱势一些,就很有可能被后台摁着在视图层实现 一些业务代码。同时,整个项目的代码质量也随之降低。 网站的这种组织架构还会带来另外一些问题。比如,页面哪怕仅有一小块内容需要 变更,浏览器也需要重新请求和渲染整个页面。一方面,网站资源的传输耗费了更多的 时间;另一方面,页面重载的用户体验也十分糟糕。 举个例子,用户在登录页面输入了错误密码时,服务器要将校验信息渲染到页面并 传给浏览器。实际上,页面只是多了一行类似于“密码错误”的提示,然而网站资源却 需要重新进行传输,同时页面还会丢失用户输入的表单数据(即便到了今天,这种现象 依然可以在一些政府和国企的老旧网站中看到)。 当时虽然出现了各种页面和数据的缓存技术,稍有成效地缓解了这一问题,但也无 法从根本上解决问题。于是,从事Web的前辈们开始探寻其他一些解决方案,如Ajax 异步数据加载。 Ajax(Asynchronous JavaScript And XML,异步JavaScript和XML)通过XMLHttpRequest 对象,可以在不重载页面的情况下与Web服务器交换数据,再加上JavaScript的document 对象,开发者们可以很轻松地实现页面局部内容刷新。 从1999年开始,ActiveX和XMLHttpRequest陆续问世,Ajax的星星之火渐渐燃起。 时间推移到2005年,互联网巨头Google发布了全面使用Ajax打造的Gmail(如图1.3所示) 和Gmap两款应用。人们惊讶地发现,原来使用异步数据传输获得的应用体验是如此地 良好。自此,Ajax获得了井喷式的发展。 开发理论与编码实践结合,让你不仅学有所成,更能学以致用! 系统:从点到面讲解,循序渐进,有条有理 深入:以底层筑基实现上层运用,让你知其所以然 实用:提供62个应用案例,以实践检验真理 实战:4种常见类型网站实例,避免纸上谈兵 免费提供配套源程序下载+精彩视频学习教程