代码改变世界

英语阅读推荐:在AJAX中制作自定义验证服务 & 优秀网站的5个因素

2007-03-16 20:08  Cat Chen  阅读(5345)  评论(5编辑  收藏

新一期的Random Clippings又来了,这次介绍的两篇文章都很容易读,单词不会太难,语法也简单。

在AJAX中制作自定义验证服务 (Building a custom authentication service in AJAX)

在这篇文章中我们将学会如何制作一个自定义的验证服务,用于ASP.NET AJAX。为什么需要制作自定义的验证服务呢,ASP.NET AJAX不是内置一个了吗?因为那个验证服务调用的是Membership,而如果你的情景不能用系统自带的MembershipProvider,而且未至于复杂到要自己实现一个MembershipProvider,那么你就需要制作自己的验证服务了,这正是文章前两段说的事情。"Though this works, it may be overkill if you've got a simple scenario and don't want to create a new membership provider",意思是“通过这样的工作(指实现自定义Membership),这可能就相当于杀鸡用牛刀,假如你面对一个简单的情景并且不想创建一个新的MembershipProvider的话”,我们可以学习到overkill这个词是杀鸡用牛刀的意思。

接下来的WebService代码应该很容易看明白,分别实现登录和注销函数,之后我们需要做的就是让它成为指定的验证服务,而不是自己再去实现ASP.NET AJAX已经实现的验证相关的客户端JavaScript(主要是设置Cookies的工作)。之后的代码展示了这个设置有多简单,只需要在ScriptManager设置一下AuthenticationService的Path属性就行了,另外你也可以在JavaScript中设置这个Path属性。

优秀网站的5个因素 (Imagine Cup - Web Development)

这篇文章是今年Imagine Cup的Web Development比赛评委Phil Winstanley写的,他写这篇文章的目标是展示给参赛者看一个网站通过哪5个因素来评价它是否优秀,我认为这篇文章值得大多数网站设计者参考,所以直接给他订了一个中文标题为《优秀网站的5个因素》。因为文章是针对参赛的学生写的,所以浅显易懂,现在我们就来看看这5个因素是什么吧。

Reach

第一个因素是reach,为什么呢?"Reach is all about how many people can see and use your application",reach就是关于有多少人能够看得到和用得上你的应用,如果用户根本reach不到你的应用,剩下的因素也就没有意义了。而且reach这个因素对网站来说还特别重要,"With Web applications it's very much a matter of can people use the same application on lots of different browsers"。那么是不是我们的网站能够做到跨浏览器就算reach高分了呢?还不是那么简单,继续往下看吧。

"As well as the number of browsers, Reach also covers some other areas, such as geographic",地理因素也很重要哦,不过这对Web应用来说则是最不成问题的问题。

"Cultural Reach is all about making sure the users of different backgrounds and skill levels can access and use the site",还有文化因素呢,是不是不同文化背景和技能等级的用户都能使用你的网站呢?别以为这是个简单的问题,文章后面就以日期格式为例,说明了英国人习惯dd/mm/yyyy的格式,而美国人习惯mm/dd/yyyy的格是,这两个格式容易导致用户无法准确理解日期的真正含义,因此我们应该使用ISO日期格式,也就是yyyy-mm-dd。

"However it's important to understand Reach is a tradeoff",无论如何,我们必须意识到reach是需要权衡的,好看和创新的网站必然导致reach的牺牲。

Accessibility

在用户能够reach到你的站点之后,他能否access到你的内容和功能就成为重点了。"People with disabilities can have a really rough ride on the internet",残障人士在Internet上可能会遭遇糟糕的体验,因此我们必须确保所有用户都能享受到等同的体验。

需要强调的是,accessibility体现的是人人生来享受平等权利的原则,也就是无论你是残障人士还是老人,都不会因此而必须接受一个比较差的用户体验,而另外一些人则能享受更好的用户体验。所以,在执行accessibility时不应该把这作为仅仅是针对残障人士的优化行为,而应该是针对所有用户都获得等同的良好体验的设计。另外,accessibility也是需要权衡的。最后,accessbility是不能用有限的规则来表示的,而需要根据是否通情达理来评价。

Innovation

我们也时常说要创新,在Phil Winstanley眼里什么才算是创新呢?他认为创新就是对新主意的成功开发利用,"innovation is the successful exploitation of new ideas"。在这句话里面他强调了创新的两个重点,一个是要求主意是新的,另一个是要求成功开发利用。

一个网站要创新难吗?其实不难,需要有一个优秀的主意,然后好好去实现它,就这么简单。怎样判断自己的网站是否算是创新?别人对它的感觉,要么是很喜欢,要么是很讨厌,那就算是创新了。

Usability

用最简单的话来说,usability就是指一样东西有多么容易使用,"How easy is something to use"。这不是能够用一组规则描述的事情,那么如何能够提升网站的usability呢?"keep asking yourself Could this be easier, Could this be more obvious",保持着问你自己,这东西是否可以变得更简单、更显然易见。

Maintainability

"The web moves quickly, so it's vitally important that your applications are easy to change and update",网站高速发展,因此你的应用是否易于更新和升级是至关重要的。接下来作者说了一些很基本的维护问题,例如变量命名、3层架构等,因为这是面向学生的文章,所以并不会深入探讨架构的问题,最后还提了一下重构。

Defy All Challenges - Microsoft Visual Studio

又是推荐有趣东西的时候了,这次不解释是什么,自己去看看就知道,你肯定会怀疑自己打开的是不是一个游戏官方网站。

最后,感谢你阅读本期Random Clipping。你可以通过订阅Cat in dotNET以获取更多此类文章,Feed订阅地址为:http://feeds.feedburner.com/CatChen/dotNET,Email订阅地址为:http://www.feedburner.com/fb/a/emailverifySubmit?feedId=573799