一直对ajax的异步加载效果很喜欢,早在2000年的时候我们就在项目中使用ajax技术,只不过当时不叫ajax,只是javascript的脚本程序罢了,而且只是在很局部的地方用到它,例如组织目录的树型结构等,当时从没想过完全用ajax去开发一个系统,可能是当时对脚本还不够精通吧。
去年10月份完全用ajax开发了个网站(飞豆网 [url]http://www.feedou.com[/url]),第一版总共只有2个页面就实现了网站的所有功能,各项功能的展现及数据的加载统统由ajax动态更新,页面不用跳转不用刷新。网站运行1个月后发现完全用AJAX开发系统还是有很多问题的,所以不得不做了次改版,删去了大量的ajax实现的功能,改用传统方法实现。总结一下ajax开发系统还是有很多问题的。
FA4608020838B2FE602AF268B4050798.jpg
1、系统层次不好:虽然开发时采用的是MVC三层式结构,但是在jsp层包含了太多的业务逻辑。一个文件数千行的javascript脚本程序,虽然都是自己写的,看起来也晕呀,维护很麻烦。
2、开发效率低:开发周期远比想象的要长(也许是对这种结构不是很习惯),javascript的OOP模式开发虽然很有意思,但还是挺麻烦的。
3、浏览器兼容性问题:javascript脚本程序存在浏览器的兼容问题,必须考虑浏览器的兼容问题,这使得程序开发的复杂度更高了。
4、服务器的数据库资源问题:用AJAX一般会频繁的动态异步加载数据,并对显示页面局部更新。这样做对数据库的访问更加频繁了。
5、不利于搜索引擎抓取内容,不利于网站的推广。如果开发过爬虫软件就会明白,爬虫软件最容易抓取的是最传统页面,也就是页面里除了文字内容外,html代码越干净越好。对于那些用javascript加载上来的内容,爬虫是很难抓到的,反正我尝试过,太麻烦了。google、摆渡抓不到你网站的数据,那么别人很难通过搜索引擎知道你,你的内容再好也没人知道呀。
6、安全性:前台的javascript中封装了太多的业务逻辑,感觉安全还是要注意。
总结,AJAX是个很有意思的东西,而且很简单,最好简单封装一下,那会用起来更方便,你可以在开发网站时大量使用AJAX,但是绝对没必要完全用AJAX去做。
可以在以下地址下载AJAX方法的封装包:
[url]http://www.feedou.com/jsLib/request.js[/url] (飞豆网)
[url]http://www.baowoo.com/jsLib/request.js[/url] (宝物网)