`
atell
  • 浏览: 161671 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

[Playframework文档中文翻译]易用性 - 细节和特性同样重要

阅读更多

易用性 - 细节和特性同样重要


(原文链接:http://play-framework.herokuapp.com/zh/usability 来自"Playframework中文小站 " )

 

也许 Play 框架最引人注目的地方是,它有一个超过其它 Java Web 框架的最大优势,这个优势却不适合放到简洁的特性列表中,它只会在你使用 Play 构建东西之后才会出现,这个优势就是易用性。

请 注意,易用性和功能性是不同的。接下来,我不是说你不能在其它框架中做这些事情:我只是想声明,在 Play 中做这些事情会更加容易和愉快,我必须强调这一点,因为奇客们( Geeks )对易用性往往有一个认识上的盲点,他们享受解决困难的事情,而低估这些容易的事情的价值。

由 Web 开发人员为 Web 开发人员编写

当 你知道 Play 框架是‘由 Web 开发人员为 Web 开发人员编写’的之后,第一个给你不同感觉的暗示是,Play 将 Web 的原则和约定放在了第一位,而 Java 放在第二位,这是一种非传统的定位。换句话说,这意味着 Play 框架更加符合 W3C 的万维网体系结构 ,而不是符合 Java 企业版(Java EE)。

完美主义者的 URLs

例如,像现在其它的 Web 框架一样,Play 框架可以支持任意的‘干净的’ URLs,而这些支持在 Servlet API 中做的远远不够。这不是巧合,Struts URLs for perfectionists ,Struts 1.x,一个基于 Servlet API 的 Web 框架,仍然是关于上一代 Java 技术的世界排名第三位的最流行的框架,它在 www.lunatech-research.com 上有超过160篇文章,尽管是2005年的文章。

在 基于 Servlet 的框架中,Servlet API 没有提供实用的 URL 路由支持;基于 Servlet 的框架通过配置 web.xml ,把所有的请求都转发到一个单独的控制器,然后在框架中,通过一些额外的配置,实现 URL 的路由机制。在这一点上,是否 Servlet API 曾经试图解决 URL 路由的问题但由于力量不足而失败,或者是否 Servlet API 只是想成为一个低层的 API 而不是让你直接可以构建 Web 应用,都已经无所谓了,无论如何,结果都一样:Web 框架需要对 Servlet API 做一层封装,而 Servlet API 本身就是 HTTP 协议的一层封装。

Play 兼具了 Web 框架,HTTP API 和 HTTP 服务器,这使得 Play 可以使用一个单独的 URL 路由配置文件,使用更少的封装,更加直接地实现同样的事情。这个配置文件,与 Groovy 和 Cake PHP 的机制一样,反映了一个 HTTP 请求的结构 - HTTP 方法,URL 路径,还有映射关系:

# Play 的路由配置文件'routes'…
 
# Method   URL path         Controller
 
GET        /                Application.index
GET        /about           Application.about
POST       /item            Item.addItem
GET        /item/{id}       Item.getItem
GET        /item/{id}.pdf   Item.getItemPdf




这个例子里,有不止一个的控制器。在最后2行配置里,我们还看到了一个名字为 id 的 URL 参数的用法。

更好的易用性不仅适用于普通用户

Play 是由 Web 开发人员为 Web 开发人员创造的,从另一个角度看待这个 idea,就是考虑 Web 开发人员与 Java EE 开发人员在软件设计方法上可能会有怎样的区别。当你开发软件时,什么是最主要的接口?如果你是一名 Web 开发人员,最主要的接口是一个基于 Web 的由 HTML,CSS 和(愈来愈重要的)JavaScript 构建而成的用户界面。而另一方面,作为一个 Java EE 开发人员,则可能会认为最主要的接口是一个 Java API,或者是一个 Web Services API,它们供系统中的其他层使用。

这 种差异是一个大问题,因为 Java 的接口是提供给其他程序员使用的,而 Web 用户界面是提供给非程序员使用的。在这两种场景下,良好的设计包括易用性,但易用性对于普通用户和对于程序员是不一样的。在某种程度上,对于软件设计的易 用性,普通用户相对程序员来说有更高的标准,因为即使软件设计的易用性很差,对程序员来说,还是可以很好的应付的。这有点像 “Good Grips”:http://www.designcouncil.org.uk/Case-Studies/All-Case-Studies /OXO-Good-Grips/ 厨具:虽然他们设计的最初目的是让患有关节炎的老人更容易使用,但事实证明,制造更加易用的工具,对所有用户都有好处。

Play 框架是与众不同的,因为你要在你的 Web 应用程序中实现的易用性,已经存在框架本身里。例如,框架的文档和程序的错误信息都直接使用 Web 界面在浏览器中显示,这样更实用。与之相似地,在程序出错时,服务器控制台也避免了输出满屏幕的无关日志和堆栈跟踪信息,使 Web 开发人员能更集中注意力地关注有用的信息。


试想象一下,使用 JSF 的 Web 应用程序是怎么显示堆栈跟踪信息的。事实上,Play 想的更多:不仅仅是显示了堆栈跟踪信息,还显示了堆栈跟踪信息中出现在 Web 应用程序中的最后一行代码。毕竟,你真正想知道的是在自己的代码中第一个导致出错的地方在哪里。


这种类型的易用性不是由自身产生;Play 框架花费相当大的努力,过滤了重复和不相关的信息,并重点关注那些必不可少的事情。

细节决定质量

在 Play 框架中,大部分质量体现在细节当中:他们可能是一些独立的小细节,而不是重大的特性,但这些细节合在一起,带来了更舒适和更有成效的开发体验。在你使用 Play 构建应用的时候,你会感到温暖,因为你不再体会到以往在与其它框架的战斗中常常体会到的那种沮丧。

来自 Peter Hilton , 原文发表在 Lunatech Research 博客中.

(原文链接:http://play-framework.herokuapp.com/zh/usability 来自"Playframework中文小站 " )

 

  • 大小: 48.2 KB
  • 大小: 27.3 KB
分享到:
评论

相关推荐

    Play Framework应用程序框架 v2.8.7-源码.zip

    10. **社区支持**:Play Framework拥有活跃的社区,提供了丰富的插件和第三方库,以及详尽的文档和教程,方便开发者解决问题和扩展功能。 压缩包中的"内容来自存起来软件站www.cqlsoft.com.txt"文件可能是下载来源...

    Play Framework应用程序框架 v2.7.9-源码.zip

    4. **Akka集成**:Play Framework基于Akka Actor系统构建,提供高度可扩展性和并发性。研究`play.core.AkkaHttpServer`和`play.api.libs.streams.AkkaStreams`,可以了解Play如何利用Akka处理HTTP请求。 5. **模块...

    playframework中文教程.zip

    这个“playframework中文教程.zip”压缩包很可能是为了帮助中文用户更好地理解和学习Play Framework而准备的资源。 Play Framework 的主要特点包括: 1. **轻量级**:与传统的Java EE规范相比,Play Framework ...

    playframework框架项目部署文档

    总结来说,Play Framework的部署涉及到环境配置、项目构建和运行等多个环节,理解每个步骤的作用和操作细节对于顺利部署项目至关重要。在实践中,还可能遇到各种特定问题,需要结合官方文档和其他资源灵活应对,确保...

    Play Framework Cookbook.pdf

    综上所述,《Play Framework Cookbook》不仅是一本技术指南,更是 Play Framework 用户深入了解框架内部机制、掌握高级特性的宝贵资料。无论是在实际工作中解决问题还是进行技术研究,本书都能够提供极大的帮助。

    play framework api,play! framework api,play api

    framework api,play api"都是指Play Framework的API文档,它包含了框架的所有公共类、方法和接口,供开发者在编写代码时查阅和引用。API文档是理解框架工作原理、学习如何使用框架功能以及解决问题的关键资源。 ...

    Play framework框架

    Play Framework框架 Play Framework框架是一种基于Java的软件框架,旨在提高开发效率和提供REST式的架构风格。...Play Framework框架的未来看起来非常光明,该框架正在不断地发展和改进,提供了更多的功能和特性。

    Play Framework Cookbook

    - **大数据处理平台**:面对海量数据处理需求时,Play Framework 同样可以胜任。书中探讨了如何结合 Play Framework 与其他大数据处理技术(如 Apache Spark)来构建高效的数据处理平台。 #### 五、总结 《Play ...

    Play框架中文文档.pdf

    Play框架中文文档.pdf

    Play Framework应用程序框架 v2.7.9.zip

    标签“软件工具”表明Play Framework是一个用于构建Web应用的工具,而“源码源代码”意味着我们可以访问到框架的原始代码,这对于开发者来说是极其重要的,因为可以直接查看和修改代码,进行调试或定制。此外,...

    Play-Utils是一个专门为PlayFramework开发的实用工具包模块

    Play-Utils 模块是为 Play Framework 设计的一个强大且实用的工具集合,它极大地提升了开发者在使用 Play Framework 进行 Java Web 开发时的效率和便利性。Play Framework 是一个开源的、基于 MVC(模型-视图-控制器...

    Play framework 2.0 -第一个应用程序

    Play Framework 提供了内置的测试支持,可以在`test`目录下编写单元测试和集成测试,确保代码的正确性。 十、部署 完成开发后,可以使用`play dist`命令打包项目为可部署的zip文件,然后在生产环境中解压并启动。 ...

    Play Framework2本教程

    Play Framework2是一个强大的Java和Scala应用开发框架,它以其简洁的API、快速的开发周期以及对Web标准的紧密集成而闻名。本教程旨在为初学者和有经验的开发者提供全面的指导,帮助他们掌握Play Framework2的核心...

    Play Framework Cookbook Second Edition

    - **Alexander Reelsen**:软件工程师,居住在德国慕尼黑,拥有丰富的软件开发经验,自 2009 年起就开始使用 Play Framework,并对其简单易用而又不失强大的特性印象深刻。 - **Giancarlo Inductivo**:虽然原文中...

    playFramework1.2.3

    Play Framework是Java Web开发领域的一款流行开源框架,以其简洁、高效和模块化的特性著称。在标题"playFramework1.2.3"中,我们关注的是Play Framework的1.2.3版本。这个版本是在其早期发展的一个稳定版本,提供了...

    play framework 框架手册 word 版

    《Play Framework 框架手册》是一份深入介绍Play框架的文档,主要涵盖了从基础概念到高级特性的全面内容,适合初学者和经验丰富的开发者参考。以下是对手册中部分核心知识点的详细阐述: 1. **MVC应用程序模型**:...

    play,play framework资料大全

    这个资料大全包含了许多关于Play Framework的重要资源,帮助开发者深入理解和高效使用这一框架。 首先,我们来看《Play详细使用文档.doc》。这份文档通常会涵盖Play Framework的基本概念、安装步骤、项目结构、路由...

    sbt-vuefy-Playframework的Vue.js集成-Vue.js开发

    sbt-vuefy sbt-vuefy将Vue的单个组件集成到Playframework中。 sbt-vuefy sbt-vuefy将Vue的单个组件集成到Playframework中,从而在运行Playframework时热重新加载Vue组件的更改。 在使用sbt run运行Playframework时,...

    Play-Framework-ElasticSearch-Module

    ### Play-Framework-ElasticSearch-Module:整合Java开发框架与搜索技术 在现代软件开发领域,特别是对于构建大规模、高性能的Web应用而言,选择合适的框架和技术堆栈至关重要。Play Framework作为一款流行且高效的...

    PlayFramework框架验证.pdf

    PlayFramework是一个高性能的Java和Scala框架,它支持Web应用的快速开发,并且主要...通过结合声明式验证规则和自定义验证器,以及支持国际化的错误消息,PlayFramework的验证框架成为了构建可信赖Web应用的重要工具。

Global site tag (gtag.js) - Google Analytics