Datamill是一个开源的框架,使用了 Java8和lanbda表达式 ,将函数式编程带入了基于Java的web开发。
作为 最流行的Spring框架 的替代品,Datamill使用了建立在 RxJava 上的函数式编程风格。RxJava是一个异步和事件驱动编程的库,运行在Java虚拟机上。
“现代的Spring可以让你的工作非常简洁,”核心开发者Ravi Chodavarapu说,“你可以使用很少的代码完成web服务并跑起来。但是当你写传统的Spring时,你会发现你的代码因为杂乱的注释变得很糟糕,它们的功能和方法都隐藏在复杂的框架源代码和文档中。”
通过Datamill,开发者可以指定应用的数据流和如何修改这些数据。“不像别的现代Java框架一样,它让数据流的操作可视程度很高。”Github上的 release notes 说。
Chodavarapu回忆起以前是如何花时间去研究Spring的,从简单使用到最后偏离航向。“深入研究Spring给了我一个更好的——更有价值的——顾问,”他说,“一个团队中只有几个人是框架专家,并不是一个可持续发展的方式。这是我想要在Datamill中解决的一个问题。”
Datamill现在尚处于开发阶段,现在,它可以胜任HTTP服务器的工作,可以支持MySQL数据库,返回JSON,Chodavarapu说,“对于响应,框架给你的操作空间是非常有限的,所以如果你想要将你的服务变成RESTful的,你就需要自己严格遵守手册,”他强调,“我们不会在框架层来做对RESTfulness的加强。”
使用Datamill写成的应用将会是一个独立的Java应用。开发者自己写HTTP服务器,指定如何处理请求,服务区如何监听端口。“不像传统的Java EE开发,你需要去配置servlet的容器或者应用服务器一样,从服务器运行的一刻起,你就开始控制了。”Chodavarapu说,这让为服务创建一个Docker容器非常简单,开发者可以直接使用Maven打包可执行的JAR包然后扔到Java容器里面去。
原文: Java’s Spring Framework gets a new competitor
作者: Paul Krill
翻译:赖信涛