专栏首页web前端smartClient 1--框架介绍

smartClient 1--框架介绍

一、是什么(以下简称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详见

五、首页入口文件和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文件,即此入口文件)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • smartClient 1--框架介绍

        快速构建 大型企业应用开发(无需过多关注UI),适合基于云技术的应用,主要关注业务的发展和营销,加快开发进程

    用户1148399
  • 用jQuery+easyUI遇到的几个插件与文件详解

    很早就开始跟着老师学习jQuery课程,那时候是要求熟练使用jQuery中的easyUI插件中的控件,包括textbox、combobox、panel、chec...

    用户1148399
  • webpack基本打包配置流程

    项目搭建以及webpack打包配置流程 创建文件夹EC(文件夹和文件名根据需求自定义) 在EC文件夹下新建文件夹APP 在APP文件夹下新建入口文件index....

    用户1148399
  • Webpack第三天

    我们已经能打包能启动了,现在我们要继续开发。开发的时候我们要一直刷新才能出现,这很浪费时间,而webpack自带了热更新。

    wade
  • RequireJS实例分析

      随着JS越来越庞大,已经不仅仅是以前复制粘贴做特效的时代了,JS越来越偏向于业务逻辑与应用。恰逢Node的流行,JS在web开发中占有越来越重要的地位。由...

    用户1154259
  • 利用js文件反弹shell

    前两天在freebuf上看到一个利用Ink文件触发攻击链的文章,确实佩服作者的脑洞。

    洛米唯熊
  • 如何动态加载js?

    第三方的js文件,自己写的js文件,js越来越多了怎么办? 提出问题: 1、js文件太多了,每个页面都写<script src="...">太麻烦。 2、如果路...

    用户1174620
  • JavaScript常用对象&属性&事件-图标

    版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。

    奋飛

扫码关注云+社区

领取腾讯云代金券