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 has been a driving force in web application production since 1995. Due to its success as a platform, there are now several open-source competitors. Lucee is the most popular one. It aims to move ColdFusion programming language CFML (ColdFusion Markup Language) past its roots and deliver a more streamlined platform for applications. Has Lucee surpassed Adobe ColdFusion in the CFML development arena? Let’s take a look at some of the differences between Lucee and Adobe ColdFusion.
What is Adobe ColdFusion?
Created in 1995 by J.J. Allaire, Adobe ColdFusion has developed into a reliable web application production platform. Originally, ColdFusion was created in order to make connection from HTML to a database easier. Nowadays, it contains a full blown scripting language with CFML (ColdFusion Markup Language) and sports an Integrated Development Environment (IDE) (CFBuilder)
ColdFusion has had a transformative life. First owned by Allaire during its creation in 1995, ColdFusion was then purchased by Macromedia in 2001 as part of a $360 million merger. Then again in 2005, ColdFusion changed hands after Adobe acquired Macromedia. Since its adoption by Adobe, CF has proven to be an extremely reliable web app production platform.
Adobe ColdFusion’s latest editions of CF are the 2016 ColdFusion Standard and Enterprise varieties. With CF 2018 due out this year. Throughout the years, Adobe has continued to improve upon its platform. They are dedicated to maintaining support for their older versions, but are encouraging developers to make the switch to the newer models. Yet, even with Adobe’s full strength behind ColdFusion, some developers believe that ColdFusion is a dying form of web application development.
Despite claims that CF is dying, Adobe believes that CF is very much alive and growing. I believe that as well. Check out the CF Alive podcast which proves that Adobe ColdFusion is here to stay. Looking to the roadmap for 2018, Adobe ColdFusion Senior Project Manager Rakshith Naresh shows his excitement for the future of CF.
“It is only a perception that ColdFusion is dying, it is actually alive and growing. The product itself has an exciting roadmap. We need to really communicate that message to all the stakeholders, whether there’s a new CIO who’s joining a new company…We should be able to tell them that ColdFusion is the best technology out there for developing a web application.”
As CF developed into the program it is today, open-sourced platforms have been created with the hopes of bettering the existing product. These open-source platforms have drawn some CF’ers away from Adobe ColdFusion. The most current competitor to Adobe now is Lucee.
Lucee: Open-Source CFML
The Lucee project is a free open-source software that uses a dynamically-typed scripting language for the Java Virtual Machine to allow for the rapid development of web apps. These then compile directly into Java bytecode. Lucee is compatible with current CFML and configurable for legacy CFML.
In January 2015, Lucee was created by forking off of an older CFML open-source platform, Railo. Before Lucee’s creation, Railo Switzerland was purchased by The Railo Corporation. At this time the creators of Railo, at Railo Switzerland, claimed that they would no longer continue to work with Railo and put all their resources into Lucee. The Lucee Association Switzerland, a non-profit Swiss organization, was born. In July of 2016, The Railo Corporation had dissolved. However, Lucee still remains and is 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 from Adobe as the number one source for CFML development?
- When doing a surface comparison of both platforms, the first thing most developers look at is price. Adobe ColdFusion 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 $1,499. Whereas, CF Enterprise for larger scale ColdFusion projects starts at $8,499.
- Lucee, on the other hand, is free to use! You may choose to sponsor Lucee Association Switzerland on a corporate or private level however. Yet, this sponsorship is not required. This is one of the reasons that new and veteran developers are migrating towards Lucee and away from Adobe.
- Installation and Requirements
- Another factor for comparison is the ease of installation and requirements. Prior to installing Adobe ColdFusion, there is much to consider. You need to verify your server connection for whichever platform you will be installing it on. There are special considerations to take for both Windows and Unix platforms.
- Lucee again simplifies the process by automatically performing 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.
- User Support
- When it comes to user support, Adobe has a dedicated support team which can be accessed via phone or through online tickets. Not only does Adobe provide direct support, Adobe ColdFusion communities are readily available to help assist struggling developers troubleshoot. There are many testing tools built into CF and developed online testing tools that can be used to assist users.
- Lucee also has a great support group although Lucee is more community based. Members help each other to 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 the better support solution.
- Update Schedule
- Adobe routinely updates its ColdFusion software with hotfixes. Since ColdFusion 10, Adobe provides automatic updates to help support this. 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 however 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. Adobe intends to continue to release new versions of ColdFusion at a regular 2-year interval.
- When it comes to updates, Lucee’s processes are not as automated. 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 and from third party sites. In this arena, Adobe clearly beats Lucee. However, Lucee is a newer platform and perhaps future versions will involve automatic updates.
- 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 very well with Java. Lucee does tend to simplify some of Adobe’s processes however. 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 support other side-server languages such as ActionScript and CFScript. CF in 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 these an actual date object if you create it with createDate(), so that's a win. Of course, JSON has no native date datatype 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 goes on to give 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.
Price Scalability in the Cloud
According to Patrick Quinn, inherent scalability in the cloud for Adobe ColdFusion is awkward. Particularly the pricing model is not so cloud friendly. He spoke on 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 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 due to the fact that Lucee is open-sourced. Since Lucee is open source, there are no scaling licensing fees.
ColdFusion Security Concerns
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 their security concerns and going public when problems do arise.
Lucee as a newer system has a less than lengthy track record when it comes to security issues. They are able to release responses within a day to an issue. However, the area that Lucee struggles in is not releasing the response but communicating the issue in the first place. It is more difficult for Lucee Association Switzerland to contact their members than it is to release a fix. That could call for some security concerns.
These factors are just a few points of comparison 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 trial, 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 clear differences you have experienced using Lucee over ColdFusion? What are your tips when migrating from Adobe CF to Lucee? Or do you still preffer CF over it?
Join us in the comments below.
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.