Eclipse XWT 概述[山寨版]

技术标签: Eclipse  UI  Flex  WPF  Swing

     XWT是Eclipse 组织推出的一种新的界面编程语言。

 

     按照传统的Java UI开发技术,比如使用SWT或者Swing开发界面,往往对UI开发人员的技术水平要求较高,前台界面代码和业务逻辑处理代码结合的比较紧密,不能进行很好的分离,代码的重用性也不高,而且也不够灵活,不支持动态调整UI代码,很难集成到开发工具中。

 

     XWT的出现,或许能够改变这个局面!XWT是使用XML作为界面的描述语言的UI框架(国内的一个软件公司也参与了设计开发,名字叫深圳松亚Soyatec),通过UI运行库将XML和SWT/JFace进行相互映射(使用的是Java的反射技术),在运行时将XWT解析成SWT/JFace代码执行。

 

      这算不上什么新技术(这让我想起了JSF,原理很像),不过,它的确简化了UI编程,你可以使用XML来创建可视化的 UI 组件,并且很容易的将前台代码和业务逻辑实现代码进行分离,这样有利于工作的分工。相比较其他标记语言,XWT可以直接描述实例的托管对象

下面是XWT的设计架构:

http://www.blogjava.net/images/blogjava_net/vwpolo/XWTOverview/XWT-Architecture.JPG

      使用XWT作为Eclipse的UI框架可以降低学习的门槛,因为XWT是XML的一种方言,学习起来很简单,有比较好的易读性(如果你不知道XML,那么你还真是一个老朽);XWT对开发工具要求不高,你可以使用轻量级的:记事本、EditPlus、EmEditor等,或者中量级的UltraEdit等,或者重量级的Eclipse、WebSphere,甚至还可以跑到Visual Studio上面开发(如果你不选择Eclipse,那么你得非常熟悉SWT/JFace 的API才行)。

    XWT提供了一些比较高级的特性比如支持动态映射模型,采用了成熟的声明UI解决方案与SWT/JFace完美集成,基于JFace  Data Binding 的强大数据绑定技术,将UI和事件处理进行分离了,提供了资源管理功能,支持标记扩展,支持绑定表达式语言,也让组件复用性大大提高。   

    像这种在B/S架构开发中经常采用的技术,应用到C/S架构的开发,不知道大家能不能接受?这到底是不是一门值得期待和投资的技术?或许时间可以证明一切,当然。学一个新语言之前,了解为什么要学它,很重要! 

来源:网络


智能推荐

eclipse 部署maven(精细版)

eclipse 部署maven(精细版) 近段时间公司换电脑,我重新部署maven,因为好久没有安装maven了,突然碰到好多problem,接下来给大家分享。 一般分为在线部署和离线部署(在线部署太慢,建议不在eclipse内下载) 1首先 下载官方压缩包http://maven.apache.org/download.cgi (建议不要下载最高版本) 2下载完毕解压(记住安装路径) 3配置ma...

Eclipse javap设置,解释版

1. Location表示你安装的jdk中javap的位置(jre不包含javap),此处我用的全路径。 2. Working Directory表示你需要javap用在哪个Eclipse项目中,这里填写${project_loc}就好(可以点击Variables...搜索到该变量),表示当你选择某个项目某个Class时自动将其project路径获取出来。 3. Arguments: 其中bin是...

Maven那点事儿(Eclipse版)

前言:   由于最近工作学习,总是能碰到Maven的源码。虽然平时工作并不使用Maven,但是为了学习一些源码,还是必须要了解下。这篇文章不是一个全面的Maven解析,而是一个简单的介绍,包括Eclipse中如何使用Maven,如何利用Maven工程学习。   循序渐进,你将会学到下面的知识:   maven的相关书籍!   什么是maven?   如何在eclipse中使用maven?   ma...

2020版eclipse配置tomcat

新下载的 Eclipse 2020-03 版本,居然无法配置Tomcat服务器 !!! 发现 Window–Preferences中找不到Server选项 ! 原因:缺少JavaEE组件 解决方法: Help -> install New Software Work with下拉选择2020-09-http… -> 展开 Web,XML,Java EE and...

