Advanced SWT widget Eclipse project, NatTable proposed
Large data grid open source project proposed for Eclipse community.
A new open source project that aims to simplify the SWT data grid has been proposed under Eclipse’s supplementary SWT widget Nebula project
Distributed as an OSGi bundle, NatTable is a custom SWT data grid widget designed to handle sophisticated, performance-sensitive data visualisation requirements, aiming to do what others cannot and much, much more. The proposal recognises the other options available but cites ‘lack of features and flexibility in complex and customisable interfaces and resource utilization issues when attempting to display very large result sets’. NatTable aims to eradicates these issues once and for all.
The goal of NatTable within Nebula is to continue to provide a powerful and flexible data grid implementation for applications with complex data grid requirements and a framework that can be altered to the user’s desire.
NatTable already has plenty of history behind it. Started as an open source project by Andy Tsoi in 2007 and currently led by Edwin Park, NatTable has more than a dozen committers from various companies contributing to the codebase over the years.
It was originally targeted towards implementing financial trading systems, and some of its initial design goals were to support operation over data sets with hundreds of thousands of rows and hundreds of columns, with data being updated in realtime with no perceived slowdown in performance. A monumental task, but NatTable has also been leveraged in other applications.
Eclipse was chosen due to its role at the centre of SWT activity and being an ideal community to harness clients. Initial module contribution for the NatTable core will come from:
- SWT (EPL)
- JFace (EPL)
- Eclipse Core Commands (EPL)
- Eclipse Core Runtime (EPL)
- Apache Commons-Lang (Apache License V2.0)
- Apache Commons-Logging (Apache License V2.0)
In terms of architecture, NatTable is designed around the concepts of layers being placed on top of each other or next to one another.
The project is currently in the proposal stage and is canvassing for feedback from the Eclipse community.