Ajax:Web应用开发新理念

Selenium与Playwright:Web自动化测试框架选型与实战对比 Web自动化测试是现代软件开发流程中保障产品质量的关键环节,其核心原理是通过程序模拟用户操作,对Web应用进行功能验证与回归测试。该技术能显著提升测试效率、确保软件迭代的稳定性,广泛应用于持续集成、跨浏览器兼容性验证等场景。在众多自动化测试工具中,Selenium凭借其基于W3C WebDriver标准的开放生态和广泛的语言支持,长期占据主导地位;而新兴的Playwright则通过内置浏览器引擎和智能等待机制,在提升测试脚本稳定性和开发体验方面展现出显著优势。本文聚焦于这两个主流框架的深度对比,从架构设计、 阅读详情
如果要用“充满魅力”一词来形容当前流行的交互设计,那么首推创建Web应用程序。毕竟,当你最终听到某人倾倒于产品的交互设计,难道不是在网上?(Okay,我承认iPod除外)。所有追求酷,追求创新的新项目都是联机应用的。

尽管如此,Web交互设计人员还是不可避免地对创建桌面应用软件的同事怀有一丝妒忌。桌面应用程序所拥有的功能丰富性和响应能力似乎是Web目前无法达到的。简单地让Web应用程序迅速蔓延,会在我们所提供的体验和用户从桌面应用程序获取的体验之间形成一道鸿沟。

但现在,这道鸿沟正被逐渐填平。让我们看看Google Suggest。根据您输入的内容,相关的条目便几乎立即更新。我们再看Google Maps。利用光标,在刻度线上移动来放大地图或者缩小,所有的一切几乎都是即时的,完全不用等待页面的刷新。

Google Suggest和Google Maps就是这种新型Web应用程序的两个例子,我在Adaptive Path上把这种理念称为 Ajax。也就是Asynchronous JavaScript + XML的简写,它预示着Web可能发生一次重大的变革。

Ajax的定义

Ajax并不是一种新技术,它实际上是几种已经在各自领域大行其道的技术的强强结合。Ajax由以下内容组成:

· 基于标准化的XHTML和CSS;

通过DOM(Document Object Model)实现动态显示和交互;
· 通过XML和XSLT来进行数据交换和处理;

使用XMLHttpRequest通过异步方式获取数据;
使用JavaScript来整合以上所有的技术
经典的Web应用程序模型工作方式如下:大多数用户动作在界面上激发一个HTTP请求到web服务器。服务器做一些处理——获取数据,处理数字,与现有的应用系统进行沟通——最后返回HTML到客户端。这样的模型适合于以超文本为基础的Web应用程序,但作为一个强调用户体验的狂热分子(The Elements of User Experience一书的拥护者),我们认为超文本造就Web成功的东西,却并不一定满足软件应用程序的要求。

传统的Web应用程序模型技术上来说意义非凡,但它并不适用于创建完美的用户体验。当服务器在做数据处理的时候,用户在干什么呢?没错,他们在等待。一个任务所需的步骤越多,用户需要等待的次数也越多。

显然,当我们设计Web应用程序的时候,我们不应该让用户傻等。界面一旦加载完成,为什么还要因为程序需要从服务器传输一些东西而中断用户交互呢?实际上,用户为什么要看到程序与服务器的联系?

为什么Ajax与众不同

Ajax应用程序摒弃了“开—关—开—关”的交互形式,在用户与服务器之间引入了一个中间件——Ajax引擎。看上去在应用程序上添加一个层面会减少响应,但事实上恰好相反。

不同于加载一个网页是,用户会话一旦建立,浏览器就加载一个Ajax引擎——由JavaScript编写并通常放置在一个隐藏帧内。引擎的责任包括构造用户操作界面以及与服务器的沟通。Ajax引擎允许用户与应用程序的交互异步进行——无须直接访问服务器。所以用户永远不会在服务器处理数据期间瞪眼面对一个白屏和沙漏图标。



用户动作的处理由传统的表单提交来激发一个HTTP请求,变为Javascript调用Ajax引擎。给用户的回应不用等到服务器处理后返回——比如简单的数据校验,在内存中编辑数据,甚至一些导航功能——都直接由引擎来处理。如果引擎需要从服务器获取些数据——提交数据给服务器处理,加载额外的界面代码,或者获取新数据——引擎通常以XML格式激发一个异步的请求,用户端完全没有被中断的感觉。

谁在使用Ajax

