构建框架是一件困难的事情。一方面,框架需要足够的灵活性以满足多种多样的需求;另一方面,它也需要足够的可靠性,以免在复杂性面前落入困境——这是令框架战胜其他解决方案的驱动力。创建复杂而有用的企业级软件会面临方方面面的问题,而在当今的开发环境下,会有众多框架帮助你解决这些问题。每个框架都有一些独特的特性,可以通过一种让你觉得舒服的方式解决应用程序中某个特定领域的问题;此外,每个框架都必须处理边界问题,以便于在一个随着需求而不断变化的软件系统环境中与其他框架进行交互。
为了实现这个表面上看起来不可能实现的任务,我们需要了解和研究过去的成果,而这正是框架需要继承和发扬的。就WebWork来说,在我着手开发之前,我仍然关注许多不同的实现方式及框架。而WebWork的出发点是创建一个新的框架,能让开发人员花费尽可能少的精力完成自己的工作,同时不需要通过多余的复杂框架就可以高效地完成每一个任务。简单的事情就应该通过简单的方式完成,虽然复杂的做法也能实现。
WebWork另外一个重要的方面是:它让开发者拥有了使用其他技术的最大自由度。举例来说,当你需要呈现输出结果时,有许多用于呈现的技术可供选择。要找出适合所有情况的最好选择是不可能的,也是没必要的,因为像这样万能的选择并不存在,也不可能存在。对其他技术保持一种开放的态度是至关重要的,而WebWork在这个方面已经做得卓有成效:WebWork现在已经成功地集成了一系列广泛的呈现技术,其中还包括一些并非针对HTML和Web的技术。作为WebWork的一位创始人,如今它的发展已经超出了最初我所期待的目的。
WebWork刚开始的时候,我需要自己全盘负责,自力更生;而到了第二个版本,它已经成为了一个快速增长的社区项目。在这样一个社区中,开发人员都通过平衡框架提供的结构为WebWork增加新的功能,并且对原有功能加以改进。在当今充满竞争的环境中,如果离开了众多程序员的付出与创意,那么一个框架要获得成功简直就是天方夜谭。因为对于一个框架而言,能够解决开发人员在日常工作中遇到的问题才是最重要的。正是基于此,在社区的努力下,现在的WebWork已经走过了一段自己的历程,并且依然在稳定地成长着。
一本书要涵盖这样一个框架的方方面面,需要解决框架构建的所有细枝末节的问题;还要讲述框架以某种方式工作背后的缘由;同时也要通过实例来演示所有这些理论在实际当中是如何被应用的,只有实践才能见真知。本书恰如其分地阐释了WebWork构建的基本原理,但它主要还是关注于由浅入深地向你展示如何在实践中使用WebWork。时间总是可以证明一切的,如果你对学习有关Web框架构建的知识感兴趣,如果你打算构建一个能给所有人留下深刻印象的杀手级Web应用程序,那么本书将是一份难得的投资。一切皆有可能!
回书目 下一节 |