Ajax大赛第二轮公告
一.评分标准及结果
代码的质量
Web标准的符合程度
作品的创意
作品的复杂程度
作品的可用性的质量
一等奖:何鑫 800元书
二等奖:王嘉 金锦云 600元书
三等奖:谷祖林 赵立国 刁黎雅 何进 苏维斯 白冬立 陶达其 朱晟昊 500元书
名次和分数如下:
姓名 分数 名次
何鑫 70 1
王嘉 58 2
金锦云 57 3
谷祖林 55 4(并列)
赵立国 55 4(并列)
刁黎雅 50 6
何进 49 7
苏维斯 46 8
白冬立 45 9
陶达其 42 10
朱晟昊 37 11
二.作品点评
一等奖何鑫作品:鑫锋五子棋
李锟:
a) 评分
代码的质量 4
Web标准的符合程度 5
作品的创意 5
作品的复杂程度 5
作品的可用性的质量 5
b) 点评
这是一个用来展示Ajax优点的极好的例子。
在Jetty 5.1.8 上部署很顺利。作品没有任何可感觉到的bug,在IE和Firefox下运行均完全正常,功能考虑也很周到,界面布局很清爽,使用体验非常流畅。唯一缺憾是智能太低,人机对战很容易把机器搞定。然而在如此短的时间做出这样产品级的作品,实属不易,可谓瑕不掩瑜。另外值得一提的还有作品的文档——用户手册写的非常好,虽然文档的质量这次并没有作为评分标准之一。建议评为一等奖。
赵泽欣:
a) 评分
代码的质量 4
Web标准的符合程度 4
作品的创意 5
作品的复杂程度 5
作品的可用性的质量 4
b) 点评
优秀的Ajax参赛作品,利用游戏很好的展示了Ajax的应用方式。看到demo的时候让我感觉很惊喜。
代码质量很高,展示了参赛者雄厚的技术基础。在各主流浏览器中都运行良好,参赛者对XMLHttpRequest/CSS/DOM等Ajax技术的使用很纯熟,JSON/XML等数据格式也很熟悉。
在使用感受上,画面精美,提供了人机对战/玩家对战两种游戏模式,同时还支持在线聊天,接近了产品级的水平。玩家对战使用很流畅,我发现的唯一一个缺憾就是参赛者使用一个窗口关闭的hack来退出游戏,而Firefox不支持该hack,导致使用上有一些疑惑。在测试人机对战时,则感觉电脑逻辑处理略有些慢。
我只有少量的一些建议:
*可以将部分JavaScript代码引入Prototype/Dojo等类库适当的做一些对象封装,这样JS代码将更为整洁。
*html代码中有少量的大写标签,另外混杂了重复的css定义,建议可以从html中分离出来。
暇不掩瑜,参赛作品整体而言很成功。
庄表伟:
a) 评分
代码的质量 4
Web标准的符合程度 5
作品的创意 5
作品的复杂程度 5
作品的可用性的质量 5
b) 点评
何鑫的作品,令人印象非常深刻,这是一个令人赞叹的Ajax应用,这样的作品被评为一等奖,是当之无愧的。
在Resin中不能正确部署,但是在Tomcat 4.1下,就完全没有问题。
启动以后,我开了两个窗口,一个IE 6,一个FireFox 1.5,然后在两个窗口之间切换,下棋,操作都非常都顺畅,完全感觉不到这是一个浏览器里的应用。
更加出色的是,他还实现了人机对战的部分,一不小心,我还输了一盘。这是一个几乎没有bug的程序,除了一个小问题,当我第二次换了一个名字登录的时候,看到了上一局的另外两个玩家的对话记录。
在看他的源代码,也是非常的漂亮,干干净净,清清楚楚,只有一个小问题,在每个程序头的版权声明前的文件名,忘记改过来了~~~
二等奖王嘉作品:Ajax 考试系统
李锟:
a) 评分
代码的质量 4
Web标准的符合程度 5
作品的创意 3
作品的复杂程度 3
作品的可用性的质量 4
b) 点评
这是一个简明扼要的Ajax应用,很容易稍加修改用在在线答题的场合。目前的功能还比较简单,建议多搜集一些需求,对现有功能加以扩充,可以发展为一个很有实用价值的在线答题系统。
赵泽欣:
a) 评分
代码的质量 4
Web标准的符合程度 4
作品的创意 3
作品的复杂程度 3
作品的可用性的质量 4
b) 点评
小巧精致的参赛作品,即体现了Ajax 的异步应用的特性又包含了Ajax技术各组成部分的内容。
整体代码结构清晰,质量较高,一个疑问就是代码
中,这里的onload注册事件似乎有些多余。因为 startExam() 函数会再次调用 createXMLHttpRequest() 函数。
对Web标准支持优良,在主流浏览器中表现一致。不过建议javascript代码和CSS样式单能抽析出来,作为分离的外连文件链入。另外主页面布局也不妨尝试将使用Table修改为CSS布局。
庄表伟:
a) 评分
代码的质量 5
Web标准的符合程度 5
作品的创意 4
作品的复杂程度 3
作品的可用性的质量 4
b) 点评
这是一个相当干净的demo,一看就能懂,用起来也很顺手。文档清楚,注释也很明白,在IE,FireFox,Opera里都能够正确都运行。略微遗憾的是,相比其他的参赛作品,不够复杂。而且每一道试题需要一个XML文件,而不是所有的试题放在一个XML文件,出题的顺序还必须写死在代码里,无法做到随机出题。这些都是可以进一步改进的地方。
二等奖金锦云作品:JSPackager
李锟:
a) 评分
代码的质量 5
Web标准的符合程度 5
作品的创意 3
作品的复杂程度 5
作品的可用性的质量 3
b) 点评
这是一个很有用的开发包,解决了目前JavaScript语言1.x版本中一个主要的问题:不支持package(在JavaScript语言2.0版本中将会加入这个支持)。对于开发大型的Ajax应用非常有价值。代码写的很清爽,质量很高。可以使用这个开发包来开发各种的UI组件,作者也提供了一些展示。不过,这个开发包本身与Ajax并没有很直接的关系,因此作品作为一个完整应用(大赛第二轮希望参赛者提交一个完整的应用,至少也是一个使用了Ajax功能的UI组件)的可用性方面无法得到较高的分数。
赵泽欣:
a) 评分
代码的质量 4
Web标准的符合程度 3
作品的创意 3
作品的复杂程度 3
作品的可用性的质量 3
b) 点评
package/Namespace 管理是 JavaScript 缺乏的一个重要语言特性。所以本参赛作品是一个较有深度的尝试。
参赛者借鉴了 Prototype/Dojo 这些著名JS类库框架的一些思想和代码组织方式,同时也有自己的扩展,javascript代码质量优良,注释清晰,水平较高。但是感觉逻辑略显复杂,同时和dojo的package管理形式有些雷同,新意上略显不足。
JSPackager封装得不错,用户使用还是比较简单的。但对脚本类库集成方面的扩展性有待优化,如果要集成第三方类库,__$package.js 文件的定制比较麻烦。另外脚本相互依赖关系的设定也存有逻辑上的隐患。如果一个第三方类库需要使用Prototype的1.5.x版本,另一个第三方类库需要Prototype 1.3.x 版本。而在web页面中恰好同时需要同时使用两个第三方类库,那么两个版本的Prototype.js将会被加载。这仍然可能导致js变量环境污染。
参赛作品质量较高,同时参赛者将作品开源化的努力都值得鼓励。
庄表伟:
a) 评分
代码的质量 5
Web标准的符合程度 4
作品的创意 3
作品的复杂程度 4
作品的可用性的质量 4
b) 点评
我是这么理解这个作品的,他由两部分组成,一部分是这个JSPackge,另一部分是介绍JSPackage的这个网站。
JSPackage是一个lib,介绍的网站是一个简单的ajax特性演示的网站。整个作品的代码质量都相当不错,但是在HTML校验方面有些问题。
创意这个方面,最难评价,因为已经有不少JS包管理的类库了,但是我认为好的基础类库(尤其是Open Source的类库),永远都是需要的,不必担心重复发明轮子这种事情,特此鼓励。
三等奖谷祖林作品:彪哥1.1版
李锟:
a) 评分
代码的质量 4
Web标准的符合程度 5
作品的创意 4
作品的复杂程度 3
作品的可用性的质量 3
b) 点评
可以作为一个Ajax组件开发的例子来研究。
因为采用符合标准的开发方式,并且基于成熟的组件库Prototype做开发,因此在IE和Firefox浏览器上获得了完全一致的使用体验。一个成熟的Grid组件操作非常复杂,特别是完全模拟Excel的Grid组件。这类组件一般是给进行大规模录入的人员使用的,这类人员一般只使用键盘来进行快速的录入,因此对于键盘的完善支持非常重要。在这方面,作品有所欠缺,例如,
既然支持Enter键允许向下移动光标,为何不支持某个键允许向上移动光标,还有支持Esc键使光标回到初始位置。上下左右箭头键也应该支持。
还有跨行/跨列粘帖-拷贝的功能也可以考虑加入进来。
赵泽欣:
a) 评分
代码的质量 4
Web标准的符合程度 4
作品的创意 4
作品的复杂程度 3
作品的可用性的质量 3
b) 点评
Grid 是web开发中很常用但最复杂的一个控件,参赛作品是一个值得鼓励的尝试。
Tab键横向移动光标,Enter键纵向移动光标这样模拟Excel的行为对于基于WEB的类MIS系统,确实是非常实用的。
参赛者经验较为丰富,js代码功底不错,引入了Prototype.js类库并有比较熟练的应用。但js中较多的事件注册可能导致IE的内存泄露问题,建议使用 Prototype.js 提供的事件处理机制,同时可以对JS代码做一下对象封装。另外建议js和css代码独立出来,在HTML中以外连形式链入。
建议在使用页面提供较为清晰的说明,比如 Insert 键是新增一行,但如果光标在某个cell中,那么 Insert 键的行为就没有捕获到。建议可以改善一下设计,比如给cell也注册Insert键的事件处理,但将转发给grid处理。Delete键删除最后一行的设计可以再权衡一下,建议至少给用户提供确认提示,因为如果误删的话无法恢复。
参赛作品给人眼前一亮的感觉,如果能提供更丰富的功能,更友好的设计,将会是一个优秀的作品。
庄表伟:
a) 评分
代码的质量 3
Web标准的符合程度 5
作品的创意 3
作品的复杂程度 3
作品的可用性的质量 4
b) 点评
Ajax应用要能够得到大面积的推广,成熟的Web组件是必不可少的一部分,而这其中,Grid又是Web组件中必不可少的一部分。但是,这个“彪哥”还是有不少bug,举例如下:
不能删除最后一行;
打开表格的对话框在选择表格之后没有马上关闭,而且在FireFox中会出现横向的滚动条。
希望能够做得更好!
三等奖赵立国作品:搜索传奇
李锟:
a) 评分
代码的质量 4
Web标准的符合程度 3
作品的创意 5
作品的复杂程度 5
作品的可用性的质量 3
b) 点评
这是一个非常有价值的高度集成化的搜索系统。所有的操作全部在一个页面中完成,除了搜索结果外,其余的信息全部使用可拖拽的DIV来显示。在可用性方面有一个问题是,新打开的DIV窗口显示在已经打开的窗口之下,应该按照桌面应用的使用习惯显示在已经打开的窗口之上。此外系统在Firefox中无法正常使用,影响到了作品的可用性。
赵泽欣:
a) 评分
代码的质量 4
Web标准的符合程度 3
作品的创意 3
作品的复杂程度 4
作品的可用性的质量 3
b) 点评
代码质量不错,参赛者在Web开发方面比较熟练。
我在 IE7 和 Firefox 1.5 都未能完全通过测试,html代码中 layout 部分还有大量table的使用,建议转换为css布局。另外css 和 js 都混合在HTML中,建议可以分离出来。
作品有一定的复杂度,但可用性方面有不少可以改善的设计,比如:
* UI 不直观,不能马上明白系统的用途与使用方式
* 部分操作不友好,比如数据更新后一定要手动点击“更新”按钮刷新页面,而这是Ajax适用的场合。
参赛者提供了详细的文档和demo,态度很好。
庄表伟:
a) 评分
代码的质量 4
Web标准的符合程度 3
作品的创意 4
作品的复杂程度 4
作品的可用性的质量 3
b) 点评
有一个相当不错的使用说明。因为作者提供了演示的地址,就直接过去看了。FireFox下只能看到那个快速导航。在IE6下能够正确显示出来。但是在拖拽窗口的时候,还有一些bug,有时候只能够往一个方向拖拽。在使用过程中出现了好些小窗口,互相重叠,并不舒服。考虑到作者主要想演示Ajax的特性,所以能够理解。
作为一个互动搜索的作品,创意还是不错的。
查看代码,发现代码的质量还是不错的,但是在tabContent目录下,有 3g 、entertainment、favorites等9个目录,每一个目录里,都有不少类似的ASPX和CS代码,说明在归并重复代码方面,做得还不够好。
如果能够通过重构去掉重复代码的话,这个项目不能算是非常复杂。
从可用性而言,还有待进一步提高。举一个小例子:有些窗口有关闭按钮,有些没有,最大化和最小化按钮的使用与普通的窗口又有所不同,令人迷惑。
三等奖刁黎雅作品: 超级数据查询
李锟:
a) 评分
代码的质量 4
Web标准的符合程度 5
作品的创意 4
作品的复杂程度 3
作品的可用性的质量 4
b) 点评
作品很好的实现了数据的方便的展示,页面上各个组件之间的联动做得很好,同时可以以多种方式进行查询(日期选择组件、滑块、排序、筛选),可用性较好。
赵泽欣:
a) 评分
代码的质量 3
Web标准的符合程度 3
作品的创意 3
作品的复杂程度 3
作品的可用性的质量 3
b) 点评
联动select控件是Ajax的最经典应用,参赛作品中的联动select实现得很成功。
在Firefox1.5上, 左侧[查询条件]部分的显示有一些异常。CSS上还是沿用传统的Table布局,建议可以尝试一下CSS layout布局。
参赛者的js都为自己编写,精神可嘉。从Javascript代码中也可看出,参赛者应用了js的面向对象编程。这是一个正确的尝试,但感觉经验还不够丰富,代码较为混乱。
猜测参赛作品应该也是参赛者工作中的项目内容,在真实项目中,不妨可以引入prototype或者dojo这些类库作为基础,将javascript代码整理,适当的进行对象封装。
整个搜索界面较为清晰,滑标日期选择器有新意,二次搜索控制器对用户再细致检索数据应该也很有帮助。两个建议就是
* 设定了选择条件后加载检索数据时,能提供一个 loading 状态提示。
* 如果没有检索数据,建议不要用 alert 来弹出信息。
另外,参赛者的态度很好,代码有详细的注释,同时提供了丰富的说明文档和制作精美的demo。
庄表伟:
a) 评分
代码的质量 3
Web标准的符合程度 2
作品的创意 2
作品的复杂程度 4
作品的可用性的质量 4
b) 点评
代码与作品质量比较一般。有一些小bug,在多选查询与查询条件同时出现时,查询条件的含义不清。多选查询的操作,当CheckBox被取消之后,有时还能够多选查询。查询条件选回到“没有”时,会报连接出错。HTML校验有42处错误。创意也只能算作平常。
复杂度比较高,多种查询条件的组合,比较有实用价值。从可用性而言,增加一个“search”按钮,会少很多bug,也会更加容易操作。
三等奖何进作品:基于Ajax的在线音乐播放器
李锟:
a) 评分
代码的质量 4
Web标准的符合程度 4
作品的创意 5
作品的复杂程度 4
作品的可用性的质量 3
b) 点评
这是一个基本的在线音乐播放器,界面模仿了常见的媒体播放器的界面,利用Ajax来加载歌词和歌曲列表。展现了Ajax应用的一个重要类别——One Page应用,代表着Ajax逐渐蚕食桌面应用领地的趋势。很遗憾作品由于使用了微软Media Player的ActiveX控件来播放音乐,因此无法在Firefox上使用,这个问题影响了作品的可用性。
赵泽欣:
a) 评分
代码的质量 3
Web标准的符合程度 2
作品的创意 3
作品的复杂程度 4
作品的可用性的质量 3
b) 点评
后台java代码提供不多,从Servlet代码来看,质量一般,使用了大量的System.out语句。
可以看出参赛者的JavaScript功底不错,使用了Prototype.js和一些其他小工具库,但有一些缺憾:
* 不是很有必要重新封装自己的XMLHttpRequest调用。
* player.js 如果封装成对象,代码会更整洁,使用起来会更友好。
* 处理xml数据时使用ActiveX(MSXML2.DOMDocument),所以导致只适用于IE的情况。建议可以直接在Servlet中设置正确的HttpHeader输出xml,然后在js中获取 XMLHttpRequest.getResponseXML,然后用w 3c 的标准DOM方法处理返回的数据
应用性方面, 界面很精致。播放列表的设计模拟本地文件选择框的设计,比较友好。提供字幕的滚动显示感觉也不错。可以建议的就是,MS的MediaPlayer ActiveX插件功能很强大,支持时间线的控制,所以如果歌词字幕的显示和音乐能实现同步的话,会给作品带来更大亮点。
庄表伟:
a) 评分
代码的质量 2
Web标准的符合程度 2
作品的创意 4
作品的复杂程度 4
作品的可用性的质量 2
b) 点评
不太能够理解作者只提供部分代码的思路。一个不能在我自己的机器上成功跑起来的作品,他的质量就很难评价了。
Web标准的符合程度很低,W 3C 的HTML校验,有58个error。作品的创意不错,尤其是模拟Open File的对话框,令人印象深刻。
作者说:“目前在IE下顺利测试通过,FF存在一些问题”
但是在我的IE6里,也有JavaScript的报错,在FF下完全不能使用,而不是存在一些问题。所以,可用性也是相当低的。
三等奖苏维斯作品:影音在线系统
李锟:
a) 评分
代码的质量 4
Web标准的符合程度 5
作品的创意 3
作品的复杂程度 3
作品的可用性的质量 4
b) 点评
一个具有Ajax界面的在线影音播放系统,符合Web标准,因此在IE和Firefox上都可以正常运行。所有的交互都在同一个页面中完成,用DIV取代了弹出式窗口,用户体验更加流畅。创意上没有太多亮点,算是一个中规中矩的Ajax应用。
赵泽欣:
a) 评分
代码的质量 3
Web标准的符合程度 3
作品的创意 2
作品的复杂程度 3
作品的可用性的质量 3
b) 点评
参赛作品较为庞大,但其中参赛的基于Ajax的部分主要在电影图片和电影详细信息的(分页)加载这两个方面。这样的应用也是Ajax的典型应用方式。
主流浏览器上都能通过测试,在浏览器兼容方面做得不错。页面基本使用table布局,色彩的定义在固定在td中。如果善用CSS可以页面可以调整得更为漂亮,同时灵活性和可维护性上会有不少提高。另外很多inline形式的js散布在页面中,比如图片的onmouseover效果的事件注册;html代码中有些标签属性使用了大写或者没有引号。这些小的细节不妨调整一下。
由于页面较为粗糙,用户体验上效果一般。电影详细信息弹出层色调和站点整体风格不太符合,因为弹出层较宽,所以在1024x768的屏幕分辨率下时常会挤出屏幕外。虽然参赛者细心的提供了拖动功能,不过如果能根据屏幕宽度判断使得弹出层自动向左偏移以避免滚动条的出现,应用起来会更流畅。
庄表伟:
a) 评分
代码的质量 3
Web标准的符合程度 3
作品的创意 2
作品的复杂程度 2
作品的可用性的质量 3
b) 点评
这是所有的作品中最庞大的一个,136个ASP,12个JS,6个HTML,14个CSS。这为我们的评分工作带了了相当大的工作量。还好,从修改日期我们可以猜测出,作者为了参赛,大概只修改了其中的18个文件,而其余的代码都是原本就有的。而且,按照作者的说法:“其作了一次大改动,把页面彻底ajax化了”,但是能够找到的2006年修改的JS文件,只有3个,其中dom-drag.js还是来自于“www.youngpup.net”的。其余的两个文件,myadd.js一眼可以看出是作者增加的,common.js也相当简单。而且代码的质量并不算高,变量、函数的命名也不够规范。
看着其余的ASP文件,很难分辨出哪些是原来的代码,哪些是作者修改过的代码,所以只能看执行的效果了。
一句话,用起来不是很方便,使用体验一般。
值得提出表扬的是,作者的系统基本上没有bug,而且做程序的态度相当的认真。
三等奖白冬立作品:XMS
李锟:
a) 评分
代码的质量 4
Web标准的符合程度 5
作品的创意 3
作品的复杂程度 3
作品的可用性的质量 1
b) 点评
系统使用起来不够直观,同时缺乏必要的使用说明。新闻信息中添加了栏目后,再次打开新闻信息无法直接显示添加的栏目,而要点击了某个栏目后才会出现添加的栏目,让人摸不到头脑。展开某一级栏目后,其子栏目显示位置与父栏目处于相同级别,显然是一个bug。同时展开的栏目也无法重新收起。由于作品的完成度很低,可用性也就无从谈起了。
赵泽欣:
a) 评分
代码的质量 3
Web标准的符合程度 3
作品的创意 2
作品的复杂程度 2
作品的可用性的质量 2
b) 点评
代码基本工整,略显粗糙。
可以通过 IE7 和 Firefox 1.5 测试,但使用的domfunc.js类库通过增强Firefox的对象来兼容ie的
jscript私有语法和特性。建议还是遵循W 3c dom规范。
在可用性方面,因为很多功能尚未完成,使用体验比较糟糕,一些建议就是:
* 配置默认的webcome-file,或者一个简单的index.html进行转向。
* 登录界面对键盘支持不好,必须鼠标点击‘登录’按钮方能登录。
庄表伟:
a) 评分
代码的质量 4
Web标准的符合程度 5
作品的创意 3
作品的复杂程度 3
作品的可用性的质量 2
b) 点评
使用起来,相当的晕,不知道能够用这个XMS做些什么。当然,界面上有区分栏目和文章,但是栏目只能添加,不能修改、删除。从XML的数据结构来看,这些栏目是支持无限级别的子栏目的,但是在显示的效果上,却只分出了两级。
文章管理就更加奇怪,因为他表现出来的效果,是可以管理栏目,而不能管理文章,无论是增加、修改还是删除。
可以看得出作者在努力向Web标准靠拢,这方面值得鼓励。
但是从创意而言,我认为并不成功,如果大批量的数据都是以这样的XML文件方式进行管理的话,相信效率会相当低。
作品的复杂程度和可用性,都不算高,尤其是可用性,只能说bug多多,很难使用。
三等奖陶达其作品:动股 0.02 版
李锟:
a) 评分
代码的质量 3
Web标准的符合程度 5
作品的创意 3
作品的复杂程度 4
作品的可用性的质量 2
b) 点评
从整个系统(客户端、服务器端)而言,目前代码中有不少bug,作品中存在的bug对于可用性的影响很大。而作者本人寄来的demo,里面关于展示应用本身功能的内容很少,可以说是一次完全失败的演示。在后台通过对图片进行切割,然后比较小图片的hash值来确定图片哪些部分发生了变化,将需要更新的图片区域降到最小,这是一个相当巧妙的设计。然而这些功能与Ajax技术无关,Ajax代码本身的复杂度很低,我为作品复杂度打的分数是按照整个作品而言的。
赵泽欣:
a) 评分
代码的质量 3
Web标准的符合程度 2
作品的创意 3
作品的复杂程度 3
作品的可用性的质量 2
b) 点评
利用XMLHttpRequest 获取股票数据,无刷新更新图片,这是对Ajax的一个比较好的应用展示。
但本项目除了使用XMLHttpRequest传输JSON格式数据,Ajax其他相关的DOM/CSS/的部分基本没有涉及。所以不能算是一个具备Ajax特色的应用。HTML(main.php)中html标签使用大写字符、JavaScript代码中使用document.write来动态产生html,这些都是web标准中不推荐的做法。
如果项目功能设计的的更为复杂一些,比如增加股票的选择等,相应的html重构,加入DOM和CSS布局等Ajax的内容,这将是一个很有竞争力的参赛作品。
另外,demo的质量不高,项目的意图我还没有完全弄明白。
庄表伟:
a) 评分
代码的质量 2
Web标准的符合程度 4
作品的创意 3
作品的复杂程度 2
作品的可用性的质量 1
b) 点评
在看到作者寄来的demo演示之后,我终于知道这个Ajax应用会是什么效果了。我在自己的机器上始终没有运行起来,非常失败。通过阅读代码,我算是基本上理解了程序的目标,但是Bug实在是多,而且还有很多变量是写死了的,按照作者的意思,我必须将这个demo放在Web Server的根目录下运行,而我则希望他能够运行在/demo1/这样的相对路径下,但是失败了,令人相当沮丧。作者声称:“用tindy 和 CSE HTML Validator 检查html 通过”。但是,事实上他的应用中几乎没有什么复杂的HTML和CSS,除了和
。而且,我还在代码里找到了一行没有注释掉的alert语句,于是我必须不断的点确定键,以关闭alert窗口……
三等奖朱晟昊作品:WISBlog
李锟:
a) 评分
代码的质量 3
Web标准的符合程度 5
作品的创意 4
作品的复杂程度 3
作品的可用性的质量 1
b) 点评
这是一个基本的blog发布系统,目前还没有完成,所以只能根据界面对功能进行一些想象。作品本身有一些严重的bug,一个最主要的bug是无法正确处理中文,因此发表的blog全部显示为乱码。在鼠标停在按钮之上的时候,鼠标形状应该改为手的形状,提示用户可以点击。另外,现在的很多按钮点击之后都没有任何效果,显然是属于功能缺陷。因为作品的完成度连半成品都谈不上,所以可用性就无从谈起了。
赵泽欣:
a) 评分
代码的质量 2
Web标准的符合程度 3
作品的创意 2
作品的复杂程度 2
作品的可用性的质量 1
b) 点评
因为参赛作品完成度不高,所以体验很不完整。
代码方面servlet的应用建议直接用jsp代替。JavaScript代码部分引自《Ajax in Action》,学以致用,值得鼓励。
CSS方面也勇于尝试CSS布局,在主流浏览器中兼容性良好。细看HTML代码中,标签中套嵌 庄表伟: a) 评分 代码的质量 3 Web标准的符合程度 4 作品的创意 2 作品的复杂程度 1 作品的可用性的质量 1 b) 点评 拿到作品以后,先看其中的图片“blog_main.psd”,非常漂亮,用PhotoShop打开这个文件,发现其中的分层,都有非常清楚的中文命名,相信作者是一个PhotoShop的高手,印象不错。 部署war文件以后,发现无法运行,查看代码,发现作者将连接“MySQL”的代码,直接写入了代码中,而且写了4遍。再看他的servlet的代码,感觉质量不高,归入初学者级别。李锟提到的中文支持的问题也能够理解了,因为他要求MySQL必须是GBK编码的。 再看HTML、CSS与JS的代码,基本还算合格。但是有点把“Table/TR/TD换成DIV”,就算是符合Web标准的意思,还需要进一步提高。 Ajax大赛总结(李锟) 由人民邮电出版社牵头主办的国内第一届Ajax大赛已经顺利结束了,这次大赛分成两轮,第一轮的时间为 3 月 17 日 到 4 月 15 日 ,第二轮的时间为 4 月 16 日 到 6 月 30 日 ,共历时3个半月。很荣幸我们Ajax中国网站(ajaxcn.org)的三位核心成员李锟、赵泽欣和庄表伟被邀请作为这次大赛的评委。大赛第一轮为答题的形式,参赛者为250名,最终获奖者为75名。第二轮要求参赛者提交自己的作品,最终获奖者11名,按照作品质量获得了相应的奖励。 单从人数上来看,这次大赛参赛者似乎并不是很多。但是考虑到Ajax是一种新的技术,目前国内精通Ajax的开发人员非常稀缺,而且新手掌握这种技术需要一段较长时间的学习。举办Ajax大赛的目的是为了宣传、推广这种技术,我们所做的是一件开创性的工作。这次大赛在Ajax开发者和爱好者群体中获得了广泛的关注,取得了非常好的宣传效果。这次大赛的大部分参赛者的态度都非常认真,通过参与比赛与大赛的主办方和大赛的评委开展了良好的互动,学到了知识,结交了朋友。参与这次大赛对于大部分参赛者来说都是一次愉快的经历。 Ajax技术的价值比很多人想象的还要大,它的价值将会随着时间的推移而日益展现出来。Ajax技术并不是昙花一现的时髦玩艺儿,而是能够为最终用户和软件厂商带来巨大价值的实用技术。Ajax技术的流行可以称为是迟来的春天,其实它早就应该流行了(在2001年作为Ajax基石的绝大部分技术就都已经成熟了)。Ajax技术有着深厚的理论基础和实践基础,它的背后有两个推动力:Web标准(XHTML/CSS/DOM/JavaScript/XMLHttpRequest/XML/XSLT/...)的成熟、软件可用性和交互设计理论的成熟,并且Ajax技术还会随着这两方面理论和实践的发展而不断发展。现在大家都在热烈议论Web 2.0,感觉Web应用进入了一个新的纪元。Web 2.0有两个主要的特点:更加舒适的用户体验,更加注重软件作为一种服务所能提供的价值。在我看来,抛开所有的商业炒作不说,Web 2.0其实就是一种新的价值交换手段。以Web作为媒介,通过为用户提供更加贴心和更好的服务,换取软件厂商自身价值的实现。Web 2.0体现了软件从卖license到卖服务的转变。Ajax正是承载着实现Web 2.0这些目标的核心技术,没有好的技术,Web 2.0的目标只能是镜中月水中花空中楼阁。Ajax是关于开发下一代Web应用的技术,可以这样说,我们现在正处在建造下一代Web应用的门口。然而,掌握、应用好Ajax技术并不是一件容易的事情,它要求开发人员和设计师在技术、交互设计、美学等各方面知识的综合运用,因此深入的学习和广泛的交流是非常有必要的,这次Ajax大赛很大地促进了Ajax技术在中国的交流和普及。 人民邮电出版社是中国Ajax技术出版方面的领跑者,已经出版了大量Ajax方面的译著和原创的著作。译著方面包括《Ajax基础教程》、《Ajax实战》、《Ajax高级程序设计》,还有后续将要出版的一些著作。原创方面包括《征服Ajax--Web 2.0开发技术详解》、《征服Ajax——Web 2.0快速入门与项目实践(Java)》、《征服Ajax——Web 2.0快速入门与项目实践(.net)》、《征服Ajax+Lucene——构建搜索引擎》等等。目前人民邮电出版社的Ajax系列图书已经取得了非常好的口碑和市场反响,后续还会有进一步的规划和举措,全力推动Web 2.0时代的早日到来。 以下是另外两位评委对于此次大赛的感受 赵泽欣: 扎稳马步 目视前方 很荣幸成为此次大赛评委中的一员,看到Ajax在国内被越来越多的朋友关注,感到由衷的高兴。 在做评委的过程中,感觉Web标准在国内的推广还需要更多的努力,我可以感受参赛选手作品中体现出来的苦心和努力,但Ajax中JS/CSS/DOM的和谐结合对设计和编码都有较高的要求,所以作品中还有不少完善的空间。 通过此次Ajax大赛,不少的参赛选手也提到他们在参赛过程中认识到了Web标准的重要性。我想本次大赛最大的意义我觉的也就在于此。我也相信也有不少的朋友对Ajax持有怀疑观望的心理。层出不穷的新技术和朝兴晚衰的更迭难免让我们变的小心翼翼。 Web标准是Web开发先驱们经验和教训的整理和提炼,是已经被证明的先进的技术思想和规范。这些标准如同HTTP协议一般,对它们的理解对每个Web开发人员都是有益的。 先扎稳马步,迈步时才会健步沉着,胸有成竹。目视前方,迈步时就会目标明确,一往直前。 其实学习任何东西大概都是这番道理,热门的Ajax难免也会有快餐推销式的鼓吹或者商业竞争性质上的诋毁。而我们只要努力打好基础,同时培养技术上的敏锐嗅觉,技术的更迭又有何畏惧呢? Ajax给沉闷的Web开发带来一份清新的气息,革命性的创新甚至让它的影响延伸到更多的技术应用领域,它还在带给我们无限想像的可能。在学习和探索Aajx的过程中,我乐在其中,也希望更多朋友体会到Ajax带来的思想释放的快乐。 庄表伟: 如果和超级女生这样的大赛相比的话,Ajax大赛应该被称之为“Ajax小赛”吧。250名初赛选手,10多名复赛选手,三个来自于一个网站“Ajax中国”的评委。这样的比赛意义在哪里呢? 仅仅看数量,是看不出来的。 Ajax是Web应用的一种,而且可以肯定的说,是Web应用中最为复杂的一种,一个Web项目,我们通常都会分为“美工”、“Web静态页面制作”、“Server端系统开发”这样几个工种。而Ajax应用则同时需要Server端与Client端复杂的端到端编程技术。 对于参赛选手而言,这些工作,都得靠一己之力来完成,在2个多月之内,做出来的作品,要美观,要好用,要有创意,要符合W 3C 组织的Web标准,还得正确有效的作为一个程序在浏览器里运行。真的,不容易!这11位(可能会修改)参赛选手,每一位都不容易! 我们(大赛组织者、评委和参赛选手)都非常确切的意识到,我们正处在一场变革刚刚起步的阶段。Ajax可能仅仅是这场革命开始时,最响亮的一个名字。激动人心的发展将会接踵而来,而我们这些人将会自豪的宣称,我们从一开始就不是旁观者,而是实实在在的参与者,和有力的推动者! 看着选手们的代码,我们的信心更加充足,这些Ajax的爱好者和参与者们,不仅是热忱的,更是踏实的。不但是严肃认真的,更是勇于创新的。由这样的一群人来推动Ajax在中国的发展,实在是一个极好的开始。 而Ajax大赛,正是这样一个机会,使得这一群中坚力量,能够集结、凝聚,进而取得更加卓越的成就。这就是我对于这个比赛意义的理解。 大赛在 7 月 22 日 邀请评委之一李锟现场与读者交流 地址:北京市海淀区紫竹院路66号赛迪大厦二层 嘉宾:李锟 演讲题目:AJAX基础与实战 独立软件咨询顾问,有多年软件开发和软件项目管理的经验,在J2EE、Ajax、敏捷软件开发方法等领域有独到的见解。
从事软件行业10年来,曾经担任过电信软件工程师、网站开发人员、售前工程师、软件项目经理、公司负责人等等不同的角色。
有超过三年的Ajax开发经验。在两年之前,Ajax这个名词尚未诞生时,就曾经在JavaEye论坛(http://forum.javaeye.com)以及很多技术交流活动中大力宣传基于XMLHttpRequest和异步请求的开发方式。引导了国内第一波关于这些技术的大讨论。
Ajax技术成型后,创立了Ajax中国网站(ajaxcn.org),担任站长。
最近主持翻译Ajax in Action,力求将这本Ajax领域的名著原汁原味地奉献给读者。
个人BLOG—http://www.blogjava.net/dlee