已阅读5页,还剩58页未读, 继续免费阅读
(系统分析与集成专业论文)linq与silverlight技术在web开发中的应用.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
c a n d i d a t e :d i n gh o n g s u p e r v i s o r :p r o f w a n gs h i h u i h u b e iu n i v e r s i t y w u h a n ,c h i n a fm a s t e r a p p l i c a t i o n 湖北大学学位论文原创性声明和使用授权说明 原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所 取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任 何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡 献的个人和集体,均己在文中以明确方式标明。本人完全意识到本声明的 法律后果由本人承担。 论文作者签名:1 该v 日期:d 年月多日 学位论文使用授权说明 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即: 按照学校要求提交学位论文的印刷本和电子版本;学校有权保存并向国家有关 部门或机构送交论文的复印件和电子版,并提供目录检索与阅览服务;学校可以允 许采用影印、缩印、数字化或其它复制手段保存学位论文;在不以赢利为目的的前 提下,学校可以公开学位论文的部分或全部内容。( 保密论文在解密后遵守此规定) 作者签名: 识纱 指导教师签名2 步彻伞 日期:矽a 弓 日期:沙,矿多多 摘要 现今,网络与人们的生活息息相关,b s 结构的开发模式自然已成为现在主流的w e b 开发方式,然而在w e b 开发模式得到普及的同时,开发的效率和用户体验所彰显的问题 越发突出。面对这些问题,越来越多的w e b 开发框架和相应的技术应势而生。 而l i n q ( l a n g u a g ei n t e g r a t e dq u e r y ) 这种语言查询技术以其良好语法检查特性、 智能感知系统和丰富实用的扩展方法令开发人员摆脱开发过程中的一些细节束缚而只 需要注意逻辑问题,从而大大提高了开发效率:为了给用户提供丰富的体验和高度的互 动性,产生了s i l v e r l i g h t 的富客户端交互技术。本文的研究内容如下: 首先,阐述了l i n q 与s i l v e r l i g h t 的起源、背景、有关原理及相关技术架构;其次, 对l i n q 与传统开发方式进行比较并分析了与s i l v e r l i g h t 相关的其他r i a ( r i c h i n t e r n e ta p p l i c a t i o n ) 方案,对功能性、开发周期、难度等方面进行了比较与总结; 然后对使用l i n q 与s i l v e r l i g h t 技术在用户管理系统中的应用的完整实现加以阐述; 最后,对本文的工作作出了总结与展望,并说明了未来的研究方向。 关键词:w e b 开发;n e tf r a m e w o r k ;l i n q ;s i l v e r l i g h t ;r i a a b s t r a c t c u r r e n t l y , n e t w o r k sa s s o c i a t e dw i t hp e o p l e sd a i l yl i f ec l o s e l y , b ss l :n l c t i 鹏o ft h e n a t u r a l d e v e l o p m e n tm o d e lh a sb e c o m et h em a i n s t r e a mo fw e bd e v e l o p m e n tm e t h o d s h o w e v e r , w e bd e v e l o p m e n tm e t h o d sa r eb e c o m ep o p u l a ri nw e bd e v e l o p m e n tm o d e l ,w h i l e t h ed e v e l o p m e n to fe f f i c i e n ta n du s e re x p e r i e n c ei s s u e sa sm a n i f e s t e db yt h em o r ep r o m i n e n t f a c e d 、i t ht h e s e p r o b l e m s ,ag r o w i n gn u m b e ro fw e bd e v e l o p m e n tf r a m e w o r k a n d a p p r o p r i a t et e c h n o l o g yt ob eb o r n l i n q ( l a n g u a g ei n t e g r a t e dq u e r y ) q u e r yt e c h n o l o g yt h a tl a n g u a g eg r a m m a rc h e c k i n g f e a t u r e sf o ri t sg o o d ,i n t e l l i g e n ts e n s i n gs y s t e m sa n dr i c hp r a c t i c a le x t e n s i o nm e t h o d st om a k e t h ep r o g r a md e v e l o p e r se s c a p ef r o ms o m eo ft h ed e t a i l so n l yn e e dt op a ya t t e n t i o nt ot h e l o g i c a lc o n s t r a i n t sa n dp r o b l e m s ,t h u sg r e a t l yi m p r o v i n gt h ed e v e l o p m e n te f f i c i e n c y ;i no r d e r t op r o v i d ear i c ha n dh i g h l yi n t e r a c t i v ee x p e r i e n c e ,r e s u l t i n gi nar i c hc l i e n t - s i d es i l v e r l i g h t i n t e r a c t i v et e c h n o l o g y t h i sa r t i c l ei n c l u d e st h ef o l l o w i n g : f i r s t ,t h e r eg i v e se x p l a i n a t i o na b o u tt h eo r i g i n , b a c k g r o u n d , r e l e v a n tp r i n c i p l e sa n d r e l a t e dt e c h n i c a la r c h i t e c t u r eo f l i n qa n ds i l v e r l i g h t ;s e c o n d l y , t h i sa r t i c l ep r e s e n t sr e s u l t so f t h ec o m p a r i s o nl i n qa n dt r a d i t i o n a ld e v e l o p m e n tm e t h o d s ,a n da n a l y s i sr e l a t e dw i t h s i l v e r l i g h ta n do t h e rr i a ( p u c hi n t e m e ta p p l i c a t i o n ) p r o g r a m ,o nt h ef u n c t i o n a lt h e d e v e l o p m e n tc y c l e ,d i f f i c u l t ya n do t h e ra s p e c t so ft h ec o m p a r i s o na n ds u m m a r y ;a n dt h e nu s e l 矾qa n ds i l v e r l i g h ti nu s e rm a n a g e m e n ts y s t e mt oa c h i e v ec o m p l e t ee l a b o r a t e ;f i n a l l y , t h e w o r ko ft h i ss u m m a r ya n do u t l o o k , a n dd e s c r i b e sf u t u r er e s e a r c hd i r e c t i o n s k e y w o r d s :w e bd e v e l o p m e n t ;n e tf r a m e w o r k ;l i n q ;s i l v e r l i g h t ;r i a u 第一章 1 1 1 2 1 3 第二章 2 1 2 2 2 3 第三章 3 1 3 2 3 3 第四章 4 1 4 2 第五章 5 1 5 2 目录 绪论1 背景及意义l 研究内容和主要工作。l 论文组织结构。2 l ln q 技术3 lin q 简介3 2 1 1l in q 概念3 2 1 2l in q 查询架构3 2 1 3lln q 技术的优势4 l in q 的内部执行原理浅析5 使用l in q 相关技术6 2 3 1 面向对象( 0 0 ) 6 2 3 2 委托6 2 3 3 匿名方法& l a m b d a 表达式6 2 3 4 扩展方法7 4 s iv 6 ri g h t 技术8 s iv e ri ig h t 简介8 s iv 6 ri g h t 起源及发展9 3 2 1si iv e ri g h t 的起源9 3 2 2si iv e ti - g h t 技术架构9 3 2 3s ii v e r | g h t 、h t l 与j a v a s c r ;p t 之间交互1 0 3 2 4s ii v e ri g h t 的技术优势1 6 一? s iv e ti ig h l :相关技术概述。l7 3 3 1 n e tf r a m e w o r k3 0 1 7 3 3 2r i 概念1 8 l in q 与s 1v e ti g h t 技术与其相关方案对比1 9 l ln 0 查询技术与传统查询技术对比1 9 4 1 1l i t oo b j e c t 查询与传统集合查询1 9 4 1 2 使用l i n 0t os o l 查询与s o l 语句查询方式异同2 l 4 1 3l l t o 硼l 与d 伽方式访问的差异2 4 s | v e t i g h t 与其他r i a 技术方案对比2 7 4 2 1r ia 技术方案浅析2 7 4 2 2 各种rla 方案对比3 0 利用l l n q 与s i i v e ti g h t 技术在用户管理系统中的应用及实现3 2 开发环境及工具3 2 5 1 1 机器配置3 2 5 1 2 操作系统及开发环境3 2 用户管理系统实现3 2 5 2 1 数据库的建立3 2 5 2 2 创建数据连接3 3 玎i 5 2 3 程序主框架创建3 7 5 2 4 主要功能实现4 0 第六章结论与展望4 8 6 1 结论4 8 6 2 下一步工作与展望4 8 参考文献4 9 j i j 谢51 攻读硕士学位期间发表的论文及参与的项目5 2 i v 第一章绪论 1 1 背景及意义 第一章绪论 网络信息化时代潮流冲击着当代世界的各个角落,基于b s 架构的w e b 开发方式已 经形成主流开发模式。 经过了最近2 0 年,面向对象编程技术( o b j e c t - o r i e n t e dp r o g r a m m i n gt e c h n o l o g i e s ) 在工业领域的应用已经进入了一个稳定的发展阶段。程序员现在都已经认同像类 ( c l a s s e s ) 、对象( o b j e c t s ) 、方法( m e t h o d s ) 这样的语言特性。考察现在和下一代的技 术,一个新的编程技术的重大挑战开始呈现出来,即面向对象技术诞生以来并没有解决 降低访问和整合信息数据( a c c e s s i n ga n di n t e g r a t i n gi n f o r m a t i o n ) 的复杂度的问题。其中 两个最主要访问的数据源与数据库( d a t a b a s e ) 和x m l 相关【l 】。u n q 提供了一条更常 规的途径即给n e tf r a m e w o r k 添加一些可以应用于所有信息源的具有多种用途的语法查 询特性,这是比运行时添加一些关系数据特性或者类似x m l 特性更好的方式。 在以往的两三年里,w e b 开发人员一直是想构建一种比传统h t m l 更丰富的客户端: 这是一个用户接口,它比用h t m l 实现的接口更加健壮、反应更加灵敏和更具有令人 感兴趣的可视化特性。r i a 技术的出现允许开发人员在因特网上以一种像使用w e b 一样 简单的方式来部署富客户端程序f 2 1 。无论将来r i a 是否能够如人们所猜测的那样完全代 替h t m l 应用系统,对于那些采用c s 架构的胖客户端技术运行复杂应用系统的机构 和采用基于b s 架构的瘦客户端技术部署w e b 应用系统地机构来说,r i a 确实是提供了 一种廉价的选择。 微软s i l v e r l i g h t 是一个跨浏览器、跨客户平台的技术,能够设计、开发和发布有多 媒体体验与富交互( r i a ,m c hi n t e r f a c ea p p l i c a t i o n ) 的网络交互程序。因为s i l v e r l i g h t 提供 了一个强大的平台,能够开发出具有专业图形、音频和视频的w 曲应用程序,增强了 用户体验,所以s i l v e r l i g h t 吸引了设计人员和开发人员的眼球。同时,s i l v e r l i g h t 还提 供了强大的工具来提高其工作效掣3 1 。 1 2 研究内容和主要工作 本文对l i n q 查询技术与s i l v e r l i g h t 富客户端交互技术的特性及优势进行了阐述, 湖北大学硕士学位论文 并针对传统查询方式与l i n q 查询方式进行比较论述,同时结合多种r i a 解决方案与 s i l v e r l i g h t 技术方案进行功能性、开发难度、周期、执行效率、学习难度及成本、现阶 段w e b 集成度、浏览器支持情况、开发工具以及多媒体支持等方面进行对比分析,最 后阐述了利用v i s u a ls t u d i o2 0 0 8 开发工具结合l n q 查询技术和s i l v e r l i g h t 富客户端交 互技术在用户管理系统中的应用及实现。 1 3 论文组织结构 本文的总体结构大致分为五个组成部分: 第一章:简单介绍基于l i n q 和s i l v e r l i g h t 的w e b 开发的研究背景和现状,并对论 文工作做了简要阐明; 第二章:l i n q 概述。对l i n q 的概念,内部执行原理及特性性能方面进行了详细的 阐述; 第三章:s i l v e r l i g h t 概述。对s i l v e r l i g h t 技术的起源,技术架构以及相关技术进行简 单阐述; 第四章:相关方案对比。分别分析比较了传统开发方式和基于l i n q 技术的开发方 式的区别及性能分析,以及分别对r i a ( r i c hi n t e r n e ta p p l i c a t i o n ) 这类高度互动性和丰 富i j i 功能的w e b 开发方案进行分析与对比; 第五章:利用l i n q 与s i l v e r l i g h t 技术在用户管理系统中的应用及实现。阐述利用 v i s u a ls t u d i o2 0 0 8 开发工具结合l i n q 查询技术和s i l v e r l i g h t 富客户端交互技术在用户 管理系统中的应用及实现。 第六章:结论与展望。对结合u n q 查询技术和s i l v e r l i g h t 富客户交互技术在用户 管理系统中的应用及实现以及本文的不足之处做出小结,并对以后研究方向做出展望。 2 l i n q 是l a n g u a g ei n t e g r a t e dq u e r y 的简称,它是集成在n e t 编程语言中的一种语 法特性。已成为编程语言的一个组成部分,在编写程序时可以得到很好的编译时语法检 查,丰富的元数据,智能感知、静态类型等强类型语言的优点。并且它同时可以方便地 对内存中的信息进行查询而不仅仅只是外部数据源【4 】。 l i n q 定义了一组标准查询操作符用于在所有基于n e t 平台的编程语言中更加直接 地声明跨越、过滤和投射操作的统一方式,标准查询操作符允许查询作用于所有基于 i e n u m a v a b l e 接口的源,并且它还允许适合于目标域或技术的第三方特定域操作符来 扩大标准查询操作符集,更重要的是,第三方操作符可以用它们自己的提供附加服务的 实现来自由地替换标准查询操作符,根据l i n q 模式的习俗,这些查询喜欢采用与标准 查询操作符相同的语言集成和工具支持【5 】。 2 1 2l i n q 查询架构 l i n q 查询架构( 如图2 1 ) 的延展性用来向l i n q 提供s q l 数据以及x m l 之上的 工作实现。针对x m l 的查询操作符( l i n qt o 删l ) 采用一种高效、易用、内存中的 x m l 工具在宿主编程语言中提供x p a t h x q u e r 功能;针对关系型数据的查询操作符 ( l i n q t os q l ) 建立于公共语言类型系统中的基于s q l 的模式定义的集成之上,当保 持关系型模型表达能力和对底层存储的直接查询评测的性能时,这个集成在关系型数据 之上提供强类型支持。 l i n q 主要包含以下三个部分: 1 l i n qt oo b j e c t s 主要负责对象的查询; 2 l i n qt ox m l 主要负责x m l 的查询; 3 l i n qt oa d o n e t 主要负责数据库的查询。 其中l i n q t oa d o n e t 又包含了: 1 l i n qt os q l : 2 l i n qt od a t a s e t : 湖北大学硕士学位论文 3 l i n qt oe n t i t i e s o b j e c t s r e l a t i o n a l x m l 2 1 3l ln q 技术的优势 图2 - 1l 玳q 查询结构图 1 降低数据库开发的门槛,提供了良好的智能感知机制。如果使用传统的a d o n e t 编写数据访问的话,开发人员需要熟悉s q l 语句的技术,并且只有程序运行了之 4 第二章l i n q 技术 后才能了解数据读写的正确与否【3 】。而l n q 它缩d , y 传统o o 对象及关系型数据 库在查询方面的差别,程序员可以用一种统一的l r n q 语法来查询所有类型的数据, 创建了数据到对象的映射,提供了c r u d 元操作,并且l r n q 语句是在编写时提 供了智能感知,并在编译期间做语法检查的,提高了编码及错误排查效率; 2 有利于提高代码编写效率,使开发人员专注于项目的逻辑。由于u n q 提供了基本 的数据访问层,所以开发人员可以从烦琐的技术细节中解脱出来,专注于业务逻辑 的处理,从而加快了项目的开发进度; 3 自然的实现了三层体系结构的数据访问层,为分离数据层和表示层提供了自然的条 件【3 1 ; 4 l i n q 查询技术中默认采用的模式就是延迟执行,所谓延迟执行,其实就是在获取 对象本身时,并不会获取和其关联的其他对象,只有在访问其关联对象的时候,程 序才会去加载关联对象的数据到内存中【3 l 。这样做的好处是程序不会在初次访问的 时候,就加载大批量的数据,而是以一种延迟加载的方式进行处理,相对而言,对 于系统和网络的性能开支会减小很多。 2 2lin q 的内部执行原理浅析 。 l i n q ( l a n g u a g ei n t e g r a t e dq u e r y ) 是v i s u a ls t u d i o2 0 0 8 中的领军人物。借助于l i n q 技术,可以使用一种类似s q l 的语法来查询任何形式的数据。目前为止l i n q 所支持的 数据源有s q ls e r v e r 、x m l 以及内存中的数据集合。开发人员也可以使用其提供的扩 展框架添加更多的数据源,例如m y s q l 、a m a z o n 甚至是g o o g l ed e s k t o p 。一般来讲, 这类查询语句的一个重要特点就是可以并行化执行。虽然有些情况下并行可能会带来一 些问题,但这种情况非常少见。这样也就水到渠成地引出了p l i n q 这个并行处理的l i n q 类库。p l i n q 原名为p a r a l l e ll i n q ,支持x m l 和内存中的数据集合。执行于远程服务 器上的查询语句( 例如l i n q t os q l ) 显然无法实现这个功能。 将l r n q 语句转换为p l i n q 语句极为简单一只需要在查询语句中f r o m 子旬所指 定的数据源的最后添加a s p a r a l l e l 0 r p 可。随后w h e r e 、o r d e r b y 和s e l e c t 子句将自动改 为调用这个并行的l r n q 版本。据m s d nm a g a z i n e 介绍,p l i n q 可以以三种方式执行。 第一种是管道处理:一个线程用来读取数据源,而其他的线程则用来处理查询语句,二 者同步进行一虽然这个单一的消费线程可能并不那么容易与多个生产线程同步。不过 若是能够仔细配置好负载平衡的话,仍然会极大地减少内存占用。第二种模式叫做 s t o p 湖北大学硕士学位论文 a n dg o ”,用于处理结果集需要被一次返回时( 例如调用t o l i s t 、t o a r r a y 或对结果排序) 的情况。在这种模式下,将依次完成各个处理过程,并将结果统一返回给消费线程。这 个模式在性能上将优于第一种模式,因为它省去了用来保持线程同步所花费的开销。 最后一种方法叫做“i n v e r t e de n u m e r a t i o n 。该方法并不需要实现收集到所有的输出,然 后在单一的线程中处理,而是将最终调用的函数通过f o r a u 扩展传递到每个线程中。这 是目前为止最快的一种处理模式,不过这需要传递到f o r a u 中的函数是线程安全的,且 最好不包含任何l o c k 之类的互斥语句。若是p l i n q 中任意的一个线程抛出异常,那么 所有的其他线程将会被终止。若是抛出了多个异常,那么这些异常将被组合成一个 m u l t i p l e f a i l u r e s e x c e p t i o n 类型的异常,但每个异常的调用堆栈仍会被保留【1 1 。 2 3 使用l in q 相关技术 2 3 1 面向对象( 0 0 ) 面向对象( o b j e c to r i e n t e d ,0 0 ) 是当前计算机界关心的重点,它是9 0 年代软件开 发方法的主流【6 1 。面向对象的概念和应用已超越了程序设计和软件开发,扩展到很宽的 范围。如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、 c a d 技术、人工智能等领域。起初,“面向对象 是专指在程序设计中采用封装、继承、 抽象等设计方法。可是,这个定义显然不能再适合现在情况。面向对象的思想已经涉及 到软件开发的各个方面。如,面向对象的分析( o o a ,o b j e c to r i e n t e d a n a l y s i s ) ,面向 对象的设计( o o d ,o b j e c to r i e n t e dd e s i g n ) 、以及面向对象的编程实现( o o p ,o b j e c t o r i e n t e dp r o g r a m m i n g ) 。 2 3 2 委托 委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数 来进行传递,这种将方法动态地赋给参数的做法,也可以把委托理解成是函数的 指针,也就是说,它可以通过引用函数,通过传递地址的机制完成,可以避免在 程序中大量使用i f - e l s e ( s w i t c h ) 语句,同时使得程序具有更好的可扩展性【7 1 。 2 3 3 匿名方法& l a m b d a 表达式 匿名方法是c # 2 0 引入的一个新特性,它允许开发者声明自己的函数代码而无须使 6 第二章l i n o 技术 用委托函数( d e l e g a t ef u n c t i o n ) 。匿名方法通常在1 需要一个临时方法,该方法使用次数 极少;2 这个方法的代码很短,甚至可能比方法声明都短的情况下使用。可以把c j | 匿 名方法想象为一个实现与委托进行关联这项功能的便捷途径【7 】。如果同时看一下匿名方 法实现和命名方法实现所取得i l 结果,就会发现这两者之间的差别非常小。当编译器 碰到匿名方法的时候,它会在类里面创建一个命名方法,并将它与委托进行关联。所以 匿名方法在运行期间与命名方法的性能非常类似性能的增加体现在开发人员的生 产效率上,而不是运行期间的执行上。 l a m b d a 表达式”则是一个匿名函数,它可以包含表达式和语句,并且可用于创建 委托或表达式目录树类型【7 1 。其产生的意义就在于其简洁、易懂代码书写格式。比较 l a m b d a 表达式和匿名委托,会发现许多类似之处。l a m b d a 运算符_ 的左边是参数,不 需要添加参数类型,因为它们是由编译器解析的。l a m b d a 运算符的右边定义了执行代 码。在匿名方法中,需要花括号和r e t u r n 语句。在l a m b d a 表达式中,不需要这些语法 元素,因为它们是由编译器处理的。如果l a m b d a 右边有多个语句,也可以使用花括号 和r e t u r n 语句。 2 3 4 扩展方法 扩展方法可以将方法写入最初没有提供该方法的类中。还可以把方法添加到实现某 一个接口的任何一个类之中,这样多个类就可以使用相同的实现代码。扩展方法在静态 类中声明,定义为一个静态方法,其中第一个参数定义了它扩展的类型。为了区分扩展 方法和一般的静态方法,扩展方法还需要给第一个参数使用t h i s 关键字。也许扩展方法 看起来违反了面向对象的规则,因为给一个类型定义了新方法,但没有改变该类型,但 事实并不是如此,扩展方法不能访问它扩展类型的私有成员,调用扩展方法时只是调用 静态方法的一种新语法而已。要调用静态方法,应在类名的后面加上方法名,扩展方法 是调用静态方法的另一种方式。不必提供定义了静态方法的类名,相反,调用静态方法 是因为它带的参数类型【_ 7 1 。 而使用l i n q 技术的方便之处就在于v i s u a ls t u d i o2 0 0 8 增添了大量方便使用的扩展 方法供使用,从而大大提高了开发人员的开发效率,而且简洁易懂的方法名让程序开发 人员使用起来更具亲切感。 7 湖北大学硕:l 学位论文 第三章s ilv e tl ig h t 技术 3 1s iv e riig h t 简介 s i l v e r l i g h t 是一种融合了微软的多种技术的w e b 呈现技术。它提供了一套开发框架, 并通过使用基于向量的图像图层技术,支持任何尺寸图像的无缝整合,对基于a s p n e t 、 a j a x 在内的w e b 开发环境实现了无缝连接。s i l v e r l i g h t 使开发设计人员能够更好的协 作,有效地创造出能在w i n d o w s 和m a c i n t o s h 上多种浏览器中运行的内容丰富、界面绚 丽的w 曲应用程序s i l v e r l i g h t 应用程序。借助该技术,开发者和最终用户将拥有内 容丰富、视觉效果绚丽的交互式体验。而且,无论是在浏览器内、在多个设备上还是在 桌面操作系统中,都可以获得这种体验。m i c r o s o f t n e tf r a m e w o r k3 0 ( w i n d o w s 编程 基础结构) 中的呈现技术x a m l ( 可扩展应用程序标记语言) 遵循w p f ( w i n d o w s p r e s e n t a t i o nf o u n d a t i o n ) ,它是s i l v e r l i g h t 呈现功能的基础【引。 在使开发人员拥有采用服务器代码托管的开发模式并使用v i s u a ls t u d i o 系列产品中 的同类最佳工具快速开发高质量w e b 应用程序的能力这一方面,a s e n e t 树立了一个 里程碑。事实证明,用户体验是w e b 应用程序中的一大障碍,在这方面,技术上的限 制使w e b 应用程序无法提供与使用本地数据的客户端应用程序同样丰富的用户体验。 s i l v e r l i g h t 是应用程序开发人员和设计人员可以向其客户呈现潜在用户体验丰富性 的下一个发展阶段。为了实现此目的,它允许设计人员展现其创造力并以能够直接对 w e b 产生影响的格式保存其工作。过去,设计人员会使用提供了丰富输出功能的工具 来设计网站和用户体验,但在这些设计的实现能力方面,开发人员会受到w e b 平台的 限制。在s i l v e r l i g h t 模型中,设计人员可以构建所需的用户体验,并将其表示为x a m l 。 随后,开发人员可以使用s i l v e r l i g h t 运行时直接将该x a m l 合并到网页中。因此,两 者的合作可以比以往任何时候都更加紧密,从而提供丰富的客户端用户体验【3 】。 由于x a m l 语法格式同于x m l ,因此它同样也是基于文本的,能够为这些丰富的 内容提供能与防火墙兼容的、便于检查的说明,并可以提供相关内容的检索。尽管其他 技术( 如j a v a 程序、a c t i v e x 控件和f l a s h 方式) 都可用以部署比d h t m l c s s j a v a s c r i p t 更丰富的内容,但它们的问题所在就是都会向浏览器发送二进制内容。这就造成很难进 行安全性方面的审核以及内容检索,更新上的困难就更不用说了,因为任何更改的更改 过后都必须重新安装整个应用程序,而这并不是一种友好的用户体验,并且可能导致整 8 第三章s i l v e r l i g h t 技术 个的页面停滞。如果使用s i l v e r l i g h t ,在需要更改大量的内容时,服务器端只需生成新 的x a m l 文件。用户下次访问该页面时,会下载该x a m l 并更新体验,而无须进行 任何重新安装【引。 3 2s 1v e ri - g h t 起源及发展 3 2 1s i v e rii g h t 的起源 s i l v e r l i g h t 的前身是“w p f e ( w p fe v e r y w h e r e ) ,w p f e 是w p f 的一个子集合, w p f 全称为w i n d o w sp r e s e n t a t i o nf o u n d a t i o n ,它是n e t3 0 框架技术的重要组成部分, 是微软新一代的w i n d o w s 桌面程序的界面呈现技术,n e t3 0 框架原名为“w i n f x , 其中包括4 大核心技术: w p f ( w i n d o w sp r e s e n t a t i o nf o u n d a t i o n ) w c f ( w i n d o w sc o m m u n i c a t i o nf o u n d a t i o n ) w f ( w i n d o w sw o r k f l o w ) w c s ( w i n d o w sc a r ds p a c e s ) 从字面上理解w p fe v e r y w h e r e ,其含义是w p f 应用可以随处存在和运行,w p f e 运行时组件的安装程序只有1 1 m b 大小,相对于n e t3 0 框架的5 0 m b 以上精简了许多, 但是w p f e 技术的功能特性并没有因此大幅度缩水,相反,w p f e 可以和a s e n e t 、 a j a x 、j a v a s c r i p t 、w e b s e r v i c e 、w c f 等技术交互,使得它的扩展性和维护性都具有很大 的优势,最后微软将w p f e 更名为s i l v e r l i g h t 9 1 。 s i l v e r l i g h t 技术是微软发展r i a 技术最重要的一部分,不仅是单纯的图形接口展 现,更重要的是,它包含了执行应用程序所需的前端运算能力,同时能够轻易地通过 网络与后台数据源进行沟通【9 1 。该技术也很灵活,为方便复用可以建立用户控件,f - j p 网站上的应用更加容易,且具有较强动态控制能力,再加上l i n q 技术使s i l v e r l i g h t 在 动态网站代码编写上具有很强的灵活性。 3 2 2siiv e riig h t 技术架构 s i l v e r l i g h t 由p r e s e n t a t i o nc o r e 和n e tf o rs i l v e r l i g h t 两个主要组件构成,如图3 - 1 所示。其中p r e s e n t a t i o nc o r e 是面向与用户交互的服务和组件,其中包括用户输入、 用于w e b 及应用程序的轻量级u i 控件、媒体播放( m e d i a ) 、数字权限管理( d r m ) 、数 9 湖北大学硕士学位论文 据绑定,还包括界面特性( o ic o r e ) 及定制布局的x a m l ;n e tf o rs i l v e r l i g h t 是包含组 件和类库的n e tf r a m e w o r k 的子集,包括数据集成,可扩展的w i n d o w s 控件、基类库、 网络、公共语言运行时( c l r ) 1 0 1 。 厂、 n e tf o rs i l v e r l i g h t d a t aw p fw c f l i n q c 饵灯o l sr s 丁 x l i n q d a t ab i n d i n gr s 姒t o m 舭 l a y o u t s o a p e d i t i n g p o x 鼷的n d l rb c l i r o np y t h o n g e n e r i c s i r o n 鼬姆 c o l l c c t i o t i s c r y p t o g r a p h y j s c r i p t h r ea d i n g c l re x e c u t i o ne 晒豫 p r e s e n t a t i o nc o 他 厂 、 l x a m l u lc o r e i n p u t s m e d i ad r m v e c t a a n i n 胁t i m k e y b o a r d v c l t e x t n 幻雌篱绔,蚴l 泡d i a i n k艘3 i m a g e s 图3 - 1s i l v e r l i g h t 技术架构图 3 2 3s ii v o ri g h t 、h t m l
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 交叉作业管理协议书
- 银行营销考题题库及答案
- 新疆教师教材考试题库及答案
- 服装店周试题带答案
- 楼房租房协议书范本
- 银行建筑专业知识题库及答案
- 2026-2031年中国生活服务o2o模式行业深度调研报告
- 农机修理工基本考试题及答案
- 基于样图的纹理合成技术:原理、算法与应用探索
- 基于柔性减振超声变幅的生物显微切割仪的创新设计与实验研究
- 鳃裂囊肿的护理
- 重庆市南川区三校联盟2024-2025学年八年级上学期期中考试物理试题(A卷)
- 高速铁路系统维护与检修成本研究
- 全国网络安全行业职业技能大赛(网络安全管理员)考试题及答案
- 职业技术学院《建筑力学与结构》课程标准
- 一年级经典诵读(上学期)
- 医院物业服务投标方案(技术方案)
- 新改版大象版科学六年级上册全册知识点
- 充电桩的施工方案
- 大学生当兵职业规划生涯目标
- MOOC 美术鉴赏-河南理工大学 中国大学慕课答案
评论
0/150
提交评论