继往开来 吐故纳新
日历
网志分类
· 所有网志 (1024)
· 个人作品 (64)
· 软件设计 (33)
· 面向对象编程 (22)
· JavaAPI (44)
· Java开源工具 (36)
· Swing (34)
· Java语法细节 (39)
· 样式表CSS (12)
· XML (9)
· J2EE(JavaEE) (23)
· 算法数据结构 (64)
· 正则表达式 (4)
· 软件知识 (6)
· Java线程 (9)
· Web开发.Jsp/Servlet/Struts (20)
· 程序随想录 (7)
· Hibernate (7)
· Spring (5)
· J2SE 高级 (2)
· J2SE 高级 (0)
· Web开发.Ajax (16)
· Web开发.JavaScript (48)
· DB4O (2)
· Web开发.CSS/Html (22)
· C# (20)
· ERP (4)
· JDBC (1)
· 编程资源 (16)
· 编程感悟 (29)
· DB/Sql (13)
· VB (29)
· VC (2)
· 桌面脚本 (3)
· 新兴软件 (3)
· 英语学习 (21)
· 网文转载 (163)
· 职场风云 (40)
· 诗词歌赋 (32)
· 生活感言 (79)
· 生活常识 (0)
· 奇文共赏 (15)
· 财经纵横 (9)
· 未分类 (17)
站内搜索
友情链接
· 歪酷博客
· 我的歪酷 非非共享界
· 偶要雷锋
· 豆瓣
· nczonline
· 当当网
· easyjf中文站
· Donews
· 天极Java文章列表
· W3CSchool
· taiten的BLOG
· Dojo中国
· Dojo
· Extjs.com
· Lifehack中文网志
· JaveEye的一个AS专题
· Banq's JDon
· Java 中文网址大全
· 梦想Java
· 360Doc个人图书馆
· java开源大全
· 我在硅谷动力的软件下载站
· 站长中国
· 随意贴
· CSS教学素材站
· java 参考中文站
· 面向构件与SOA社区
· 彩字生成
· 派派小说论坛
· 如坐春风
· 英语学习网
· BBC CHina
· www.dlbang.com
· 古文竖排格式在线转化工具
· 免费家谱
· 图片上传基地
· 风景壁纸
· 和风细雨
· MyC#BlogInCsdn

订阅 RSS

0251040

歪酷博客

开此博一为经验积累,二为资料收集,三为同道交流,四为资源共享.
« 上一篇: 【转载】28寸永久骑行上海---西藏游记 下一篇: 【转载】一个IT强人的奋斗历程 »
圣阳 @ 2008-07-15 13:01

转载地址:
http://www.javaread.com/article/show/115 

正值Javeline Platform的八年之期,其创立者Ruben Daniels为这头纸象写了一篇出师表--在向Ajax世界发起冲击之前,Daniels在他的blog上向Javeline的支持者、向Ajax世界的建造者们宣读了这头纸象的今生前世以及它未来将要涉及的领域。八年前,Ajax尚无一席之地的时候,这头纸象已经在象牙塔中悄然诞生;终于在今日,它带着一身期望与来自世外桃源的奇思妙想走出了象牙塔。作为Ajax世界的高龄新秀,能否用它自身独特的构思为Ajax世界注入新的动力,让人拭目以待。
  
Javeline到底是怎样一个平台,Daniels在他的博文中也没能用一句话概括出来,而是通篇介绍了Javeline的众多特性,这些特性也确实无法一个通俗的名词或短句来概括。Daninels这样自问道:“什么是Javeline Platform呢?Jeveline是否可以作为一个独立的、不依赖于其他JavaScript库的客户端框架用于开发javascript应用?我正试着推断Javeline框架究竟是什么以及怎样将它与其他框架加以区分,如DojoYUIjQuerySproutcore。”
  
