理念
自2011年初spray发展推动清晰专注于提供工具,来构建集成层而不是应用程序核心。因此它将自己视为一套件,而不是一个框架。
我 们认为,一个框架(framework)给你一个架子(frame),你在里面构建你的应用程序。它已经预制了很多的决策并提供了一个基础支撑结构,让你 快速开始和交付结果。在某种程度上一个框架就像一个骨架,你把应用程序的肉放进去从而让它活跃起来。因此在你开始开发应用程序之前选择框架,并且尽量使框 架的工作方式与你一同前进,它们才能工作得最好。
例 如,如果你要构建一个面向浏览器的web应用,选择一个web框架并在它之上构建你的应用程序是有意义的,因为应用的核心是浏览器与服务端代码的交互。框 架制造商选择了一个行之有效的方法来设计这样的应用程序,并让用或多或少具备灵活性的应用模板来做填空。能够依靠这样的最佳实践体系结构,可以成为一个很 好的资源,来迅速把事情搞定。
然 而,如果你的应用程序不是一个web应用程序,它的核心不是浏览器交互而是有些特殊,也许是复杂的商业服务,而且你仅仅想尝试通过REST/HTTP接口 连接到世界各地,web框架可能不是你需要的。在这种情况下,应用程序架构应由核心决定,而不是界面层。当你,你可能无法受益于现有的浏览器特定框架组 件,像视图模板,资源管理,Javascript和CSS生成/操作/精简,定位支持,AJAX支持,等等。
spray明确设计成不是框架,并非因为我们不喜欢框架,而是对于使用案例框架不是正确的选择。spray有助于构建基于HTTP的交互层。因此你通常不需要在spray之上构建你的应用,而是在别的什么上构建你的程序,仅仅在需要HTTP交互的地方使用spray。