The massive popularity of mobile devices and frequently changing trends has completely transformed web application development. Nowadays programmers have to build websites that deliver richer user experience across various platforms, devices and browsers. That is why; many companies have already started redesigning their web development frameworks to meet the latest trends in web application development. At present, programmers have option to choose from several rapid web application development frameworks. Each framework comes with features and functionality to make it easier for programmers to build modern websites and web applications without putting any extra time and effort. But the popularity and global market share of individual web application development frameworks differ.
As highlighted by several reports, a gradual decline is being noted in the popularity and usage of ColdFusion. Despite being updated by Adobe on a regular basis, ColdFusion is less popular than PHP, Java, ASP.NET, Ruby on Rails, Python and Perl. Adobe has launched ColdFusion 11 with a number of advanced features to help programmers to build and deploy both web applications and mobile apps rapidly. It further allows developers to use the enterprise, developer, standard, or express version of ColdFusion 11 according to their needs and budget. However, there are number of factors that affect the popularity and market share of the commercial rapid web application development framework.
7 Factors Affecting the Popularity and Market Share of ColdFusion
1. Performance of CFScript
ColdFusion enables programmers to reduce coding time drastically by writing most of the code in CFScript. CFScript is designed as an extension of the ColdFusion Markup Language (CFML) for the ColdFusion platform. But it lacks all features and functionality of CFML. So many developers complain that they can accomplish certain tasks by using CFML only. Likewise, many programmers also consider that CFScript is not high-performing like JavaScript. Many developers even prefer using JavaScript to easily accomplish the programming tasks. The features and performance of CFScript affect the global popularity of the rapid web application development framework.
2. Quality of Debugging
While developing complex web applications, developers have to frequently debug their programs to identify and fix bugs without any delay. As most modern web application development frameworks have debugging capabilities, it becomes easier for programmers to make their programs flawless. But ColdFusion does not come with built-in debugging capabilities. While building websites with ColdFusion programmers have to use ColdFusion debugging tools additionally. They have option to choose from a number of ColdFusion debugging tools including Quackit and Fusion Debug. But they have to incur additional expenses to take advantage of these debugging tools. The lack of in-built debugging capabilities is having a negative impact on the popularity of ColdFusion.
3. Few Prewritten Scripts
Most open source technologies are supported by large and active communities. While using the open source web technologies, programmers can take advantage of the code snippets and prewritten scripts shared by other members of the community. Thus, it becomes easier for them to accomplish a wide variety of programming tasks and add functionality to the web application without writing fresh code. Unlike other popular web frameworks, ColdFusion is not used widely by programmers across the world. Also, it is used only for developing a lower number of applications. So the programmers have to write code from the scratch. The lack of prewritten scripts further increases the coding time significantly.
4. Does not Support Code Organizations
Most organizations nowadays have to maintain and update websites by deploying new developers. So the developers must read and understand the existing code base accurately to easily make changes. When a web application development framework supports, the model-view-controller (MVC) programming pattern, it becomes easier for developers to keep the business logic separate from user interface. The separation further results in readable and easy-to-maintain code. But ColdFusion currently does not support MVC programming pattern. The programmers still have option to use specific MVC frameworks for ColdFusion. The lack of built-in MVC framework affects the overall quality and readability of the code generated through the rapid web application development framework.
5. Does not have a Package Manager
Unlike other modern web framework, ColdFusion does not have a built-in package manager. So the users do not have option to use software tools to automate the software installation, configuration, update and removal. They have to perform all these tasks manually. In addition to being error-prone, the manual processes also require additional time. Many developers even use third-party command line and package manager to effectuate and speedup code installation. So many users want Adobe to redesign the web application development framework by including a package manager.
6. Commercial Web Application Development Framework
Adobe has been updating ColdFusion regularly to meet the most recent trends in web application development. The latest version of the framework enables programmers to create both web and mobile applications. But ColdFusion is a commercial and licensed web development framework. So programmers have to pay additional fees to take advantages of the advanced features of ColdFusion. The price of each ColdFusion edition also varies. For instance, the enterprise edition of ColdFusion 11 is more expensive than the professional version. That is why; many programmers opt for open source web development frameworks like Ruby on Rails and ASP.NET to reduce websites and web applications rapidly while reducing the project overheads.
7. Unavailability of Skilled Developers
While switching from ColdFusion to other web technologies, many companies cite the reason as unavailability of skilled programmers. Often beginners prefer learning web technologies that are hugely popular and widely used. Likewise, existing web developers prefer using web application development frameworks written in programming languages they are familiar with. The businesses still have option to outsource ColdFusion development to a number of reputable IT companies. But many organizations avoid ColdFusion as they feel that the lack of adequate skilled programmers will affect the web application’s maintenance and updates.
However, the programmers can still use ColdFusion 11 to avail a number of useful features like generate high quality PDF files from HTML, secure the PDF files using electronic signature, rapidly deliver mobile apps for iOS and Android platforms, and easily inspect the look and feel of both web applications and mobile apps across multiple devices. So the developers must compare ColdFusion 11 with other popular web application development framework, and choose the technology that complements all needs of the project.
This blog has two comment sections, which is a little confusing. I’m putting my comment in both of them since I’m not sure which is the real one.
I realize this article is about a year old, but it has very old and incorrect information.
> Performance of CFScript
Firstly, CFScript has had full parity with tags for a while now. There is nothing you can’t write in script. Secondly, please clarify how it is slow, and why are you comparing it to JavaScript. CFML is direct compiled to cached bytecode and run on the JVM so it has the same performance and scalability as any Java application. Twitter, for instance, left Ruby to run on the JVM so surely you’re not calling the JVM slow!
> Quality of Debugging
This is actually a pretty good point. It’s worth noting that the just in time compilation and dynamic nature of CFML makes it very easy to debug on the fly which is why I think the step debuggers have never been very popular.
> Few Prewritten Scripts
CFML certainly isn’t as big as other communities, but it has Riaforge, CFLib, and ForgeBox as places for people to share code. I’m affiliated with ForgeBox and it supports a very similar feature set to NPM.
> Does not Support Code Organizations
This is ridiculous. No other language has built-in MVC that I’ve ever seen. Not Java, not Ruby, not Node, not Python. These are all provided by MVC frameworks, just like CFML. ColdBox MVC and its family of products (caching, logging, dependency injection/AOP, and testing) provide a robust set of features that put the CFML developer on par with any other web language and framework.
> Does not have a Package Manager
This is completely untrue for the last 2 years at least. CommandBox CLI has been the CFML package manager for a while. It integrates with ForgeBox, CFLib RIAForge, Github, and many other code endpoints. It supports full npm-style semver support, artifcats caching, and JSON-based package descriptors. I have personally presented on CommandBox at almost every ColdFusion conference for the last two years around the world, in Ortus webinars, and at many user groups. How have you missed this?
> Commercial Web Application Development Framework
Firstly, Adobe ColdFusion is targeted at Enterprise shops who spend hundreds of thousands on MS SQL Server, Sharepoint, Exchange, Windows, etc. With the bundled feature set unique to ColdFusion like data direct JDBC drivers, PDF generation, Office integrations, Exchange/Sharepoint integrations, and an enterprise API manager I think it’s fair that they charge money for all those features.
Secondly, you are completley ignoring the huge trend torwards open source CFML engines like Lucee Server. Lucee is compatible with 95% of Adobe CF with professional support and regular releases, but it is community-driven, open source and completely free. If licensing cost is an issue for a company, Lucee should make that be a complete non-issue.
> Unavailability of Skilled Developers
This is another good point, but it is easily worked around. I hired developers for years in the midwest where CF was not as common simply by looking for good developers already using Java, .NET, PHP, Python, etc who were familiar with scripting languages, source control, unit testing, and MVC. These developers were up and running very quickly and we built a great team of CF developers. You’re limiting yourself if you only accept candidates who already program in your specific langauge. Remember, design patterns and programming paradigms are transferrable. Syntax is the easiest thing to learn.