Software innovation, like almost every other kind of innovation, requires the ability to collaborate and share ideas with other people, and to sit down and talk with customers and get their feedback and understand their needs.
Is Lucee CFML now better than Adobe ColdFusion?
Adobe ColdFusion’s success as a platform since 1995 produced several open-source competitors.
Lucee is the most popular one, aiming to move ColdFusion programming language CFML (ColdFusion Markup Language) past its roots and deliver a more streamlined platform for applications.
But can it really compete with CF? Let’s look at some differences between Lucee and Adobe ColdFusion.
Adobe Coldfusion Vs. Lucee, Open-Source CFML
The free open-source Lucee project uses a dynamically typed scripting language for the Java Virtual Machine, allowing the rapid development of web apps. These then compile into Java byte code. Lucee is compatible with current CFML and configurable for legacy CFML.
Related: CFML (ColdFusion Markup Language)
Lucee was created in 2015 from an older CFML open-source platform, Railo. Before Lucee’s creation, Railo Switzerland was purchased by The Railo Corporation. The creators of Railo decided they would put all their resources into Lucee. The non-profit Lucee Association Switzerland was born. In July 2016, The Railo Corporation dissolved. However, Lucee remains the top Open-Source CFML Platform on the market today.
Lucee’s popularity as a development platform is on the rise today among programmers for many reasons. We will discuss a few today. Is Lucee taking over Adobe as the number one source for CFML development?
The first thing most developers look at is price. Adobe ColdFusion 2021 comes with a choice of packages — CF Standard or CF Enterprise. Most web applications will run just fine on the cheaper CF Standard. However, compared to some other web app development platforms, Adobe ColdFusion can be expensive. CF Standard starts at $2,499. Whereas CF Enterprise for larger-scale ColdFusion projects starts at $9,499.
Lucee is free. This might be one reason that some CF developers are migrating towards Lucee and away from Adobe. You can, however, donate to the Lucee Association Switzerland on a corporate or private level.
“We moved dozens of sites to Lucee with almost zero code modifications for the price of free. We used ACF for 20 years, but their last license change forced us away. Never looked back.”
Mike Chytráček, in ColdFusion Programmers FB Group
Mike's website: Ignite Solutions.
Price Scalability in the Cloud
According to Patrick Quinn, inherent scalability in the cloud for Adobe ColdFusion is awkward. The pricing model is not cloud-friendly. He spoke about this issue in the CF Alive podcast #039 CFML Secrets.
If you want to scale large high-traffic systems, it's going to be quite expensive to run Adobe ColdFusion in the cloud.
There are two ways to license ColdFusion in the Cloud.
- A scalable service via AWS (Amazon Web Service)
- This is a preinstalled version of ColdFusion 2016 run as a licensed AMI (Amazon Machine Image) which has an hourly fee while running. Prices scale up with the amount of machinery or servers you are running. Prices will scale regardless of which host you use for Adobe ColdFusion due to licensing costs as well.
- Switch to Lucee.
- This is a much cheaper alternative because Lucee is open-sourced. Since Lucee is open source, there are no scaling licensing fees.
Installation and Requirements
Another factor for comparison is the ease of installation and requirements. Prior to ColdFusion 2021, installing Adobe ColdFusion required a long, detailed process: verify your server connection for whichever platform you will install it on with special considerations depending on your operating system.. The most modern version of ColdFusion gets rid of all that and uses a lightweight, self-guided installer that does most of the heavy lifting for you. Much like Lucee has for some time now.
Lucee automatically performs the server connections for you. This allows the installer to be run as a stand-alone application. Lucee is compatible with both Windows and Linux platforms.
For user support, Adobe has a dedicated support team that can be accessed via phone or online tickets. Not only does Adobe provide direct support, but Adobe ColdFusion communities are also available to help assist struggling developers in troubleshooting. There also are many testing tools built into CF and online tools to assist users.
Lucee also has a great support group, although it is more community-based. Members help each other solve problems. If you are a member of Lucee Association Switzerland, you may find light technical support through the Association. For larger-scale Lucee applications and troubleshooting, third-party commercial support services are available. Abode’s direct user support is still preferred in many circles as a better support solution.
Adobe routinely updates its ColdFusion software with hotfixes, providing automatic updates since ColdFusion 10. Adobe will not automatically install the updates, however. It will simply inform you of what new patch is available. Staying up-to-date with the latest patch is recommended to minimize security concerns with outdated releases. Adobe does not automatically install new versions of ColdFusion either. They do, however, encourage users to migrate to the newest platforms available. The company continues releasing new versions of ColdFusion at a regular 2-year interval with ColdFusion 2021 being the latest version.
When it comes to updates, Lucee’s processes are not as automated. It’s currently in its 5.3.x phase, with frequent minor tweaks. The updating process thankfully isn’t nearly as exhausting as one might expect. It’s just that users must remain vigilant in verifying new patch releases and new versions. Lucee’s updates are not provided directly from Lucee Association Switzerland but rather through outside sources. Updates from the original Lucee 4.5 can only be done manually or from third-party sites. Atop all of this, Lucee has been sitting at its 5.x iteration for over four years now. In this arena, Adobe clearly beats Lucee.
General Ease of Use
Both Adobe ColdFusion and Lucee are exceptionally easy to use due to CFML. CFML is simple to read and easy to learn. ColdFusion can now be written as a scripted language, and it works well with Java. Lucee does tend to simplify some of Adobe’s processes, however. Many developers on the ColdFusion Programmers Facebook group say they use Lucee in an enterprise setting without much of a hassle. Both Lucee and Adobe ColdFusion can be recommended for developers of all skill levels.
Adobe ColdFusion is synonymous with CFML. However, ColdFusion interacts with other programming languages as well. Released in July 2007, ColdFusion 8 natively supports .NET assemblies inside the CFML syntax. ColdFusion also supports other server-side languages such as ActionScript and CFScript. CF itself is a Java EE platform. ColdFusion code may be mixed with other Java classes and use Java libraries.
In Adobe ColdFusion, every single simple variable is stored as a java.lang.String. Numbers? Stored as a string! Booleans? Stored as a string! Dates? Well, actually, Adobe does store an actual date object if you create it with createDate(), so that's a win. Of course, JSON has no native date data type so it doesn't help us here. The point is, booleans and numbers all lose information about what they used to be when Adobe CF stores them in memory. That means 5 and “5” are the same thing. Same with true and “true”. Even “yes” and true serialize are the same!! This causes problems when you need to output those values into a format where type matters (like JSON).
Brad gives a segment of code to try on Trycf.com.
This will be the resulting Adobe 2016 Output with explanations.
This is the resulting Lucee 5 Output with explanation:
You can see that Adobe CF throws away information about your data types in such a way that it is required to later make a guess as to what the data is. It works in some case, but not in others. Lucee retains the original information about your numbers and booleans, so, later on, it doesn't NEED to guess. It just uses them as they are.
Users who need JSON support have a clear advantage when switching over to Lucee from Adobe ColdFusion.
The Lucee Docker images
The Lucee Docker images are now in a new lucee/lucee repository with a build process that generates several different tagged images from a matrix of the Lucee version, Tomcat Version, OpenJDK version, and optional bundled NGINX and optional Alpine base image.
Read more here.
Security in Adobe ColdFusion and Lucee CFML
In 2013, Adobe had a string of security concerns with ColdFusion 8, 9, and 10. Since then, there have been limited security issues with Adobe ColdFusion. Adobe has done a much better job of staying on top of its security concerns and going public when problems arise.
Lucee has a smaller record when it comes to security issues. They can release responses to a problem within a day. However, the area that Lucee struggles in is not releasing a response but rather communicating the issue. It is more difficult for Lucee to contact their members than it is to release a fix. That could call for some security concerns.
The initial results of the 2022 State of CF Union Survey
The initial results of the 2022 State of CF Union Survey have some interesting info and graphs. Here is my initial analysis:
- Adobe CF 2018 is the most popular version, closely followed by Lucee CFML 5.3 and Adobe CF 2021
- Adobe CF (all versions combined) continues to be more popular than Lucee (all versions combined)
- ACF 2021 has gained a lot of users this year
- CF hosting – In House is the most popular, followed by AWS, Hostek, Digital Ocean and Azure
- Docker has moved ahead this year for containizing your CF server – which makes picking an ISP less relevant as you can use any cloud provider! Also check out Lightsail for Lucee VPS hosting on cloud.
- Very few CF hacking incidents this year, even if you count the Log4j one last month.
- Top problems with CF are “Nothing”, hiring CF devs, Cost/Licencing issues and not enough marketing/press
- CFers pick CF because it is fast to code in, easy to learn and fun to use; plus they have a lot of legacy CF code 🙂
If you haven't taken this year's survey yet then you can do so at 2022 State of the CF Union survey.
So, CFML Fan, What Is Your Choice? Adobe ColdFusion or Lucee CFML?
These are just comparisons between Lucee and Adobe ColdFusion. Both platforms do well at making CFML a viable programming language. In conclusion, Lucee is a wonderful alternative for Adobe ColdFusion. It can be a much cheaper version of CFML for developers with tighter budgets. With Adobe constantly upgrading their service, ColdFusion is unlikely to be dethroned by Lucee in the immediate future. Yet through time and development, Lucee could become the dominant force in the CFML world.
Do you use Lucee or Adobe ColdFusion? If Lucee, why did you make the switch? What are some of the obvious differences you have experienced using Lucee over ColdFusion? What are your tips when migrating from Adobe CF to Lucee? Or do you still prefer CF over it?
Join us in the comments below.
Related: Lucee 6- Swansea Jack
Adobe ColdFusion Vision for the Next 10 Years
Adobe ColdFusion 2021 released
Adobe ColdFusion 2021 is already a year into its existence, released a few days before ColdFusion Summit 2020 in November 2020. We look at all the new features for multi-cloud, microservices, lambda, performance, security, and more below.
And yes, the name did change from CF 2020 to CF 2021.
Rakshith Naresh talks about “ColdFusion 2021: Revealing Details on How it was Created” in this episode of the CF Alive Podcast, with host Michaela Light.
Here's what we talked about:
Michaela Light is the host of the CF Alive Podcast and has interviewed more than 100 ColdFusion experts. In each interview, she asks "What Would It Take to make CF more alive this year?" The answers still inspire her to continue to write and interview new speakers.
Michaela has been programming in ColdFusion for more than 20 years. She founded TeraTech in 1989. The company specializes in ColdFusion application development, security and optimization. She has also founded the CFUnited Conference and runs the annual State of the CF Union Survey.
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.