eclipse常用技巧(短篇版)

一、中英文切换 首先你要确认你安装了中文包,其实中文包包含了全世界绝大部分地区的语言,只是调用了其中的中文简体而已。 然后在桌面的eclipse的快捷方式的目标位置添加**-nl “区域语言代码”**,再次启动即可完成语言的切换。中文:zh_cn;英文:EN 不过还是建议使用英文版的,中文的不适合用来开发,只适合初学者。 设置界面 在eclipse中的一切界面的设置都是在W...

猜你喜欢

2020.9版Eclipse安装教程

2020.9版Eclipse安装教程 1官网下载执行文件 2安装步骤 2.1选择一个自己想要安装的目录 2.2打开执行文件,如图 2.1选择自己安装的目录 3启动eclipse 3.1选择自己安装的目录 3.2到此安装完成 1官网下载执行文件 下载地址: https://www.eclipse.org/downloads/. 2安装步骤 2.1选择一个自己想要安装的目录 最好是英文目录 不然会引起...

Mac版eclipse安装SVN

本文图文超详细讲解Mac版Eclipse如何安装Subclipse和Subversive两种SVN客户端。 eclipse常见的SVN插件有Subclipse和Subversive,Subclipse是由Subversion核心代码提交者开发和维护并且跟Subversion保持一致的版本而且风格跟TortoiseSVN一样,而Subversive则是由eclipse官方维护。 需要注意的是这两种客...

[Eclipse]GEF入门系列(二、GEF概述)

本文转载自:https://www.cnblogs.com/bjzhanghao/archive/2005/02/13/104045.html 作者:bjzhanghao 转载请注明该声明。 在前面的帖子已经提到,GEF(Graphical Editor Framework)是一个图形化编辑框架,它允许开发人员以图形化的方式展示和编辑模型,从而提升用户体验。这样的应用程序有很多,例如:UML类图编...

详解 KDTree

简介 kd树(k-dimensional树的简称),是一种分割k维数据空间的数据结构。主要应用于多维空间关键数据的搜索(如:范围搜索和最近邻搜索)。 一个KDTree的例子 上图的树就是一棵KDTree,形似二叉搜索树,其实KDTree就是二叉搜索树的变种。这里的K = 3. 首先来看下树的组织原则。将每一个元组按0排序(第一项序号为0,第二项序号为1,第三项序号为2),在树的第n层,第 n%3 ...

linux 环境下设置Kettle的转换,作业定时执行简单操作

1,Centos目录下面创建三个文件(kettleFile--存放kettle的转换或者作业;kettleLogs--存放运行中的日志;kettleShs--存放任务定时的shell文件) A 2,对应的shell定时文件设置: ①Kettle的转换文件对应的shell文件--test_tr.sh(kettle中的pan.sh是针对转换的) #!/bin/bash currTime=$(date ...

问答精选

How does Gmail recognize email signatures (alternatively, "What's the best way to recognize email signatures?")

Gmail automatically greys text that looks like a signature. Anyone have any guesses how it does this? (I've noticed that it depends on the presence of the sender's name, but I think that's only part o...

Identifying Cats vs Dogs: Error in Flattening in Keras Tensorflow

I am working to further develop my understanding in Keras and have come upon a confusing error. I am using the most recent packages through Anaconda. The error appears to be with model.add(Flatten()),...

Get min and max values for getOrientation on accelerometer?

I am currently working with the accelerometer on Android, and have run into an interesting situation. I need to find out the maximum values for the following, WITHOUT requiring the end user to flop th...

Collapse all list and expand only the selected list in vuetify

I have a v-list-group with 2 sub-group inside it like in the image shown below. Whenever I click the parent list-group other groups are getting collapsed, but when I click a sub-group inside a list-gr...

Codestyle in SonarQube

We are using SonarQube for analyzing an Symfony Project. In the IDE(PHPSTORM) we setup a predefined Codestyle (PSR2) and the same in SonarQube. SonarQube complains about the following code style and s...

相关问题

相关文章

热门文章

推荐文章

相关标签

推荐问答