技术开发 频道

RIA的未来:Direct RIA

  Direct RIA编程模型

  Direct RIA编程模型包括Direct UI访问,Direct数据访问,Direct实时数据和Direct客户端控制。

  Direct UI访问

  由于应用程序运行在服务器端,应用程序可以直接访问窗口小部件(widget),我们用ZK(http://www.zkoss.org/)举一个例子,我们在服务器上创建一个Java 二维对象,只需要将这个对象放到窗口小部件中,用户就可以直接在他们的浏览器中看到这个图形。

1 <image id="image">
2 <button onClick='draw(10,10,10,10)'/>
3   <zscript>
4   void draw(int x1, int y1, int x2, int y2) {
5   LiveImage li = new LiveImage(400, 300, LiveImage.TYPE_INT_RGB);
6   Graphics2D g2d = li.createGraphics();
7   Line2D line = new Line2D.Double(x1, y1, x2, y2);
8   g2d.draw(line);
9   image.setContent(Images.encode("test.png", li));
10 }
11 </zscript>

  使用Direct RIA后,开发人员不用再为客户端编程而烦恼了,换句话说,即使不学习任何客户端编程,也可以快速开始一个项目。客户端编程工作量急剧减少。

  Direct数据访问

  此外,应用程序可以很容易访问服务器端资源,包括数据库和Web Service,因为它们前端和后端都运行在服务器上,下面显示了一个简单的从数据库获得数据的示例,使用ZK框架将数据显示给用户,当用户点击按钮后,就会显示一条欢迎消息。

1 Hi. <label id="name"/>
2 <button>
3   <attribute name="onClick">
4   User usr = Database.getUserById(1);
5           name.setValue(usr.getName());
6   </attribute>
7 </button>

  创建Web应用程序的最大挑战之一是异步编程模型,它包括从服务器获取数据,更新DOM树的各种步骤,但在Direct RIA中,前端和后端是无缝集成的。异步通信变少了。

0
相关文章