JSCL 简介

一、设计思想

  • 开放性框架,轻松集成常见的第三方 js 和 ajax 代码。(不重复发明轮子,只做别人没做的或做的不好的)
  • 无侵入性,不需要修改第三方代码,即可直接使用在 JSCL 里。(向 Spring 学习)
  • 充分利用 javascript 语言本身的特点。比如用 js 文件做配置文件,而不是用 xml ;用 URI 来描述组件包路径,而不采用类 java 格式。(轻量级,高性能,简单实现)

二、定义

  • 应用开发者:使用 JSCL 进行应用系统开发的人。
  • 组件开发者:为 JSCL 添加组件或引入第三方组件的人。
  • JSCL 的目标用户:应用开发者和组件开发者。

二、特色

1、轻松管理和使用复杂依赖关系的 js 组件

JSCL 让应用开发者只关心自己要用哪些组件,而不必知道这个组件依赖哪些文件(依赖关系由组件开发者事先定义)。

例如:menu组件需要导入menu.js,并且依赖common.js、poslib.js、scrollbutton.js,还需要根据风格定义引入相应的css文件

一般使用方式和 JSCL 方式比较如下:

缺省风格,一般方式

< script  type ="text/javascript"  src ="common.js" ></ script >
< script  type ="text/javascript"  src ="poslib.js" ></ script >
< script  type ="text/javascript"  src ="scrollbutton.js" ></ script >
< script  type ="text/javascript"  src ="menu.js" ></ script >
< link  rel ="stylesheet"  href ="theme/default/public.css"  type ="text/css"   />
< link  rel ="stylesheet"  href ="theme/default/scrollbutton.css"  type ="text/css"   />
< link  rel ="stylesheet"  href ="theme/default/menu.css"  type ="text/css"   />

JSCL 方式

< script  type ="text/javascript"  src ="jscl/jscl.js" ></ script >
< script  type ="text/javascript" >
jscl.loadModule(
"jscl/gui/menu");
</ script >  

Office风格,一般方式

< script  type ="text/javascript"  src ="common.js" ></ script >
< script  type ="text/javascript"  src ="poslib.js" ></ script >
< script  type ="text/javascript"  src ="scrollbutton.js" ></ script >
< script  type ="text/javascript"  src ="menu.js" ></ script >
< link  rel ="stylesheet"  href ="theme/office/public.css"  type ="text/css"   />
< link  rel ="stylesheet"  href ="theme/office/scrollbutton.css"  type ="text/css"   />
< link  rel ="stylesheet"  href ="theme/office/menu.css"  type ="text/css"   />

JSCL 方式

< script  type ="text/javascript"  src ="jscl/jscl.js" ></ script >
< script  type ="text/javascript" >
jscl.theme.set(
"office");
jscl.loadModule(
"jscl/gui/menu");
</ script >

 

2、标签化组件使用

在 JSCL 标准组件体系中,学习 dojo 的设计思路,优化 WebFX 方式的组件 Setup 过程。

在html代码中以标签形式声明可视化组件,JSCL可以自动完成组件对象的创建和绑定。

< div  jsclType ="tabpane"  id ="tabpane1" >
 
< div  jsclType ="tabpage" >
  
< span  jsclType ="tab" > tab1 </ span >
 ......
 
</ div >
 
< div  jsclType ="tabpage" >
  
< span  jsclType ="tab" > tab2 </ span >
 ......
 
</ div >
</ div >

< jscl:tabpane  id ="tabpane1" >
 
< jscl:tabpage >
  
< jscl:tab > tab1 </ jscl:tab >
 ......
 
</ jscl:tabpage >
  
< jscl:tabpage >
 
< jscl:tab > tab1 </ jscl:tab >
 ......
 
</ jscl:tabpage >
</ jscl:tabpane >

三、组织结构

模块:

JSCL 核心模块:提供模块加载方法支持
JSCL 服务器支持:提供 Ajax 框架连接接口。
JSCL Scope: 提供 application、window 等 JavaScript 生命周期对象容器。
JSCL 事件库:提供跨浏览器事件处理机制和自定义事件处理支持。与服务器支持模块联合,实现服务器端事件注册侦听框架。
JSCL 标准组件体系:jscl内置的面向对象的js组件体系。
JSCL 扩展组件支持:对已有第三方js组件的支持:

  • 兼容 cvicse-commons 标签库的 HTML 原型工具
  • dojo 组件支持
  • JQuery 组件支持
  • YUI-Ext 组件支持
  • WebFx 系列组件支持

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值