CFWheels provides CFML developers with a rapid MVC framework for increased productivity, organized code, and overall developer happiness.
CFWheels
CFWheels provides CFML developers with a rapid MVC framework for increased productivity, organized code, and overall developer happiness.
CFWheels is heavily based on Ruby on Rails, but it's not a direct port, and there are some things that have been changed to better fit the CFML language. The goal is to keep things simple and this shows in a lot of different areas in CFWheels.
Key CFWheels Concepts
1. Convention Over Configuration
Instead of needing to set up tons of configuration variables, CFWheels will just assume you want to do things a certain way by using default settings. In fact, you can start programming a CFWheels application without setting any configuration variables at all!
2. Beautiful Code
Beautiful (for lack of a better word) code is code that you can scan through and immediately see what it's meant to do. It's code that is never repeated anywhere else. And, most of all, it's code that you'll enjoy writing and will enjoy coming back to 6 months from now.
3. Model-View-Controller (MVC)
If you've investigated frameworks in the past, then you've probably heard this terminology before. Model-View-Controller, or MVC, is a way to structure your code so that it is broken down into three easy-to-manage pieces:
- Model: Just another name for the representation of data, usually a database table.
- View: What the user or their browser sees and interacts with (a web page in most cases).
- Controller: The behind-the-scenes guy that's coordinating everything.
4. Object Relational Mapping (ORM)
The Object Relational Mapping, or ORM, in CFWheels is perhaps the one thing that could potentially speed up your development the most. An ORM handles mapping objects in memory to how they are stored in the database. It can replace a lot of your query writing with simple methods such as user.save()
, blogPost.comments(order="date")
, and so on.