一、是什么(以下简称SC)
    smartClient 是一个基于web技术的开发框架,主要包括:
  1. 一个无需安装的 Ajax/HTML5 客户端引擎
  2. UI组件和服务(采用富客户端RIA)--- 提供大量强大而美观的 UI 控件
  3. 客户端/服务器数据绑定系统
 
二、有什么用
    快速构建 大型企业应用开发(无需过多关注UI),适合基于云技术的应用,主要关注业务的发展和营销,加快开发进程
 
三、缺点
    1、不适合传统企业网站、内容网站(从SEO角度看,该框架适合web应用,而非web网站)
    2、其本质是js编写的单页面程序,对搜索引擎不友好(不利于SEO)
    3、IE6兼容性差
 
四、运行
    1、首先运行SC需要搭建web服务器,下载SC之后http://www.smartclient.com,详见http://blog.csdn.net/womeng2009/article/details/55190448
 
五、首页入口文件和js文件
    1、SC是采用单页面的形式构建 web应用。因此,每个应用都有一个首页入口文件index.html(或者default.html)
        a.  首页文件主要作用是调用SC的类库,从而能在自己的js文件中调用这些类库,生成期望的客户端UI和业务逻辑
        b.  首页主要内容:至少八个js引入(包括load_skin.js,里面有十几种不同风格的皮肤,通过脚本可以改变;   frameworkMessages_zh_CN.properties文件是中文包,如果使用IIS作为web服务器,则调试会出错,解决方案是将其改为frameworkMessages_zh_CN.properties.js<注意在引入的时候也要改>)
        c.  添加 loading 动画:在 ISC_Fundation.js 后面(第二后引入脚本之后)(此兼容浏览器)(注意后面需要添加消失loading代码)

<script type="text/javascript">
isc.Label.create({
ID: "imgLoading",
padding: 10,
width: "100%",
height: "100%",
align: "center",
valign: "center",
wrap: false,
icon: "/images/loading.gif",
contents: "Loading..."
});
</script>
    2、新建js文件夹,所有的js文件都将在此。
        a.  如下,创建 loading.js(放上面loading动画) 和 default.js(作为整个项目的入口代码)

(function(){ 
//注意:由于js没有命名空间,因此为避免命名冲突(如var isc = ''; 和SC内置对象命名冲突,此时下面的创建SC标签代码报错),实行闭包的写法(function() {......})();
isc.Label.create({
ID: "imgLoading",
padding: 10,
width: "100%",
height: "100%",
align: "center",
valign: "center",
wrap: false,
icon: "/images/loading.gif",
contents: "Loading..."
});
})();
(function(){
imgLoading.destroy(); //loading标签销毁,类库加载完毕,就会运行
isc.say("hello world!"); //弹出消息的形式显示 hello world!
})();
六、更多主题(可以更换系统自带主题,还可以自定义主题)
    1、系统主题(web服务根目录下的isomorphic文件夹的skins下)(awd见web/awd/thirdParty/isomorphic/skins)
        a. 更换主题,只需要引入不同主题文件即可

<script type="text/javascript" src="/isomorphic/skins/Graphite/load_skin.js"></script> 
 
七、多语言支持(同更换系统皮肤,只需要引入不同的语言包即可)(iosmorphic/locales下)(awd见web/awd/thirdParty/isomorphic/locales)
    1、中文字体问题(由于CSS文件定义是以英文字体、字号为标准《11px》(中文必须在12px下才能清晰显示),因此中文显示效果不理想,字体太小)
        解决方案:
            a. 进入对应的skin文件夹下,先备份skin_style.css.bak,然后打开skin_style.css,将font-size: 11px; font-family: xxx; 改为 font-size: 12px; font-family: Microsoft YaHei,SimSun,Arial,Verdana,sans-serif; 即可
注意:
    a. 为了支持多语言,需要在入口文件中指定编码方式为 UTF-8
    b. 语言包的扩展名为.properties,当以js形式加载时(用script标签引入),某些服务器会拒绝(如IIS6),因此需要手动修改扩展名(添加 .js )
 
八、目录结构
    1、web服务器根目录下(不一定是直接根目录,放在其他文件夹如 thirdparty 亦可),和传统网页开发类似而不同如下:
        web
isomorphic
skins //系统皮肤文件夹
system
modules
xxx.js //SC类库
images
js
xxx.js //各个业务逻辑代码
......
default.js //入口文件,是js的入口文件,注意在html入口文件中引用时,需要放在其他js引入的最后,保证程序正常运行
css
index.html //首页入口文件(单页面开发,通篇只需要一个HTML文件,即此入口文件)
 
 
 
 
 
 
 

