日期:2014-05-16 浏览次数:20661 次
SmartClient Ajax platform原本是一个商业产品,现在基于LGPL许可发布成为一个开源项目。
SmartClient Ajax平台包括:一个不需要安装的DHTML/AJAX客户端引擎;一套胖客户端UI组件和服务;客户端与服务器数据绑定系统。
SmartClient具有的特性:
1.客户端Ajax:在SmartClient中所有的表示层职责和所有HTML生成都在浏览器中完成。HTML的生成或表示层职责都不需要通过服务器来处理。一旦SmartClient加载完成,在浏览器与服务器之间只有数据在传输。
2.多平台支持:SmartClient能够与任务服务器平台相集成通过一些跨平台标准比如:REST和WSDL web services。SmartClient还包含一个Java集成服务器用于加速与Java服务器集成,和对一些流行Java框架的支持如Java Beans/EJB,Spring,Struts与Hibernate。
3.增加升级: SmartClient组件能够很容易的嵌到现有应用程序中。添加Grids、forms、trees、dialogs、wizards和其它SmartClient组件都不会使现有架构发生变化。
4.面向对象:SmartClient提供面向对象的JavaScript APIs,其所有组件都是通过XML或JavaScript创建。采用标准的面向对象模式使得你可以很容易扩展、定制和创建新的SmartClient组件而且不需要学习底层的Ajax技术或作跨浏览器测试与调试。
5.元数据驱动。
6.AJAX MVC(类似于Struts for AJAX)。
此外通过Adobe AIR平台,Firefox extensions,Google Gears和其它技术,SmartClient还支持包括离线应用,提供SmartClient应用程序桌面安装版本(不需要改动任务代码),兼容mobile端浏览器Safari,Opera和IE等。
smartclient基本架构
SmartClient组件库架构从下到上分为4层:
基础支撑层:扩展了javascript语言体系,使他成为一种能够满足企业应用编程实战的语言。添加了真正基于类的继承体系,对父类的多态调用,复杂数据结构,日志和调试打印机制,将javascript从一种轻量的脚本语言,提升为一个能适应企业级开发的正规编程环境
虚拟浏览器层:处理了web富客户端编程最难的部分,绕过数量巨大的、不同浏览器实现上的bug,在它所支持的浏览器类型中,提供了跨浏览器类型、版本、兼容模式的,行为一致的实现。
应用服务层:提供组件层和应用层共享的高级服务。这种共享根本上减轻了富客户端编码的数量和复杂度
应用组件层:提供了预定义的可视化组件,范围包括从简单按钮到复杂的数据敏感的表格组件。