Datamill Offers Spring Alternative
- By John K. Waters
Datamill, an open-source Java framework for Web applications that uses functional reactive programming (FRP), has emerged as an alternative to the Spring Framework.
FRP is a model of programming with asynchronous data streams (reactive programming) that uses a functional programming approach. Functional programming emphasizes the evaluation of expressions rather than the execution of commands. Datamill is built on RxJava (Reactive Extensions for the JVM), which is a library for composing asynchronous and event-based programs using observable sequences for the Java Virtual Machine.
The new framework is being developed as a reaction to some limitations of the Spring Framework, explained lead datamill developer Ravi Chodavarapu in a blog post. Unlike other modern Java frameworks, he wrote, datamill makes the flow and manipulation of data through an application highly visible by using the FRP style on RxJava.
"This allows you to be explicit about how data flows through your application, and how to modify that data as it does," Chodavarapu wrote. "At the same time, if you use Java 8 lambdas (datamill and RxJava are intended to be used with lambdas), you can still keep your code concise and simple."
Datamill applications are meant to be started as standalone Java applications, Chodavarapu wrote, where the developer explicitly creates the HTTP server, specifies how requests are handled, and has the server start listening on a port. "Unlike traditional [Java EE] deployments, where you have to worry about configuring a servlet container or an application server, you have control of when the server itself is started," he wrote.
Datamill is still in the early stages of development, but it has been used to build several large Web applications, Chodavarapu said in the GitHub release notes.
Pivotal's Spring Framework continues to be a strong brand among Java developers, said IDC analyst Al Hilwa in an earlier interview, and it's one of the most popular Java application frameworks on the market today. Spring is a layered Java/J2EE framework based on code published in Rod Johnson's book Expert One-on-One Java EE Design and Development (Wrox Press, October 2002). Johnson also wrote the first version of the framework and co-founded SpringSource, the company that supported it commercially.
John K. Waters is the editor in chief of a number of Converge360.com sites, with a focus on high-end development, AI and future tech. He's been writing about cutting-edge technologies and culture of Silicon Valley for more than two decades, and he's written more than a dozen books. He also co-scripted the documentary film Silicon Valley: A 100 Year Renaissance, which aired on PBS. He can be reached at [email protected].