Lucee
Lucee is an open source implementation of a lightweight dynamically-typed scripting language for the Java virtual machine (JVM). The language is used for rapid development of web applications that compile directly to Java bytecode, and is compatible with contemporary CFML script[3][4] and tag language variants, and provides configurable support for legacy CFML.
Developer | Lucee Association Switzerland |
---|---|
First appeared | 29 January 2015[1] |
Stable release | 6.0.0.585
/ 20 May 2022[2] |
Implementation language | Java |
OS | Windows, Linux, Unix, Mac OS X |
License | LGPL v2.1 |
Filename extensions | .cfc, .cfm, .cfml |
Website | lucee |
Influenced by | |
ColdFusion Markup Language |
The Lucee language supports multiple development paradigms, including object orientation with inheritance and interfaces, and functional constructs like higher-order functions, closures, map()
, and reduce()
.
Lucee was created by the Lucee Association Switzerland, and was forked from version 4.2 of the Railo Server, which is not being developed further.[5][6][1]
Features
Database access
Lucee has built-in support for Microsoft SQL Server, MySQL, Oracle, PostgreSQL, and many other popular relational database engines. Lucee also supports any database for which a JDBC driver is available.
Web services
Lucee has built-in support for calling and consuming data returned from existing web services, along with the ability to easily configure and expose web services to be consumed. Lucee supports three types of web services:
- RESTful web services
- WDDX / Soap web services
- HTTP (An interface using HTTP verbs, similar to REST, but simplified)
ORM
Lucee has built-in support for the object relational mapping (ORM) framework Hibernate, facilitating Hibernate usage from Lucee code without complex and explicit configuration.
Caching
Lucee has built-in support for multiple caching systems, including Infinispan, Ehcache, and Memcached, and can be extended with additional systems. The cache implementations can be configured within the Lucee server, then used within an application—both explicitly and implicitly—for the caching of database results, function call results, external HTTP request results, serialized session storage, and as a flexible backing store for an in-process RAM-based file-system abstraction.
Sample Lucee code
Lucee is derived from the ColdFusion Markup Language (CFML) and therefore has support for both the tag-based and script-based versions of CFML:
Tag example
<cfset myVar = "Hello World">
<cfoutput>#myVar#</cfoutput>
Script example
myVar = "Hello World";
echo(myVar);
Both the above examples will assign the string "Hello World" as the value of the variable myVar
, then output that value to the response buffer, typically for display in a web browser.
Lucee Association Switzerland
The Lucee project is led by the Lucee Association Switzerland, a non-profit Swiss association. The association consists of members who help fund and guide the project.[7]
The project also has enterprise, corporate, and individual supporters; these supporters are not members of the Lucee Association, but help fund and promote the project in exchange for certain benefits.[8]
See also
- Railo, the CFML engine from which Lucee was forked
- Adobe ColdFusion, the original CFML engine
- Open BlueDragon, another Open Source CFML engine
- CFML, the language Lucee uses
References
- "Lucee". Adam Cameron's Dev Blog. 29 January 2015. Retrieved July 9, 2021.
- "Lucee Stable Release 6.0.0.585". Lucee.org. 22 June 2023. Retrieved June 8, 2022.
- "Adobe ColdFusion 2018 Versus Lucee". Fusion Reactor. November 17, 2020. Retrieved July 9, 2021.
- "Is Lucee CFML now better than Adobe ColdFusion?". TeraTech.com. April 30, 2021. Retrieved July 9, 2021.
- "Lucee, new fork of Railo, has launched". raymondcamden.com. February 1, 2015. Retrieved July 9, 2021.
- "Railo And Lucee: Hunka Hunka Burning Questions". Coder's Revolution. January 30, 2015. Retrieved July 9, 2021.
- "Become a Member". lucee.org. Archived from the original on 2015-02-02.
- "Supporters". Archived from the original on 2015-02-21. Retrieved 2015-02-18.