Oracle在JavaOne大会上揭开了Project Avatar的面纱

Oracle在JavaOne大会期间宣布了Project Avatar的开源版本。Avatar是一个Web应用程序框架,它关注于构建“现代HTML5应用程序”,但是需要应用程序开发者有“轻微的JavaScript知识”。

Project Avatar最初是在2011年的JavaOne大会上宣布的,它的目标是在基于HTML5的客户端和云Java EE服务之间共享数据。在一个对Oracle的软件开发副总裁Anil Gaur的采访中,Gaur提到了Avatar的意图是确保“Java依然是构建HTML5应用程序最具生产力的环境”。Avatar构建块的开发目标是满足新兴的云计算环境的需要,同时在2012年的QCon NY期间,Arun Gupta将Avatar描述为一个“动态富客户端的完整解决方案”。

使用Avatar构建的应用程序需要在使用Java 8运行时环境且兼容Java EE 7的容器中才能运行。该框架的目标是通过提取客户端和服务器之间进行通信所必须的代码简化HTML5应用程序的开发。另外,视图层的组件能够使用部件(widget)和数据绑定简化前端JavaScript中的数据处理。框架鼓励开发者使用Java EE容器的表达式语言(Expression Language,EL)处理从服务器端返回的动态内容。根据项目文档,“EL表达式的使用消除了在JavaScript中编写控制器逻辑从而使页面动态化的需要”。

Avatar在服务器端的JavaScript代码中使用了Java 8的Nashorn ECMAscript实现。Avatar 脚本容器(Avatar.js)扩展了使用JavaScript编写的服务组件,对服务和应用程序上下文做了集成。驱动框架支持服务器端JavaScript的理念是“JavaScript在企业Web开发中拥有大力扩张的作用”。该项目注意到“这个领域中的各种客户端框架现在让人感到困惑,并且它们正在以非常快的步伐扩张”,这就需要开发者必须拥有“非常强大的JavaScript技能集”。但是这种要求对于企业开发者而言是不太正常的。

该框架将自己的结构模式称为“瘦服务器架构(Thin Server Architecture)”,它的定义是将“Web应用程序中的所有UI逻辑——模型、视图和控制器——都从服务器端移动到客户端”。在这个架构中,后端的责任将从“托管应用程序控制器逻辑”转移为“跨越REST和WebSockets这些基于浏览器的客户端可使用的标准协议”提供数据。

Avatar客户端的设计目标是从应用程序的服务层逻辑中分离出视图组件的责任。项目声明说“视图和服务组件并不是紧耦合的,因此开发人员能够有选择地使用它们”。Avatar的视图层是使用HTML5开发的,并且提供了实现“单页面应用程序”功能的速记符,但是仅需要“最少的JavaScript代码”。根据文档,开发者在构建视图的时候仅需要知道如何“复制并修改示例代码”。

Avatar的源码能够从该项目的Git仓库中免费获取,同时文档中的教程部分还提供了很多示例应用程序。

查看英文原文:Oracle Unveils Project Avatar at JavaOne

你可能感兴趣的:(Oracle在JavaOne大会上揭开了Project Avatar的面纱)