可以先宏观地了解一下Javeline的架构。Daniels虽然自称是一个从不在意那些纷乱复杂的设计模式,但从Javeline的架构设计来看(如下图),他还是很好地在客户端实现了MVC模型。

  
在这样的基础架构之上,DanielsJaveline PlatFormJPF)所能解决的问题(或特点)划分为两个范畴:1)令人愉悦的用户界面(从外观和操作体验两个角度);2)开发利器。他整理了一份不完整列表,但基本可以描述JPF在这两个范畴内的特性:

令人愉悦的用户界面
外观


50UI组件

可以在SDK中找到像treelisttab这样的组件。每个组件有多种皮肤。

完全可控的皮肤

每种组件全面支持换肤(HTMLCSS)。这使得它很容易提供一个自定义外观的UI或者为用户的应用提供商标化支持。创建一个WindowsOSXOffice2008iPhone或者Coca Cola的外观都是一样的轻松。

运行时皮肤切换

通过点击按钮来改变一个组件或整个应用的外观,而无需重新加载应用。

运行时预言切换

通过点击按钮来轻松地切换应用的语言。页面上的语言立即切换到所选语言。



操作体验


实时的验证反馈

当发生错误时直接给予用户通知。它使得UI交互变得快捷且愉悦。

速度优化

Ajax世界中,速度和规模可伸缩性是两个困难的问题。JPF解决了这个问题,并在几个商业项目中得到了证实。

拖拽

当用户拖拽一个界面元素,JPF确保实际上拖拽了有内在关联的对象。这使得UI总是直觉式的,帮助开发者扫除了烦恼。

撤销/重做

撤销/重做对于很多高级应用是一种重要的交互特性。JPF提供了可以简单调用的API来实现这一特性。




开发利器



包含了标准皮肤设置

JPF提供了标准皮肤设置。目前包含了类似Windows外观的设置。JPF 0.99将包含JPF特有的皮肤设置。JPF 1.0将包含OSX的皮肤设置。

声明式的GUI创建方式

可以像编写简单的HTML一样来装配GUI(例如,<j:jml/>)。非常容易。

智能绑定

智能绑定提供一种手段来编码如何让数据被转化为最终展现,以及编码如何让用户变更返回给数据。它也可以用来把这些变更同步到服务器。

属性绑定

这类绑定能够连接一个textbox的值到一个滑块位置。当滑块移动时,可以看到滑块位置数值被设置到textbox

三种不同的布局解决方案

JPF提供AnchoringAligmentgrid(类似HTML中的table)布局。

停靠窗口

类似Visual StudioAptana和其他IDE的停靠窗口。

抽象数据源逻辑

JPF提供一种一致的方式来通知API往哪里回复和存储数据。

事物管理

用于UI的事物管理在希望编辑被加载数据的子集时很有用,如此这个动作能够被作为原子动作取消或销毁。JPF可以使开发者很容易实现这类事物管理。

状态管理和后退按钮支持

这个特性在希望实现一个看起来与传统web站点功能相似的JPF应用时非常有用。它帮助开发者获取不同页面的控制和浏览状态。

脱机支持

JPF能够检测出应用是否丢失了到internet的连接。它将保存所有到服务器的通信会话。当连接被重新建立,它将会把变更同步到服务器。

声明式的表单校验

通过设置input控件上不同的属性,可以制定数据应该遵循哪些约束。当这些约束被违反时,错误信息将被显示在界面上。

后端整合

JPF结合TelePort,一个专门被设计用来与任何外部源通信的库。它能够适应多种协议:XML-RPCJSON-RPC,其他的SOAP协议。也可以简单地使用REST来返回或发送数据。

使用XForms标准创建表单

XForms来创建表单声明有一些优势。JPF部分地支持XForms规范。计划在未来提供完整支持。

Portal/Dashbord解决方案

这是一个用来创建哪些类似iGoogledashboards解决方案.portal控件通过window组件从xml文件中加载配置和主体,它们一起工作得很好。它是一个非常好的解决方案,已经被部署在French Canadian Web Account System of Vonage系统中。

同步客户端之间的数据

这是JPF构建在体层的一个核心特性(如撤销一样)。它使用的某些特性被称为远程智能绑定(Remote SmartBindings)。它可以序列化数据变更并通过服务器将它们发送到其他客户端。