smartClient 1--框架介绍的更多相关文章

  1. [连载]《C#通讯(串口和网络)框架的设计与实现》-1.通讯框架介绍

    [连载]<C#通讯(串口和网络)框架的设计与实现>- 0.前言 目       录 第一章           通讯框架介绍... 2 1.1           通讯的本质... 2 1 ...

  2. YARN基本框架介绍

    YARN基本框架介绍 转载请注明出处:http://www.cnblogs.com/BYRans/ 在之前的博客<YARN与MRv1的对比>中介绍了YARN对Hadoop 1.0的完善.本 ...

  3. Selenium自动化测试框架介绍

    Selenium自动化测试框架介绍 1.测试架构作用 a.可维护性 b.提高编写脚本效率 c.提高脚本的可读性 2.框架的几大要素: Driver管理,脚本,数据,元素对象,LOG,报告,运行机制,失 ...

  4. UiAutomator自动化测试框架介绍

    UiAutomator自动化测试框架介绍 环境搭建 1         必要条件 1.1       JDK 1.2       SDK(API高于15) 1.3       Eclipse 2    ...

  5. [翻译]Spring框架参考文档(V4.3.3)-第二章Spring框架介绍 2.1 2.2 翻译--2.3待继续

    英文链接:http://docs.spring.io/spring-framework/docs/current/spring-framework-reference/html/overview.ht ...

  6. MJExtension框架介绍

    MJExtension框架介绍 标签: MJExtension 2015-05-01 08:22 1120人阅读 评论(0) 收藏 举报  分类: Foundation(14)  版权声明:本文为博主 ...

  7. 人工智能深度学习Caffe框架介绍,优秀的深度学习架构

    人工智能深度学习Caffe框架介绍,优秀的深度学习架构 在深度学习领域,Caffe框架是人们无法绕过的一座山.这不仅是因为它无论在结构.性能上,还是在代码质量上,都称得上一款十分出色的开源框架.更重要 ...

  8. 挑战EXT——QUI框架介绍与下载

    挑战EXT——QUI框架介绍与下载 为庆祝新版QUI问世特写此文: 提起EXTJS的大名,恐怕WEB开发界无人不晓吧.EXTJS框架发展到现在,已经非常成熟和全面了.它的组件库尤其是DataGrid组 ...

  9. IOS-AssetsLibrary(相册)框架介绍

    AssetsLibrary框架介绍: AssetsLibrary框架包含了ALAssetsLibrary,ALAssetsGroup,ALAsset,ALAssetsFilter,ALAssetRep ...

  10. ios中框架介绍

    ios中框架介绍 参考博客: 参考文章:框架介绍 框架介绍 框架就是一个目录,一个目录包含了共享库,访问共享库里面的代码的头文件,和其他的图片和声音的资源文件.一个共享库定义的方法和函数可以被应用程序 ...

随机推荐

  1. c语言入门

    c 语言现在是一门很流行的语言,它介于汇编语言和高级语言之间,我认为 它属于中级语言,如c语言 的指针 ,位操作符,等,因为接近于汇编语言,c语言的执行代码效率很高 现在大多数的系统 如unix,和l ...

  2. C#命令行解析工具

    我将告诉大家两个方法去获取C#输入的命令行参数. 第一个方法: 林选臣大神写的,他的方法很简单. 首先复制两个类到项目 public class CommandLineArgumentParser { ...

  3. Win10 UWP Intro to controls and events

    这篇翻译,如果有不对可以发邮箱 为创建页面,可以通过按钮,TextBox输入,组合框来显示数据,获得用户输入.添加一个控件可以使用三个关键步骤: 添加一个控件到界面 设置控件属性,高度,宽度,颜色 添 ...

  4. uva 10118,记忆化搜索

    这个题debug了长达3个小时,acm我不能放弃,我又回来了的第一题! 一开始思路正确,写法不行,结果越改越乱 看了网上某神的代码,学习了一下 coding+debug:4小时左右,记忆化搜索+dp类 ...

  5. jfinal编码问题及解决

    使用jfinal出现了常见的编码问题情况 public void test() { Random r = new Random(); try { Connection conn = createCon ...

  6. http服务详解(2)——httpd2.2的配置文件常见设置

    摘要:一个服务的配置文件非常重要,弄懂配置文件是熟练掌握服务的必要前提. 一.httpd-2.2常见文件介绍 (1)配置文件: 主配置文件尽量别改,改自己的子配置文件 /etc/httpd/conf/ ...

  7. cordova封装h5为app,cookie不可用解决方法

    //创建cookie function setCookie(c_name,value,expiredays) { var exdate=new Date(); exdate.setDate(exdat ...

  8. mvc4 实现自己的权限验证 仿Authorize与AllowAnonymous原理

    参考文章 :http://www.cosdiv.com/page/M0/S878/878978.html 实现的效果:在控制器上(Controller)验证权限,在动作(Action)上不验证. 用M ...

  9. 总结:PyQt5自定义信号源

    定义一个信号源有4个方面要注意: 1.定义信号源 A = pyqtSignal([str], [int,str]) 这里特别使用信号源重载的情况加以说明.如上就是信号源A的重载,一个可以发送str参数 ...

  10. Java语言实现机制

    Java语言实现机制 1.Java虚拟机(Java Virtual Machine) Java虚拟机(JVM)是在一台计算机上由软件模拟也可以用硬件来实现的假想的计算机.它定义了指令集(相当于中央处理 ...