Google在Ajax开发上投入了巨大的精力。去年Google推出的几大产品——Orkut、Gmail、Google Groups最终测试版、Google Suggest和Google Maps——都是基于Ajax的应用。其他还包括:有着很多备受人们赞誉特性的Flickr(http://www.flickr.com/)基于Ajax,Amazon的A9.com搜索引擎也使用了类似的技术。

这些项目证实Ajax并不是一个技术性的实验品,它可以实践在现实世界的应用中。它也不是一种只能在实验室中运用的技术。Ajax适用于从简单的单函数Google Suggest到非常复杂的Google Maps等各种规模的应用程序。

在Adaptive Path,我们已经基于Ajax的理念工作了好几个月,我们意识到我们也仅仅是接触到Ajax所能带来的非凡体验的一点皮毛。Ajax是Web应用程序的一个重要发展,并且其重要性还在逐步增长。因为许多开发人员已经熟悉Ajax所包含的技术,我们期望看到更多的组织能够像Google那样通过Ajax获得更大的竞争优势。

更进一步

创建Ajax应用程序所面临的最大挑战并不在技术上。Ajax的核心技术是成熟的,稳定并被广泛应用着。这些挑战在于:应用设计人员忘掉所有我们所熟知的网络限制,去想像更宽广、更深远的可能情况。

接下来会很有趣。

Ajax Q&A

2005年3月13日:自从Jesse发表了该文,他收到了不计其数的咨询Ajax问题的信件,Jesse回复了其中有代表性的问题并整理成Q&A。

Q:是Adaptive Path还是Google发明了Ajax?Adaptive Path是否协助开发了Google的Ajax应用程序?
A:Ajax并不是由Adaptive Path或者Google发明的。Google最新的产品是Ajax应用程序最具代表性的例子。Adaptive Path没有参与Google的开发,但我们在为其他的一些客户做一些与Ajax相关的工作。

Q:Adaptive Path会出售Ajax组件或者注册Ajax这个商标吗?我从哪里可以下载到它?
A:Ajax并不是一个具体的软件或程序,它是一种理念——关于用合理的技术构建Web应用程序架构的思考。Ajax这个名称和它的理念都不是Adaptive Path私有的。

Q:Ajax只不过是XMLHttpRequest的别名吗?
A:不是。XMLHttpRequest只是Ajax的一个组成部分。XMLHttpRequest让客户端与服务器的异步通讯成为可能;Ajax是本文描述的一个整体理念,它不仅依赖于XMLHttpRequest,还包括CSS、DOM和其他技术等等。

Q:为什么你会起这么个名字?
A:我们需要一个简短的表示“Asynchronous JavaScript+CSS+DOM+XMLHttpRequest”的新词来与客户谈我们的理念。

Q:与服务器异步通讯的技术产生很多年了,Ajax何以称为新理念?
A:Ajax包含的技术被大量应用在现实世界中以至于改变了Web的基础交互模式是一个新现象。Ajax是针对现在而言,因为这些技术离工业化应用还需要很多时间去开发。

Q:Ajax是一个技术平台或者架构吗?
A:都是。Ajax是一系列技术的无缝集合。

Q:Ajax最适合于什么样的应用?
A:我也不知道。因为这是一个相当新的理念,就我们的理解而言,Ajax应用还处于初期阶段。有时候传统的Web应用程序模型可能更为适合。

Q:是否可以理解为Adaptive Path就是取代anti-Flash?
A:完全不是。Macromedia是Adaptive Path的客户之一,并且我们长期为Flash技术做技术支持。待Ajax成熟后,我认为对于具体的问题,Ajax有时候会是一个更好的解决方案,同样有时候Flash也许做得更好。我们也有兴趣探讨两者的结合。(比如Flickr,它结合了两者)。

Q:Ajax在易用性和浏览器兼容性上是否有限制?Ajax是否会与后退按钮冲突?Ajax与REST(雷达电子扫描技术)兼容吗?Ajax的开发有哪些安全考虑?Ajax能为那些禁止Javascript运行的用户工作吗?
A:所有这些问题的答案,我只能说“可能”。已经有很多的开发者着手这些方面的工作。要评估Ajax的所有限制,我想还需要做很多工作,我们希望Ajax开发社区能揭示更多的信息。

Q:你所提到的Google的一些应用中实际上并没有使用XML。我一定要在Ajax应用中使用XML或XSLT吗?
A:不是,对于Ajax客户端,XML作为数据交换的载体是支持最为完善的(XMLHttpRequest,DOM支持)。当然,你没有理由不接受可以达到同样效果的技术,例如JavaScript Object Notation(http://www.crockford.com/JSON/)或者其他类似的数据交换的格式。

Q:Ajax应用比传统的Web应用程序方便开发吗?
A:也不尽然。Ajax的应用不可避免要在客户端运行复杂的JavaScript脚本。编写复杂并且高效稳定的脚本并不是一件容易的事情,优秀的开发工具和框架能帮助我们接受这一挑战。

Q:Ajax应用程序总比传统的Web应用程序程序更友好吗?
A:不一定,Ajax给交互设计人员更多的灵活性。能力越大,责任也越大。我们必须小心使用Ajax去改善用户体验,而不是把它弄得更糟。

LLCE、PFE模块,二层交换/桥接的通用学习转发机制 NXP 文档里给出的正式全称如下:面向 CAN/CAN-FD、LIN、FlexRay 的“低延迟通信引擎”,用多核 M0 固件做报文收发、过滤、路由,把主 CPU 中断负荷降到几乎 0。“数据包转发引擎”,负责以太网帧的分类、修改、转发、VLAN/NAT/IPsec 等 offload,支持 2 Gbit/s 线速且主机负载 ≈0。两者都跑各自固件,通过内部 AXI 桥可互连,实现“CAN→ETH”零主核参与的硬件级网关功能。是它们都集成在。 阅读详情

相关推荐

Shopee商品详情页反爬实战:手把手逆向x-sap-Ri和x-sap-Sec参数(附完整调试过程)

本文详细解析了Shopee商品详情页反爬机制中的x-sap-Ri和x-sap-Sec参数逆向过程。通过JS逆向技术,从环境数据采集到多层哈希运算,完整拆解了这两个关键参数的生成逻辑,并提供了实战技巧和Node.js实现方案,帮助开发者应对Shopee的动态加密挑战。

weixin_33701251的博客 1597

[导入]Ajax:Web应用开发新理念

sugar 2005-10-28 08:41 文章来源:http://www.cnitblog.com/sugar/archive/2005/10/28/3616.html 转载于:https://www.cnblogs.com/SCOTT-SUN/archive/2006/06/02/416055.html

weixin_30242907的博客 76

Python爬虫实战:从巨潮资讯网高效获取结构化JSON数据

在数据采集与处理领域,网络爬虫是实现自动化信息获取的核心技术。其基本原理是通过模拟浏览器行为,向目标服务器发送HTTP请求并解析响应内容,从而提取所需数据。相较于传统的网页解析,直接获取结构化数据(如JSON格式)能极大提升数据处理的效率与准确性,避免了复杂的HTML解析或PDF文本提取过程。这一技术价值在金融数据分析、市场研究、舆情监控等场景中尤为突出,能够快速构建高质量的数据集。本文以Python爬虫为例,聚焦于从巨潮资讯网这类官方信息披露平台,精准定位并抓取JSON格式的上市公司年报数据,详细阐述了接

weixin_29243279的博客 1420

Ajax: 一个建立Web应用的新途径

Ajax: 一个建立Web应用的新途径document.title="Ajax: 一个建立Web应用的新途径 - "+document.title 如果要问做什么事是最有吸引力,那就是创建Web应用。毕竟,上次你听到有人称赞某产品的交互设计是什么时候的事了?(除了iPod之外) 它们都很cool, 而且都是很创新的项目。 抛开这些不管,Web设计者们对设计交互式的Web没有什么更好的办法,

不飞则已,一飞冲天 980

数字芯片后端设计实战:Memory Compiler参数配置与SRAM生成优化

本文深入解析数字芯片后端设计中Memory Compiler的核心参数配置与SRAM生成优化策略。详细探讨了容量结构、频率设定、工艺角选择等关键参数的配置要点与常见误区,并提供了从.lib/.lef文件转换到后端流程整合的实战指南,旨在帮助设计者生成面积、性能和功耗更优的存储单元。

weixin_29194255的博客 702

【EDA Tools】Spyglass 检查 Verilog 和 SystemVerilog 混合语言及 Lint 检查

Spyglass可以用于检查混合设计中的语言互操作性和一致性问题。对于设计中包含多种硬件描述语言的情况,Spyglass 能够识别并解析其中的模块及其互连,并对其进行验证。例如,在包含 Verilog 和 VHDL 的混合设计中,Spyglass 会自动识别并解析 Verilog 和 VHDL 文件及其相互连接。通过运行 Spyglass Lint 功能,可以检查混合设计中的语言一致性问题,例如不兼容的数据类型、互操作性问题以及其他可能导致设计故障或不一致的问题。

记录学习历程 5082

Ajax: 一个建立Web应用的新途径 [转]

如果要问做什么事是最有吸引力,那就是创建Web应用。毕竟,上次你听到有人称赞某产品的交互设计是什么时候的事了?(除了iPod之外) 它们都很cool, 而且都是很创新的项目。 抛开这些不管,Web设计者们对设计交互式的Web没有什么更好的办法,却对我们做桌面软件的同事投去少许羡慕的目光.桌面应用程序有丰富的界面以及对于Web程序来说无法比拟的响应能力。同样,Web的快速发展,在我们所...

dengxiajuan5846的博客 217

模拟电路综合笔试题解析

本专栏预计更新60期,当前为第10期,文章约6000字,旨在帮助读者掌握模拟电路笔试的核心知识点与实战技巧。文章分为五个章节,涵盖基础理论、高频考点、大厂题目解析等内容。首先,文章详细解析了DC-DC与LDO的区别及选型依据,并通过真题分析帮助读者理解其应用场景。接着,文章深入探讨了运放电路设计、同步降压电路设计等高频考点,并结合实际案例提供解决方案。此外,文章还分享了特斯拉、华为、大疆等大厂的面试题及解析,帮助读者应对复杂电路设计挑战。最后,文章总结了模拟电路设计中的关键技巧与优化方法,为读者提供全面的笔

启芯硬件的博客 473

Ajax : A New Approach to Web Applications(Ajax : 一种网络应用的新理念)

(FROM:http://www.javayou.com/showlog.jspe?log_id=743)Ajax : A New Approach to Web Applications Ajax : 一种网络应用的新理念 If anything about current interaction design can be called “glamorous,” it’s creating...

weixin_34050389的博客 291

无限泛化!AI背景文字识别,腾讯文字六宫格

本文介绍了生成大规模文字验证码数据集的方法,通过使用上百种字体和2万+字库,结合随机背景和数十种图像增强技术,生成了2000万+的多样化样本。该方法采用二阶段训练策略,确保模型对字体、形态、形变等具有强泛化能力,可适配腾讯、咸鱼等多种平台的文字验证码识别,包括生僻字和复杂形变情况。生成的模型在多种验证码场景下表现优异,但强调该方法仅用于技术研究,严禁非法用途。

码王吴彦祖的博客 564

利用Python爬虫采集京东商品评论情感分析案例(含完整代码)

在电商蓬勃发展的今天,商品评论蕴含着巨大的商业价值。本文以京东商品评论为研究对象,系统介绍如何使用Python构建一个完整的评论采集与情感分析系统。文章涵盖京东反爬机制分析、动态请求模拟、评论数据解析、中文文本预处理、基于SnowNLP和深度学习的情感极性分类、以及可视化展示等完整技术链路。所有代码均基于2025-2026年最新可用接口编写,并提供可直接运行的完整源码。全文力求详实,总字数逾八千字,适合Python数据分析从业者、电商运营人员及自然语言处理初学者参考实践。目录摘要第一章 引言。

2201_76125261的博客 88

互联网新理念,对于WEB 3.0 你怎么看?

WEB 3.0 这个名词走进大众视野已经有一段时间了,也曾在各个圈子里火热一时,至今各大互联网企业任旧在 WEB 3.0 上不断探索。但关于 WEB 3.0 是什么这个问题,其实大部分人都没有一个比较明确的认知,包括区块链和元宇宙等相关行业的从业人士在内,也包括我本人亦是如此。本文非技术性文章,从一个普通互联网用户角度,讲讲个人对 WEB 3.0 的理解与看法。

玖涯博客 1514

2022年全国职业院校技能大赛 高职组大数据技术与应用卷⑦——解析答案

大数据时代,电商经营模式发生很大改变。在传统运营模式中,缺乏数据积累,人们在做出一些决策行为过程中,更多是凭借个人经验和直觉,发展路径比较自我封闭。而大数据时代,为人们提供一种全新的思路,通过大量的数据分析得出的结果将更加现实和准确。商家可以对客户的消费行为信息数据进行收集和整理,比如消费者购买产品的花费、选择产品的渠道、偏好产品的类型、产品回购周期、购买产品的目的、消费者家庭背景、工作和生活环境、个人消费观和价值观等。通过数据追踪,知道顾客从哪儿来,是看了某网站投放的广告还是通过朋友推荐链接,是新访客还是

我是网络安全兼技能大赛工程师,专注网络安全技术学习与技能大赛实战!持续分享最新的技术文章,帮你少走弯路,一起在技术赛道上进步~ 472

什么是AJAX?

Ajax: 一个建立Web应用的新途径[z]          如果要问做什么事是最有吸引力,那就是创建Web应用。毕竟,上次你听到有人称赞某产品的交互设计是什么时候的事了?(除了iPod之外) 它们都很cool, 而且都是很创新的项目。 抛开这些不管,Web设计者们对设计交互式的Web没有什么更好的办法,却对我们做桌面软件的同事投去少许羡慕的目光.桌面应用程序有丰富的界面以及对于

cp62的专栏 740

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

spring_hibernate_ajax框架优点,毕业论文-基于ajax、spring、hibernate的博客系统设计.doc...

PAGEl学 院:_物理与光电信息科技学院__专 业:____电子信息工程____年 级:__ _______学 号: 106032005146姓 名:___ _ __指导教师:____ 老师_____基于ajax、spring、hibernate的博客系统设计物理与光电信息科技学院 电子信息专业106...

weixin_39574708的博客 231

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

QCon上海2015热点专题前瞻:新时代的前端

最近几年,Web前端领域的新标准、新框架、新工具、新理念不断涌现。今年6月,ES6正式发布,也标志着Web前端已经进入了一个全新的时代!\u0026#xD;\n\u0026#xD;\n在即将于10月15~17日举行的QCon上海2015上,我们邀请了资深前端专家、百姓网的贺师俊担任出品人,策划了“新时代的前端”专题。\u0026#xD;\n\u0026#xD;\n\u0026#xD;\n贺师俊,网...

啊啊啊啊2 159

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

一起来讨论web2.0吧

因为想要在经典上发,所以起了这么个名字。最近今天接触了很多这方面的东西,感觉就是关于新思潮的一切都扑面而来。感觉web上是个人物就在吵2.0,我是个初学者,谈一谈今上午的感受。一直以来,我虽然是做web编程的,但是对web本身并不是很熟悉。今天早上过来看keso的blog,说是sina的blog升级到2.0,并邀请他加入。连sina也开始搞blog了,嘿嘿。然后,顺势,上了很多以前从来没有去过的站...

weixin_34290352的博客 78

WEB开发模式浅析

WEB技术随着互联网的崛起而崛起,又随着移动互联网的发展而呈现更加多样化的趋势。   黑暗时代 大约在2005年以前,所谓的WEB开发主要还是美工的活,HTML/CSS占主导,Dreamwaver做为页面设计三剑客之一,成为大多数WEB程序员的必备利器。Javascript能不用就不用,能少用就少用,浏览器只考虑IE。那时候的Javascript显得非常异类、原型继承、语法灵活多

wang_quan_li的专栏 763

基于WEB2.0的网络课程交互环境设计探讨

前言:我执笔写的一篇 论文,发表在《中国教育信息化》期刊的2007年10月刊上,关于web2.0与网络课程的、 摘要:“可交互性”是网络课程设计原则中的重要原则之一, 也是评价网络课程质量的一个重要指标。网络课程若缺少一个可交互性强的交互环境, 将大大降低网络课程的教学效果和学习效果。网络课程要具备良好的交互环境,必须有先进的计算机技术的支持,本文将简单介绍现在流行的WEB2.0的各种新技

J_JAKE(陆冷飞)的专栏 2530

Web泡沫2.0争论

Web泡沫2.0争论 [2006-8-5] 作者:杨云高 出处:董事会杂志 [ 2006-08-01 10:45 ] 摘要:Web2.0热还在升温之际,一位传媒业内人士却表示,“Web2.0快over了!”

jessieca的专栏 1077

Serverless 风暴来袭,前端工程师如何应对?

阿里妹导读:尽管大部分前端的工作并不涉及server,但最近半年serverless这个词汇以及其引发的热烈的讨论,深深触动了阿里巴巴高级前端技术专家伐薪。作为接触前端十...

阿里技术 663
上一篇: 一个浅显易懂的分页类
下一篇: 渗透一电信官方站点
expl0it
博客等级 码龄21年 2粉丝 9原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值