新浪UED

新浪博客RIA开发框架概述

by Random / 前端开发,博客 / 2010-09-25
新浪博客RIA开发框架概述

    新浪博客的RIA开发有自己的一套开发体系,包括了开发框架、开发流程、代码管理等,这篇文章将会给大家简单介绍一下新浪博客Javascript开发框架的结构。

这个框架总体上分为三层:基础库、通用组件、产品需求,如下图所示:

        新浪博客RIA开发框架

        其中,基础库中为最底层的代码,特点是颗粒度小、可复用性高、不涉及产品需求、为上层提供服务、封装了细节并提供抽象的接口。这个库,我们称为sina包,分为三个主要部分:core、ui、utils,里面包括了一些常用的功能,比如对话框、ajax操作、事件操作、dom的操作等,下图可以直观地了解sina包的结构:

        新浪博客RIA开发框架

        介绍完了基础库,再来看看通用组件层。这层主要是为产品层提供可复用的组件,大多是涉及产品需求,比如托盘、插入表情、登录功能等。还有一些各产品公共需要的部分,比如配置信息、可复用的交互效果等。下图为通用组件层lib包的结构:

        新浪博客RIA开发框架

        最后一个是产品层,目前新浪博客主有博客、相册、个人中心、活动站四个产品,而且各个产品的代码都是单独部署的。这个层就可以直接调用lib和sina包提供的各种服务,但这个层里实现的代码绝对不能在lib和sina包里出现,这样的话,就违反了设计原则。
        Ok,现在各个部分已经单独介绍完了,我们再来看下总体的相对详细一点的架构图:

        新浪博客RIA开发框架

        现在就基本上清晰了。最后再把各层的职责强调一下:基础库只完成基础的细节代码,为上层提供抽象的接口,不能涉及任何的产品需求;通用组件层可使用基础库提供的服务,同时为产品层提供支持;产品层使用基础库(sina包)和通用组件层(lib包)的服务,通过复用、共享等方法达到了提高开发效率的目的。

文章评论

  1. 枯の灵 说:

    咩 支持一下……

  2. Somnus 说:

    请问 Jobs.regists(“”,function(){}) 这个监视了方法,应该得到方法执行时间, 但打印出来怎么都是0毫秒,请问下,怎么用啊。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

* 验证图片 刷新验证码

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>