UI局部加载/渲染

可以配置在初始化阶段哪部分UI被渲染,以及哪些在用户需要使用时被加载。并且可以选择从服务器延迟加载一些额外的用户元素。这为开发者怎样应用功能提供了灵活性。

HTML部分数据绑定模板的JSLT/XSLT支持

JSLT是一种类似于XSLT的转换XML方式,但语法更接近JavaScript,能够调用自定义JS函数。这使得转数据换感觉起来更像一种模板语言,如PHP

数据分批加载

Ajax的优势是可以仅加载所需的数据。因此可以每次加载少量数据,使数据传输更快。

跨平台

JPFSafari 2+Opera 9.1+FF1.5+ IE6+上经过测试。所有功能已经被抽象为不考虑浏览器差异而直接运行。

内建调试工具

JPF试图使直接进行调试称为可能。调试界面显示日志,提供堆栈跟踪。

LGPL许可

提供开源许可。



  通过这两个列表基本可以了解到
JPF所关注的范畴。但JPF也有它所不去解决的范畴。

JPF不解决的问题


动画/特效

JPFGUI组件提供了一些动画类。但是并不提供专门的动画效果库。

ScriptaculousYUIMOO.FXjQuery plugins

JS面向对象编程

JPF增加了析构器,一个事件系统,属性绑定和JavaScript类继承。仍然需要其他库来给予开发这专门的OO编程环境。

PrototypeMootools

HTML选择器和处理

 

jQueryDojo

语法高亮

 

SyntaxHighlighter

图表,2D图形(SVG/VML/Canvas)3D图形

 

DojoejschartFlashSilverlightJavaFx



    从
Daniels所描述的这些特性来看,Javeline的思路确实非常新颖,历时八年创造出的纸象似乎真的可以给Ajax世界带来一缕春风,或许会像Rails给整个软件开发界带来的敏捷思想革命一样,帮助Ajax打开敏捷之门。在象牙塔中悄然诞生的纸象,熬过七年之痒刚刚走出象牙塔的纸象,到底能为Ajax世界带来哪些改变,让我们拭目以待。
    目前Javeline已经发布了0.98版。更多信息,可以到官方网站http://developer.javeline.net/ 了解。
延伸阅读
Ext GWT v1.0正式发布,这是Ext GWT第一个正式发布版本。 Ext GWT(原名MyGWT)是一个开源的Google Web Toolkit的扩展,它帮助开发人员非常容易地创建AJAX Web应用。Ext GWT是100%基于GWT的,不需要任何额外的JavaScript或其他第三方j......
JQuery Progress Bar是基于JQuery开发的进度条插件,秉承了JQuery的简约哲学。不仅容易使用,而且可以轻松定制外观。对于使用了JQuery框架的项目来说,需要使用进度条控件时这是一个不错的选择。        JQuery Progress Bar与常规插件一样,只要用选......
基于GWT和Ext衍生的开源项目GWT-Ext发布了2.0.4版本。因为Ext变更License的原因,2.0.4只能支持Ext 2.0.2。GWT则支持最新的 1.5 RC1,同时支持刚刚火热出炉的Firefox 3。从GWT-Ext项目截图来看,除了整合GW和Ext,还整合了Yahoo YUI的......


评论 / 个人网页 / 扔小纸条
* 昵称

已经注册过? 请登录

新用户请先注册 以便能显示头像及追踪评论回复

Email
网址
* 评论
表情
 


 

分类小组论坛
杂谈 , 娱乐、八卦 , 文学、艺术 , 体育 , 旅游、同城 , 象牙塔 , 情感 , 时尚、生活 , 星座 , 科技

请注意遵守中华人民共和国法律法规, 如威胁到本站生存, 将依法向有关部门报告, 同时本站的相关记录可能成为对您不利的证据.

相关法律法规
全国人大常委会关于维护互联网安全的决定
中华人民共和国计算机信息系统安全保护条例
中华人民共和国计算机信息网络国际联网管理暂行规定
计算机信息网络国际联网安全保护管理办法
计算机信息系统国际联网保密管理规定