独立的思维 由AJAX运用引发的沉思
独立的思维 由AJAX运用引发的沉思
中国人有个故障,爱看繁华。街边吵架了必然扫上一眼看看ko后果。
职业能扭转人的思维,特地牵扯点作为人的行为。咱就是搞java运用开发的也就好这口。有什么新颖玩意都要试把试把。有些时分真的不是因需求而去运用,就像去街边看人pk突个新颖。ajax近来吵的很火所以很多中国人也都情愿以身试法。试图参透其神秘所在。新颖嘛!但这种热情往往使人遗记了明智。热情是要建设无感性的根底上能力施展其最大作用。这点思维假设忘却,不失为大错。
其实你抉择他假设本人做试验或玩玩几个小case还是可能,也是比较让人批准。这阐明你这集体有探求肉体。有进取心,是集体才。总比很多一无事处的混混强得多。而假设不分青红一向的运用于切实的高用户高并发量的系统名目中,恐怕是个不理智之举,仅代表集体意见。由于我也是参照其作用、应用其长处、杀敌人于无形。孙子是个很凶猛的人为什么人家钻研兵法多少年都不会掉队。那是由于他抓住了事物的实质。就像咱们做软件运用业务原型就对系统建模型一样。由于其波动必然长久,这是情理。咱们想让本人的名目不至于最终落魄到只能大范围架构级的重构,不如抉择放弃。因此当做决议前应该尽量想到来龙去脉,方之上下策。
你要看繁华,是什么驱动你去看这次繁华。这需求剖析。假设依据场景不同你发现打架的人是你的冤家亲戚。你必然参与这次流动。
你要利用ajax,是什么驱动你去利用它。咱们剖析。咱们不是为了用而用。而是为了施展其作用而用。假设将其作用施展到咱们的业务中,这才是次无心义的流动。
咱们设计,在什么中央运用。不能一味的运用。抉择性的运用施展其长处、弊其短处应该是好的抉择。
以下为运用设计时的参考材料:
【导读】本文简述了Ajax技术实用场景、Ajax不实用场景的详细情况以及运用时分存在的一些成绩。
Ajax实用场景
1.表单驱动的交互
传统的表单提交,在文本框输入内容后,点击按钮,后台解决终了后,页面刷新,再回头反省能否刷新后果正确。利用Ajax,在点击sunmit按钮后,立刻停止异步解决,并在页面上快速显示了更新后的后果,这里没有整个页面刷新的成绩。
2.深层次的树的导航
深层次的级联菜单(树)的遍历是一项十分简单的义务,利用JavaScript来控制显示逻辑,利用Ajax提前加载更深层次的数据可能有效的减轻服务器的累赘。
咱们以前的对级联菜单的解决少数是这样的:
为了避免每次对菜单的操作惹起的重载页面,不采用每次调用后台的模式,而是一次性将级联菜单的一切数据全副读取进去并写入数组,然后依据用户的操作用 JavaScript来控制它的子集名目标呈现,这样只管处理了操作呼应速度、不重载页面以及避免向服务器频繁发送申请的成绩,然而假设用户不对菜单停止 操作或只对菜单中的一局部停止操作的话,那读取的数据中的一局部就会成为冗余数据而糜费用户的资源,顺便是在菜单构造简单、数据量大的情况下(比如菜单有 很多级、每一级菜又有上百个名目),这种弊端就更为突出。
假设在此案中运用Ajax后,后果就会有所改观:
在初始化页面时咱们只读出它的第一级的一切数据并显示,在用户操作一级菜单其中一项时,会经过Ajax向后台申请以后一级名目所属的二级子菜单的一切数据,如 果再持续申请已经呈现的二级菜单中的一项时,再向前面申请所操作二级菜单项对应的一切三级菜单的一切数据,以此类推……这样,用什么就取什么、用多少就取 多少,就不会有数据的冗余和糜费,缩小了数据下载总量,而且更新页面时不用重载全副内容,只更新需求更新的那局部即可,相对于后台解决并重载的模式延长了 用户期待工夫,也把对资源的糜费降到最低。
3.快速的用户与用户间的交换呼应
在泛滥人参与的交换探讨的场景下,最不爽的事件就是让用户一遍又一遍刷新页面以便知道能否有新的探讨出现。新的回复应该以最快的速度显示进去,而把用户从分神的刷新中摆脱进去,Ajax是最好的抉择。
4.类似投票、yes/no等有关痛痒的场景
对于类似这样的场景中,假设提交过程需求达到40秒,很多的用户就会间接疏忽过去而不会参与,然而Ajax可能把工夫控制在1秒之内,从而更多的用户会退出出去。
5.对数据停止过滤和操纵相干数据的场景
对数据利用过滤器,依照工夫排序,或许依照工夫和称号排序,开关过滤器等等。任何要求具有很高交互性数据操纵的场合都应该用JavaScript,而不是用一系列的服务器申请来实现。在每次数据更新后,再对其停止查找和解决需求消耗较多的工夫,而Ajax可能加速这个过程。
6.一般的文本输入揭示和主动实现的场景
在文本框等输入表单中给予输入揭示,或许主动实现,可能有效的改善用户体验,尤其是那些主动实现的数据能够来自于服务器端的场合,Ajax是很好的抉择。
Ajax不实用场景
1.局部简略的表单
只管表单提交可能从Ajax获取最大的好处,但一个简略的评论表单极少能从Ajax失去什么显著的改善。而一些较少用到的表单提交,Ajax则帮不上什么忙。
2.搜查
有些利用了Ajax的搜查引擎如Start.com和Live.com不容许利用阅读器的后退按钮来查看前一次搜查的后果,这对已经养成搜查习气的用户来说是不可原谅的。
如今Dojo经过iframe来处理这个成绩。
3.根本的导航
利用Ajax来做站点内的导航是一个坏主意,为什么不把工夫放在让系统程序作的更好上呢?
4.交流大量的文本
利用Ajax可能完成页面的部分刷新,然而假设页面的每个局部都扭转了,为什么不重新做一次服务器申请呢?
5.对呈现的操纵
Ajax看起来像是一个纯粹的UI技术,但理想上它不是。它实践上是一个数据同步、操纵和传输的技术。对于可维护的洁净的web运用,不利用Ajax来控制页面呈现是一个不错的主意。JavaScript可能很简略的解决XHMTL/HTML/DOM,利用CSS规则就可能很好的表达数据显示。
存在的成绩
1.用JavaScript作的Ajax引擎,JavaScript的兼容性和DeBug都是让人头痛的事;
2.Ajax的无刷新重载,因为页面的变化没有刷新重载那么显著,所以容易给用户带来困扰?D?D用户不太清楚如今的数据是新的还是已经更新过的;现有的处理有:在相干地位揭示、数据更新的区域设计得比较显著、数据更新后给用户揭示等;
3.中间过程不能被bookmark。处理方法:GoogleMaps经过在页面上提供一个”link to this page”的办法来处理。另外,还可能经过url链接中加无效的?^标记来处理,但还未验证。 我觉得ibm开发者论坛中有个老大不记得什么名字了说的不错 跟j2ee的现有成熟体现层框架联合利用是比较好的一个抉择。因需而用不会给本人断掉很多后路。一味的尝试或者就有苦果期待、诱惑、刺激、疏导你得到明智。