Lucee

Lucee
Developer Lucee Association Switzerland
First appeared 29th January 2015 [1]
Stable release
5.0.0.252 [2] / 25th May 2016 (25th May 2016) [3]
Implementation language Java
OS Windows, Linux, Unix, Mac OS X
License LGPL v2.1
Filename extensions .cfc, .cfm, .cfml
Website lucee.org
Influenced by
ColdFusion Markup Language

Lucee is open source software that implements a lightweight dynamically-typed scripting language for the Java virtual machine (JVM), facilitating the rapid development of web applications that compile directly to Java bytecode. Lucee is compatible with contemporary CFML script and tag language variants, and provides configurable support for legacy CFML.

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.[4][5][6]

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. The current list of members is Daemon, mso, Ortus Solutions, Pixl8 and Rasia.[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]

Release history

A complete history of releases can be found on Lucee's JIRA bugtracker.

Features

Database access

Lucee has built-in support for the following databases:

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:

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.

Virtual filesystems

Lucee supports multiple virtual file systems—built-in abstractions of various local and remote resources—including zip, HTTP, FTP, S3, and RAM. These allow the Lucee server and developer to treat access to an abstracted resource in the same manner as a local file system.

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.

See also

References

This article is issued from Wikipedia - version of the 11/17/2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.