Java微框架是轻量级Java框架的延续

    任何语言都有优缺点。对Java而言,它安全、通过严格测试、向后兼容,但却牺牲了部分灵活性和简洁性。因而,有人就尝试寻找方法,以便能规避Java的臃肿,同时又利用JVM的强大功能。第一波努力围绕轻量级Java框架展开,而如今,第二波努力已经出现,即Java微框架。近日,软件分析公司Takipi探讨了这一新趋势。

    随着语言的成熟,每次发布都会增长一些库。时间一久,对于大部分项目而言,包含在这些库中的许多功能都不是它们真正须要的。微框架就是要解决这个问题,其思想是:建立一个专用而又灵活的解决方案,知足生产过程的基本需求。

    Java微框架是轻量级Java框架的延续。它们多是当今最轻量级的Java开发方式。虽然目前应用范围有限,但已经有在生产环境中成功部署的案例。Josh Dreyfuss来自Takipi的产品营销部门,他介绍了三种当前较为流行的Java微框架。

    Ninja是一个用于建立Web Service和应用程序的全栈Java微框架。它综合Play和Ruby on Rails的优势,并以纯Java格式提供。做为一个综合性软件栈,Ninja提供了大量开箱即用的功能,如JSON解析、HTML渲染,使得它简单易用。在扩展性方面,Ninja采用了无状态设计,只须要增长服务器就能够实现横向扩展。不过,内置大量功能和简单易用的代价是,用户选择减小,工具自己占用空间较大。总之,Ninja从新设计了Java框架,提供了简单、可扩展、易于使用的功能。感兴趣的读者能够查看Ninja的入门教程。

    Spark(注意不要同Apache Spark混淆)的设计初衷是,能够简单容易地建立REST API或Web应用程序。它是一个灵活、简洁的框架,大小只有1MB。Spark容许用户本身选择设计应用程序的模板引擎以及选择最适合他们项目的库,好比,HTML解析功能就有Freemarker、Mustaches、Velocity、Jade、Handlebars、Pebble或Water等选项可供选择,并且不多须要配置或样板文件。不过,灵活简单的代价是,用户可选的功能减小。总之,Spark剔除了许多Java的臃肿之物,提供了一个最小化的、灵活的Web框架。但因为精简程度较高,它缺乏了一些功能,不适合用于大型Web应用程序的开发。感兴趣的读者能够查看Spark的入门教程。

    Jodd是一个Java微框架、工具和公用程序的集合。因此,它同上面两个框架可能不具备直接可比性,好比,Spark能够做为Jodd的一个组件。Jodd的目标是减小许多Java工具和框架的空间占用,提升它们的速度,提供一个超级轻量级的框架和工具精选集合。Jodd中的每一个库都是单独提供的,用户能够选择使用。这样一个提供若干功能的框架集合彷佛与微框架背道而驰,但实际上,Jodd大小总共不过1.5MB。总之,Jodd是一个框架和工具的集合,用户能够对它们自由组合,造成本身的解决方案。但同时,这种灵活性也增长了使用的复杂度。
相关文章
相关标签/搜索