Ceylon 1.1 comes with dynamic interfaces, use-site variance, OSGi and Vert.x deployment, ceylon.promise
module, IDE enhancements, compiler performance improvements and others.
Gavin King, leader of the Ceylon project at Red Hat, has announced version 1.1 of the language. Besides compiler performance improvements and bug fixes of the previous releases Ceylon comes with a number of new features in several areas.
The language has been extended to support:
- Dynamic interfaces for wrapping native JavaScript APIs
- Use-site variance in order to provide complete interoperability with Java generics
- Type inference for parameters of anonymous functions
- An optimized
Byte
class
In terms of modularity, Ceylon .car files now include OSGi and Maven metadata so they can be executed in OSGi containers. Ceylon modules can also be deployed to Vert.x 2.1.x.
The IDE has been enhanced with
- code formatter
- 7 new ways to refactor code
- quick fixes
- IntelliJ-like "chain completion"
- a new Explorer view
- JDT keyboard accelerators
- Quick Find References, Recently Edited Files, Format Block, etc.
The following modules have been added to the SDK:
Promise
, providing cross-platform support for promisesLocale
, providing support for internationalizationLogging
, a logging API
For the future, King outlined the following roadmap:
1.1.5
- Serialization, which is almost done. This will allow to “transport Ceylon objects between a JS-based client and a JVM-based server.”
- Improved HTML module. It allows writing HTML templates for both the server and the client
- Transactions module based on Narayana Transaction Manager
1.2
For this release, King plans to address the following issues:
- Java EE integration. When this is done, support for various frameworks can be added.
- UI controls - data model bindings
- DB query languages
- Multiple constructors
While Android and IntelliJ support are desirable, King did not provide any timeframe for them. Also, King is open for targeting the Dart VM, but nothing has been yet decided.