现在使用者对网页应用程序的要求越来越高,又要好看又要反应快。常见的做法是使用 AJAX 提升页面反应时间,但为何要用 AJAX 呢?
早期使用 JSP 技术时,当你输入完网页上的表单按下送出时,你会发现画面整个变空白,然後才出现後续的结果页面。这就是标准的浏览器与网页应用程序的互动方式,每次送出 HTTP 请求,应用程序就从服务器送来一个完整的页面,我们可以称它是「以页为单位的 (page-based)」沟通方式。而使用者必须等待完整页面收到後才能继续下一个动作,也就是使用者动作要跟 HTTP 请求同步 (synchronous)。
但当你使用 google 查询时,一输入第一个字,它就跳出一个下拉框列出推荐的相关词,你会注意到画面的其他部分并没有变化,画面也没有变成空白,只有多了下拉框。若你继续输入第二、三个字,google 会根据你的输入持续改变下拉框的推荐词,你不用等待画面的变化完成就可以输入下一个字。这背後所使用的技术就是 AJAX。简单来说就是透过 JavaScript 发出非同步的 (asynchronous) HTTP 请求到服务器去取得部份要更新的资料後,再由 JavaScript 去更动目前页面的部分内容。
整体来说,就是能让使用者操作网页应用程序时能有桌上型应用程序的体验,大幅增进使用者体验(UX)。或是你曾听过单页应用程序(single page application),也是利用同样的技术打造而成。就现今技术而言,采用 WebSocket 也能得到同样好处。
虽然 AJAX 能带来更好的使用者体验,但采用 AJAX 要克服许多技术上的障碍,首先要懂 JavaScript,并用它来操作 DOM ,这还加上浏览器相关的知识,若是你要画面好看些,你还得要懂 CSS 。再来要设计一个跟服务器沟通的模式与资料交换格式,而服务器端也要实作相应的程序跟浏览器沟通。但如果你或你的同事都是 Java EE 背景的工程师,多半都不熟悉前端相关的技术,甚至也没时间去熟悉前端技术,因为系统本身应用领域的问题(如金融、仓管等...)都解决不完了,那还有时间来弄这无关的技术呢?
使用 ZK UI 框架 就能帮你大量省去处理前端技术的烦恼。
Summary What is AI? Machine learning Anomaly detec...
简介厨房:Shioaji Shioaji是永丰证开发出来的Python API,用来给客户自行开发自...
二分搜寻有随机访问的特性,在数组是有序的情况下,透过访问的元素,推测左右两侧的性质,展现较高的效率。...
看完这篇文章你会得到的成果图 前言 我们接下来的讨论,会基於读者已经先读过我 day5 文章 的架构...
VARCHAR & CHAR VARCHAR(0-65535)/CHAR(0-255)差别於...