这几个月都沉迷在ajax这种”让人抓狂“的技术中。有几点感想,交流交流。也算提问,希望高手解答解答。
这里的ajax不包括XUL,google web toolkit之类的技术。
一 专业的ajax技术人员需要掌握多少技术
javascript ,xhtml,css,dom这些硬件条件不用说了。
理解ajax新型b/s应用程序是个困难的过程,忘掉你b/s系统开发经验也是个挑战。
设计出强壮,稳定的系统是个必备的,浏览器不是个很健壮的载体。你的ajax应用还没有传统的b/s应用好用,那就狼狈了。
二 避免完美主义
程序员太完美主义了,javascript语言的灵活性也让你太容易不满意自己的代码了,丰富的页面表现也让你太不满意自己的UI了。可能是你能力不够,但太多的完美会让你的进度停滞。
如果你没有足够多的ajax经验,不要太轻易的尝试新技术。
三 修炼内功
ajax类库的发达,javascript...的普及性,程序员实现一个小的“ajax”应用太容易了。如联动下拉框,Auto Complete....。相信我,ajax技术还不成熟,还有太多需要挖掘的内容,需要大家的努力,修炼内功吧。
四 两类patterns
1 http://ajaxpatterns.org/ ajax in action 等提到的各种模型,技巧,类似“四人帮的设计模式”的组织形式。http://softwareas.com/ajax-patterns 也总结了一下。感觉这类网站书籍提到的技巧模型相对有些混乱,希望哪位大牛或集体总结出一本权威来。 可能这些模型需要框架实现者摸索的总结出来。
ajax in action提到很多模型,dlee也做了个总结,也提供了些实现的小例子,但这些例子相对与成熟的ajax框架来说,有些简单。可能是我太依赖ajax框架了吧。
2 http://developer.yahoo.com/ypatterns/atoz.php 恕我孤陋,只知道这个地址。yahoo从应用层面上总结了这么些patterns。这些模型以yahoo的应用为例,对应用规划者提供了好些总结。就这些模式,dojo,yui基本提供了支持。
我觉得系统设计者应该好好研究一下这些东西。经常听到这些话。**系统用到了ajax技术,我们下个项目用到了prototype.js,dwr...框 架。感觉这类言语显的太不专业。应用了某个ajax类库也显的你没有目标性,也不是很清楚这些类库给你的应用带来什么。
五 如何选择开源框架
太多了开源类库,框架让我们应接不暇。现在很多大公司google,ibm.sun,oracle....公司组织都来关注ajax,另外不计其数的开源实现。让人头痛。
ajax in action 把这些框架分了三类。 prototype.js及扩展项目,dojo,yui...关注表现的类库。dwr,json,buffalo...关注数据传输的框架,最后是xul,gwt(我没有关注)等。
客户端类库由javascript语言实现,并且相对代码量不大,重构容易。javascript语言太容易让人抄袭,所以除了它们关注点不一致外,很多功能不是独有的。所以从功能上看,都差不多。
我觉得应该从以下几个方面考虑:
1 namespace的支持。如果没有这个支持,这个项目不会发展很大的。
2 经过详细的测试,大型项目的试用。
3 后面有公司的支柱。
4 活跃性。
5 文档支持
我自己现在对YUI比较看好,dojo官网用让我对dojo有些担忧。
关于dwr,json..这类框架的选择我觉得关注
1 传输的是xml json。看你客户端的选择了。
2 性能
3 与服务器端框架的集成度。如spring,pico,struts,webwork....
4 是否容易与你客户端UI控件容易绑定。
六 学会重构
javascript语言更需要 测试 和 重构 的工具支持。javascript语言太灵活,代码太脆弱。
可能javascript,ajax设计模式相对成熟后,重构会让我们更容易些。
七 写给自己
研究ajax,让自己陷入泥沼。ajax牵扯到的技术,知识太多了。太多的框架,太多的新的思想,太让自己陷入“完美主义”。可能今晚写的javascript代码,明天就会不满意。自己实现的框架会越来越不满意。观望,修炼内功。
本来有些想法,可就是表达不好。郁闷郁闷.....
相关推荐
**Ajax显示详细时间**是一种网页开发技术,它允许在不刷新整个页面的...随着前端框架的不断发展,如今更多地使用Vue、React或Angular等现代框架,它们内置了对异步数据处理的支持,使得这类功能的实现更加便捷和高效。
- 接下来,我们使用`setInterval`定时调用这个函数,每隔一段时间更新时间: ```javascript setInterval(() => { fetchServerTime() .then(serverTime => document.getElementById('serverTime').textContent =...
在现代Web开发中,使用jQuery进行Ajax请求是一种常见的操作。jQuery作为一个广泛使用的JavaScript...务必注意,合理设置超时时间既可以防止网络较慢时的无响应,也能避免对服务器的过度请求,保持良好的用户交互体验。
AJAX AJAX AJAX AJAX AJAX AJAX AJAX AJAX AJAX
通常,我们可以设定一个定时器,每隔一段时间(如30秒)发送一次Ajax请求。请求的参数可能包括用户的唯一标识,以便服务器识别是哪个用户发送的请求。 JSP(JavaServer Pages)是Java平台上的动态网页技术,它允许...
Ajax时间秒表是一种基于Web的实时计时工具,利用Ajax技术实现页面无刷新更新,为用户提供流畅的时间追踪体验。在Web开发中,Ajax(Asynchronous JavaScript and XML)是一种创建动态网页的技术,允许在不重新加载...
这段代码会在页面加载完成后立即发送一个GET请求到指定的后台接口,获取系统时间。如果请求成功,它会更新页面上的时间显示,并设置定时器每秒再次调用`fetchServerTime`。 3. **后台处理**:在服务器端,我们需要...
很不错的Ajax开发草考文档,方便快捷1. AJAX介绍AJAX是一种运用JavaScript和可扩展标记语言(XML),在网络浏览器和服务器之间传送或接受数据的技术。2. AJAX实例AJAX可以用来创建更多交互式的网络应用程序。3. AJAX源...
这个"使用ajax写的简单的考试时间和生日代码"的项目,可能是为了实现一个交互式的功能,让用户能够在不离开当前页面的情况下获取或提交考试时间及生日等个人信息。 首先,我们来了解一下Ajax的核心概念: 1. **...
在探讨“ajax添加时间”的知识点时,我们首先要理解Ajax(Asynchronous JavaScript and XML)的基本概念,以及它如何在网页上实现动态数据加载而不需重新加载整个页面。在本例中,我们将深入分析如何使用Ajax结合ASP...
Ajax获取的数据通常需要插入或更新到现有的HTML文档中,这就需要对DOM进行操作。JavaScript可以使用DOM API来查找、修改或创建DOM元素。 4. **异步通信**:Ajax的核心特性就是异步。这意味着在请求发送后,...
在这一案例中,开发者通常会创建一个JavaScript函数,使用Ajax技术向服务器发送一个请求,请求的目标是获取服务器当前的时间。这个请求是异步的,不会阻塞用户的其他操作。服务器接收到请求后,处理并返回时间数据,...
在本案例中,“ajax对jquery的支持”是指使用jQuery库来实现一个实时股票更新的功能。 jQuery的AJAX功能通过`.ajax()`方法提供,它封装了XMLHttpRequest对象,使得开发者可以更加便捷地发送HTTP请求。以下是如何...
在“按时间查询”的需求中,我们通常会用到SQL的`DATE`、`TIME`、`DATETIME`或`TIMESTAMP`数据类型来存储时间信息,并利用`WHERE`子句配合`BETWEEN`、`>=`、`等条件来筛选特定时间段内的数据。 `AJAX`...
在2008版本中,微软引入了对Ajax的内置支持,名为“Microsoft AJAX Library”,这是一个JavaScript库,包含了用于创建异步Web应用程序的工具和控件。这个安装包可能包含以下组件: 1. **Microsoft AJAX Framework**...
在实际项目中,开发者可以通过配置Ajax池的并发限制、超时时间等参数,根据项目的特性和需求进行调整。同时,与服务器端配合,如使用HTTP/2多路复用等技术,可以进一步提升性能。 总的来说,"ajaxpool"和"ajax池"是...
当用户触发分页事件时,这段代码会使用AJAX发送请求到后台Servlet。请求可能包含当前页数、每页显示的记录数等参数。收到服务器的响应后,JavaScript代码将新数据插入到页面的适当位置,完成动态加载。 对于数据库...
利用AJax调用服务器时间,每秒更新一次。本资源用VS2013所写,版本低导致打不开可用记事本查看,打开“获取时间.aspx”和“WebService1.asmx.cs”两个文件即可。PS:请务必添加jquery-1.10.2.js文件。
- **$.ajax()**:这是jQuery中最全面的Ajax方法,可以设置各种参数,如URL、类型(GET或POST)、数据、回调函数等。 - **$.get()**和**$.post()**:简化版的Ajax请求,分别用于GET和POST操作。 - **$.getJSON()**...
2. 假设你通过AJAX从服务器获取了一段JSON数据,其中包含一个时间戳字段,如`timestamp`: ```javascript $.ajax({ url: 'your-api-url', type: 'GET', success: function(response) { var timestamp = response...