David Belanger and Tom King talk about “CFWheels (A ColdFusion Framework for the REST of us)” in this episode of the CF Alive Podcast, with host Michaela Light.
“… So, if you had to compare these four frameworks to personalities of animals you know what would you say to them kind of roughly felt like to you?”
- Show notes
- What is CFWheels?
- Why is it a framework for the REST of us?
- How different is CFWheels from ColdBox or FW/1 or Fusebox? (They are all MVC frameworks)
- Why use a framework at all?
- Why not use a homegrown framework?
- RESTful routing
- Fads in IT
- Why are you proud to use CF?
- WWIT to make CF more alive this year?
- What are you looking forward to at Into The Box?
- Mentioned in this episode
- Listen to the Audio
- Episode transcript
What is CFWheels?
- MVC framework inspired by the Ruby on Rails (RoR) framework
- CFWheels is an open source CFML (ColdFusion Markup Language) framework inspired by Ruby on Rails that provides fast application development, a great organization system for your code, and is just plain fun to use.
- 4 wheels – Andy Bellenie, Adam Chapman, Tom King, David Belanger
Why is it a framework for the REST of us?
- Hybrid development style – pop on legacy code into a View module and it will just work (then refactor later)
- Convention over configuration
- No XML config file – but do have config files with cfscript that set CFWheels variables
- Streamlined ORM, but can add in SQL queries when you want to
- Inspired by RoR with over 10 years of development (first commit 2006!)
- Rails is an inspiration and not a rule of law, but a useful reference: i.e, routing
- Friendly framework
- Great for those who might have tried other frameworks and found them overwhelming
- Convention over Configuration
- Good for beginners
- Lots of user-friendly documentation
How different is CFWheels from ColdBox or FW/1 or Fusebox? (They are all MVC frameworks)
- What animal does each framework remind you of?
- ColdBox = Friendly Tiger who does everything
- FW/1 = Fast bird, who gets in an out fast, lightweight
- Fusebox = Neglected dinosaur, powerful but has not been maintained recently
- CFWheels = Horse – just get on and ride
Why use a framework at all?
- See the first page of the CFWheels docs https://guides.cfwheels.org/
- Team and maintenance faster
Why not use a homegrown framework?
- Easier to pass code base on to other developers
- Especially for open source projects
- You benefit from other people fixing bugs in the framework
- Resource-based routing
- Can easily just turn your app into an API eg to an Angular front end
- Microservices? Not so much
- Single framework with plugins
Fads in IT
Own ORM (Active Record Style)
- Dynamic Finders, i.e findOneByEmail
- Model Validation
- Own ORM so independent of CF engine ORM changes
Lots of stuff Built-in
- Database Migrations / MySQL MSSQL Postgres
- Documentation / automatic developer documentation
- Test Suite based on RocketUnit
- Commandbox based CLI
- CORS handling (Cross-Origin Resource Sharing)
- CFWheels 2.1 feature
- Protect from CSRF (Cross-Site Request Forgery)
- Flash handling
- The Flash is just a struct in the session or cookie scope with some added functionality. It is cleared at the end of the next page that the user views. This means that it's a good fit for storing messages or variables temporarily from one request to the next.
- Nothing to do with Adobe Flash player!
Plugins – ForgeBox
Future – next release 2.1
- Bug fixes
- Faster startup
- CORS functionality
- 2.x Moved code to cfscript (from CF tags)
Small but Friendly community
Google mailing list for help
- CFML slack channel #CFWheels room
- Outreach? Mostly word of mouth currently
Why are you proud to use CF?
- It always works!
- Fast to develop
WWIT to make CF more alive this year?
- Support Lucee
- PHP beater
- And in the cloud
- More blogs and education
- Talk it up in your proposals
- Education – talk to teachers who are teaching the classes
- Or teach CF at schools or universities yourself
- More open source apps
What are you looking forward to at Into The Box?
Mentioned in this episode
Listen to the Audio
Tom is a freelance full-stack web developer and has been working with CFML since 2001, and with CFWheels since version 1.1.3. He joined the core team in 2014 and spoke on CFWheels 2.0 at CFCamp 2016. He has created everything from custom CMS systems to eLearning platforms with CFWheels, mainly for the Oxford Internet Institute and the Oxford Martin School, both at the University of Oxford. Alongside his freelance work, he's also CTO of a new startup, Kinherit LTD, which works in the area of end-of-life planning (wills and probate etc). When not coding, Tom will usually be found behind a set of drums, or hidden deep in a wine cellar.
David is a Canadian ColdFusion developer who lives in Argentina with his wife and 4 extremely active children. He's been with CF since version 4.5 and was briefly the only reseller of CF in Argentina before Adobe acquired Macromedia. He's dedicated full-time to CF development on several new and legacy projects as well as a strong CF advocate and a current member of the CFWheels Core Team.
He currently works full-time “creating things that matter” at Intoria Internet Architects, a web development company based in Calgary, Alberta, Canada
Michaela Light 0:01
Welcome back to the show I'm here with David Ballenger and Tom King and we're going to be talking about CF wheels a cold fusion framework for the rest of us and we'll look at what CF wheels is and what's coming up in the new release of CF wheels and some really cool things you can do with restful routing and the CRM that's built into it and lots of other cool stuff so welcome Tom and David and if case you don't know them that two of the four wheels on the CF wheels team I guess you could call it a CF wheels bus so to speak and Tom has been doing cold fusion since 2001 and he he joined see if we'll switch from one what a while ago
and he even spoke on it and see if camp few years back so three years ago now so
David He is our Canadian ColdFusion connection
currently living in Argentina so he's very international and he's been doing cold fusion since version four or five which is a long while ago so and helps get cold fusion more exciting in Argentina and Latin America. So
welcome David and Tom
Thank you having us
Michaela Light 1:30
yeah so I guess the the elephant in the room is for those people who haven't UCF wheels and I know from our cold fusion developer survey the State of the Union survey not everyone uses CF wheels the maybe people wondering what what is CF wheels I obviously has something to do with ColdFusion but but what is i
was just you can just go ahead
Tom King 1:56
Tom King 2:00
it's an MVC based framework. And it was inspired somewhat by Ruby on Rails. And it's got about let's go over 10 years worth of development in it. And
the idea was to have a really successful framework where we got inspired by the Ruby on Rails concepts and translated them as Seth, I think, David, you know, a bit more about some of the sort of history side of it, don't you?
And to continue learning how to make your ColdFusion apps more modern and alive, I encourage you to download our free ColdFusion Alive Best Practices Checklist.
Because… perhaps you are responsible for a mission-critical or revenue-generating CF application that you don’t trust 100%, where implementing new features is a painful ad-hoc process with slow turnaround even for simple requests.
What if you have no contingency plan for a sudden developer departure or a server outage? Perhaps every time a new freelancer works on your site, something breaks. Or your application availability, security, and reliability are poor.
And if you are depending on ColdFusion for your job, then you can’t afford to let your CF development methods die on the vine.
You’re making a high-stakes bet that everything is going to be OK using the same old app creation ways in that one language — forever.
All it would take is for your fellow CF developer to quit or for your CIO to decide to leave the (falsely) perceived sinking ship of CFML and you could lose everything—your project, your hard-won CF skills, and possibly even your job.
Luckily, there are a number of simple, logical steps you can take now to protect yourself from these obvious risks.
No Brainer ColdFusion Best Practices to Ensure You Thrive No Matter What Happens Next
Modern ColdFusion development best practices that reduce stress, inefficiency, project lifecycle costs while simultaneously increasing project velocity and innovation.
√ Easily create a consistent server architecture across development, testing, and production
√ A modern test environment to prevent bugs from spreading
√ Automated continuous integration tools that work well with CF
√ A portable development environment baked into your codebase… for free!
Learn about these and many more strategies in our free ColdFusion Alive Best Practices Checklist.