Original author(s) | Luis Majano & Ortus Solutions |
---|---|
Developer(s) | [1] |
Initial release | June 15, 2006 |
Stable release | 3.5.0 Beta / November 28, 2011 |
Development status | Active |
Written in | CFML |
Operating system | Cross-platform |
Type | Web application framework |
License | Apache License |
Website | coldbox.org |
ColdBox is a professional open source enterprise, conventions based web application framework designed for applications written in ColdFusion Markup Language. ColdBox was the first ColdFusion framework to leverage conventions over configurations and it aims for simplicity, rapid development, and makes use of the Model-view-controller, Dependency_injection, Unit_testing, Aspect-oriented_programming architectural pattern. ColdBox is comprehensive and modular, which helps address most infrastructure concerns of typical ColdFusion applications
Contents |
ColdBox has been developed with a number of goals in mind:
The ColdBox Platform is unique in that it aggregates 5 different frameworks into one ColdFusion development platform:
ColdBox has seven properties which attempt to increase productivity when compared to traditional web frameworks:
ColdBox's documentation is what sets it apart with over 700 pages worth of documentation online, professional training and books.
Conventions over configurations is the standard in ColdBox development. It does not rely on the verbosity of xml logic and uses ColdFusion and a set of conventions for development. Conventions are also used for registering events, interceptors, plugins and much more.
ColdBox doesn't rely on XML declarative logic where you have to define an event, what it does and where does it go. ColdBox is a conventions based framework that will let you program in ColdFusion to get things done.
Below is an example of a controller:
component{ // Use DI for hibernate virtual services property name="userService" inject="entityservice:User"; function sayHello(event){ return "hello"; } function list(event){ // render out all users in json format event.renderData(type="json", data = userService.list() ); } }
ColdBox supports URL mappings and routing Rails style but adapted for ColdFusion. It also supports the creation of RESTful routing:
addRoute(pattern="api/user/:username",handler="user",action={get='list', post='create', put='update', delete='remove'});
ColdBox allows for easy creation of RESTful URLs via URL mappings and extension detection. Natively ColdBox can detect any extension when supplied to an URI resource:
http://api.coldbox.org/rest/user/lui.json http://api.coldbox.org/rest/user/lui.xml
It allows for the detection of such extensions, security around them and the ability to customize the extensions.
ColdBox supports all JavaScript frameworks that provide Ajax capabilities. It also provides an auto-marshalling function to render any object to the following formats natively:
ColdBox offers support for creating, monitoring and developing SOAP web services and Flex/Air remote components. It allows for having one development paradigm for multiple GUI interfaces.
|
|