论坛首页 Java企业应用论坛

Web2.0时代的新秀 - Nexaweb

浏览 12999 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-07-29  

Web2.0时代,用户对UI交互体验对Web设计上提出了更高的要求,各种各样的Rich Client技术层出不穷,有基于Javascript的,有基于Flex的,也有基于Java Applet的...

最近接触到一种新的基于Web2.0应用开发的技术,叫做Nexaweb(http://www.nexaweb.com),我们可以把他理解为一个简易的开发平台或框架。Nexaweb的特点就是开发者在一个基于Eclipse的插件集提供的界面上,使用拖拽的方式来构造页面,而最终生成的代码将是一个基于XML的文件,取名为XAL。事实上,接触过JasperReport+iReport的人,应该不会对这种技术感到陌生。其示例内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<xal xmlns="http://openxal.org/ui/html">
	<rootPane>
		<freePane height="768px" width="1024px">
			<table height="360px" width="500px" x="30px" y="30px">
				<column>
					<header text="Column #1" width="100px"/>
				</column>
				<column>
					<header text="Column #2" width="100px"/>
				</column>
				<row>
					<cell text="Row 1 Cell 1"/>
					<cell text="Row 1 Cell 2"/>
				</row>
				<row>
					<cell text="Row 2 Cell 1"/>
					<cell text="Row 2 Cell 2"/>
				</row>
				<row>
					<cell text="Row 3 Cell 1"/>
					<cell text="Row 3 Cell 2"/>
				</row>
			</table>
			<button height="25px" text="Button" width="100px" x="30px" y="410px"/>
		</freePane>
	</rootPane>
</xal>


以上的例子只是一个非常简单的示例,XAL所有的内容远非如此。比如,我们还可以在其中定义各种类型的Datasource,Webservice连接,事件管理的MCO,页面组件相关的XModifier和Macro等。XAL的目的就是让你所见即所得,可能你自己需要写的Java代码或JSP页面寥寥无几,所有的东西都由Nexaweb Platform全权处理了。无疑,这让我们的Web应用开发更加节省时间。


下面我就介绍一下Nexaweb的主要特点:

1. 灵活的Rich Client展示
由于XAL是基于XML来构建的,所以客户端展示模式可以多种多样。Nexaweb目前主要采用的主要是基于Javascript的Dojo,还有就是Java Applet。这里不讨论各种Rich Client技术的孰优孰劣,我们需要知道的是这两种展示可以被所有的浏览器所支持。

这里值得一提的是,关于XAL文件解析的位置。一般的思路,也是许多类似平台的思路,我们会倾向于将XAL文件放在服务器端去解释,不管是从安全性和效率性方面考虑都是应该的。但是恰恰相反,Nexaweb是将XAL拿到客户端去解释成相应的Dojo对象或者Applet组件。为什么这样做?这主要是因为Nexaweb是要适用于所有的开发平台,不仅仅是Java,还有.Net的等等。

2. 丰富的界面组件支持
对于Applet在Web界面上的展示效果,这是毋庸置疑的,大家在各种各样相关的例子中都有过类似的体验。对于Dojo,我想很多人都有过接触,知道Dojo本身也提供了丰富的UI组件库,此外,Nexaweb也在基于Dojo的基础上,发展出了XAP(目前是Apache下面的一个开源项目,有兴趣的可以去了解),还有就是Dojo.E,定制了很多强大的UI组件,大大提高了Dojo在web上的展示能力。

3. 巧妙的事件处理机制
既然是一个静态的XAL文件,Nexaweb如何处理事件呢?这里主要用到Macro和XModifier。Macro主要用来处理客户端事件,你可以把他看作是Excel中的宏,Macro的主要作用就是进行客户端组件的控制,如某个组件的某个属性的修改,导致何种的界面效果。而XModifier是用来处理Server端的响应,如果是基于Java的应用,一般系统会自动引导你去建一个扩展一个BaseMCO的类,实现里面相应的方法就OK了。

4. 强大的框架支持
Nexaweb本身集成了Webservice的功能,这样会让你很方便的去访问远程的服务。当然,Nexaweb也加入了对Struts, Spring, Hibernate/iBatis等流行框架的支持。

5. 对MDA UML2良好的支持
Nexaweb同样集成了MagicDraw 和 OpenArchitectureWare 等插件的支持。

6. 支持基于VB, C++ Builder应用的移植
由于Nexaweb的XAL的特殊性,Nexaweb可以支持把传统的VB, C++ Builder的应用移植到Nexaweb中来,部署成为一个Web应用。


我现在也是正在学习这个框架,但是自从体验过一次实际开发后,才知道原来开发一个Web2.0的应用只需要短短的几分钟,以前可能需要几个小时的工作,在Nexaweb却一会儿即可完成。

现在Nexaweb主要还是在欧美和日韩有庞大的客户群,而且都是大型的企业。对于小企业呢,可能不会舍得投入这种成本,而选择用一些免费的开源框架去做一些企业应用。

 

   发表时间:2008-07-29  
我认为这个技术本身不是web2.0的一部分,而是一种xml模板技术,本质和jsf没有区别,他的web2.0特性不过因为其提供的dojo的render,我怀疑其能否meet互联网的需求,至于企业领域,又如何和逐渐成熟的jsf竞争喃。
0 请登录后投票
   发表时间:2008-07-29  
一个框架而已。看看Swing有多少个同样目的的框架,再看看有几个被认可的。
0 请登录后投票
   发表时间:2008-07-30  
slaser 写道
我认为这个技术本身不是web2.0的一部分,而是一种xml模板技术,本质和jsf没有区别,他的web2.0特性不过因为其提供的dojo的render,我怀疑其能否meet互联网的需求,至于企业领域,又如何和逐渐成熟的jsf竞争喃。


jsf本身局限于java的应用,而Nexaweb的发展方向是对所有类型的server都支持的富Client。

还有一点就是,Nexaweb本身是一个框架,在集成其他的框架方面提供了比较快捷的入口,而这一点,jsf现在不会有,将来也不会有。

让程序员轻松快速的开发是Nexaweb的出发点。
0 请登录后投票
   发表时间:2008-07-30  
biubiu 写道
一个框架而已。看看Swing有多少个同样目的的框架,再看看有几个被认可的。


的确,我也不是很看好Swing在web上的应用,但是,Swing的用户体验肯定也无可厚非。

Nexaweb的Java页面展示虽然也是基于Swing, Awt,但是他的的确确让程序员从繁琐的页面控件布局,彻彻底底从页面代码堆里面爬出来了。

你写的基于Java Applet的应用,基本上看不到Swing的代码,所有的这些都是Nexaweb帮你做了。
0 请登录后投票
   发表时间:2008-07-31  
插件怎么加到 MYECLIPSE里呢?
0 请登录后投票
   发表时间:2008-07-31  
我还是看好jsf,结合netbeans的vwp,生产力很高。
0 请登录后投票
   发表时间:2008-07-31  
49271743 写道
插件怎么加到 MYECLIPSE里呢?

Nexaweb的出发点是做一个web的project,他的理念应该就是通过其自身的平台自动生成一个web应用,然后一步一步引导你做下去。

不能把Nexaweb仅仅理解为一个插件,所以也谈不上怎么加到MyEclipse中。
0 请登录后投票
   发表时间:2008-07-31  
这个与Mozilla的XUL或者微软的XAML有什么不同呢?
0 请登录后投票
   发表时间:2008-08-01  
dennis_zane 写道
这个与Mozilla的XUL或者微软的XAML有什么不同呢?

表示风格的确有点类似XUL,个人觉得XUL是一个WEB ui的展示标准,而Nexaweb却是一个开发WEB应用的工具。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics