CFML (ColdFusion Markup language) is a stable, modern, secure & easy to learn programming language. it is one of the best productive language compare with PHP. it simplifies the difficult development problems. There are 2 active application servers available in the market for CFML.
Even though CFML is more productive, there are lot of great CFML frameworks available to create elegant application in industry standards. Frameworks are kind of ready-made solution available for frequently happening problems. Frameworks are kind of standard or protocol to write cleaner & uniform code. These CFML frameworks will fall under different categories based upon their primary objective. Few of the framework categories are,
Even though CFML provides super cool features, it is developer's responsibility to write clean, modern & maintainable code. Developers have to learn modern CFML tool sets on frameworks, REPL, Packaging tools, Linting tools & automated deployment tools. Choosing suitable toolset for your project is a key of your ColdFusion application success. In this article, we are providing consolidated information about the available MVC framework options for your ColdFusion projects. There are 6 options : ColdBox, FW1, CFWheels, FuseBox, mach-ii and modelglue. We could categorize these MVC frameworks in to 2 different categories as
modern based upon their active development.
If you are starting a new development or like to add a MVC framework in to your existing application, we recommend to choose a option from any one of the 3 modern frameworks available, those are ColdBox, FW1 and CFWheels. We (at MitrahSoft,) use FW1 in all small level applications, as well as ColdBox for medium & enterprise level applications. we recommend the same for every CFML developers too.
There are 3 modern MVC Frameworks are available & these are actively developed with new features. As well as, these are mature enough for production applications, used in hundreds of production web applications.
ColdBox is a conventions-based HMVC framework for ColdFusion (CFML). It provides a development standard for working in team environments and a modular architecture which helps you build hierarchical MVC applications instead of big monolithic applications. ColdBox is the best and most fully documented open source software project around. This framework built with modularity in mind. It will provide you with a way to build applications in modules instead of traditional monolithic approaches. It has been around since 2006 and has a very active developer community and lot of modules available via ForgeBox. it is fully integrated with CommandBox CLI to provide you with automations, scaffolding, OS integration, and much more. It is the only CFML framework to provide you with integration and Behavior Driven testing via TestBox.
We start all of our large new development projects using ColdBox at MitrahSoft. We have done tens of projects using ColdBox 4 & latest ColdBox 5. As well as, we have done few legacy cfml app maintenance as well as migrated those cfml projects migration & modernization in to ColdFusion REST with VueJS front end. If you need any help on your ColdBox project, please feel free to contact our experienced ColdBox development teamContact Us for your ColdBox project
FW/1 was created in July 2009 as a reaction against complexity and bloat in other frameworks in the CFML community. FW/1 itself is a single file, and provides a simple, convention-based approach to MVC (Model-View-Controller) applications, as well as REST APIs. Whilst it has become more sophisticated over time, it has remained a single file, focused on getting out of your way and providing the intuitive plumbing you need. As of release 3.1, FW/1 also includes DI/1 - a simple, convention-based Dependency Injection framework - and AOP/1 - a simple, convention-based Aspect-Oriented Programming framework.
We start all of our small new development projects using FW1 at MitrahSoft. We have done tens of projects using FW1 family of frameworks (FW1, DI1 & AOP1). As well as, we have done couple of FuseBox to FW1 migration projects. If you need any help on your FW1 project, please feel free to contact our dedicated FW1 development teamTalk to MitrahSoft's ColdFusion FW1 experts
CF Wheels is a full framework with tones of functionality. It has "Resource based routing for GET, POST, PUT, PATCH & DELETE" as well as "Built in database migration system even across different DBMS". CF wheels have lots of lovely documentation available with tutorials and a complete API reference. You could use cfwheels' built in doc viewer which grows with your application with only minor markup required.
We have very good knowledge on CF wheels 1.4.x and 2.0.x versions. we could work for your cf wheels with minimal guidelines. As well as, we don't require any learning period to jump in to cfwheels code base.Call our CFWheels framework devs
These MVC Frameworks are legacy & not maintained in recent years. But those were great when it was developed. As ColdFusion used in lot of legacy projects, you might need to continue to support those. So learning these framework might help you for maintain those legacy apps.
Fusebox is a free, easy to use framework for web development that organizes your code for fewer development bugs and faster maintenance. It has a low runtime overhead. It was mainly targeted to ColdFusion but also has versions for PHP and ASP. It was most popular and oldest framework for ColdFusion at one point of time.
Lot of CFML vetrans like "Hal Helms" & "Sean Corfield" are contributed to FuseBox core. FuseBox will help you structure your application and break things down into discreet pieces. Fusebox consists of a set of core files which handle much of the "plumbing" necessary when creating a web application.
A Fusebox application is made up of Circuits. A Circuit corresponds to a directory in your application. Within each circuit are one or more Fuseactions. A Fuseaction is a request handler. And finally, a Fuseaction does its work by executing one or more Fuses. Fuses are individual CFML templates such as display files. The framework uses XML configuration files to define the application settings as well as declaring what each Circuit does and how Fuseactions within each Circuit execute. There is a core set of XML grammar that is used to create these files. The framework is fully extensible via Plugins, which allow you to extend the core functionality without having to modify the core files. It also supports Custom Lexicons, which allow you to extend the XML grammar with your own tags. As a result, Fusebox is very flexible and can support a wide range of development needs.
Mach-II is a powerful, object-oriented, open source MVC framework for CFML engines that focuses on easing software development and maintenance. Mach-II was the first object-oriented framework for CFML engines and continues to innovate with new features designed to help CFML engine developers build and maintain large-scale applications more easily.
Model-Glue CFML is a CFML based, full stack, front controller based on MVC. Features include Scaffolding, ORM integration, and many others. Model-Glue is architected to allow customizations to the framework, without requiring any core files to be edited. Model-Glue uses the ColdSpring framework to configure itself.