客户端交互技术简介


随着网络应用的不断丰富,客户端交互技术也如雨后春笋通常,遍地开花。正是这些技术的支持,咱们的互联网世界变得更加丰富多彩。一个浏览器上,不用说是简单的动画效果,就是一个Office应用也能顺畅的使用。全部这些都要感谢客户端交互技术的快速发展。甚至,如今的客户端交互技术的发展的趋势是,能够以浏览器为载体,也能够脱离浏览器以单独的应用形式存在。css

   整体来看,目前的客户端交互技术主要分为以下几大类别;html

  1. microsoft系列: ActiveX Silverlighthtml5

  2. java系列:Java AppletRCPRAPGWT,JavaFXjava

  3. Adobe系列: flashflex),ActionScriptairios

  4. html系列:  ajax(异步IO),html5css3

    1. microsoft系列web

    1)ActiveX 这个在10年前是很是流行的。当时的控件很单一。不少复杂的业务就 被封装成一个个ActiveX控件。但这个有几个问题,1是只有IE才支持,其余浏览器如今有的虽然号称支持了,但和IE原生态环境相比,也只能说是有了,效果仍是有区别的。2是须要数字签名。可是IE的安全级别又是能够设置的,因此安全漏洞百出。只能说想法是好的,效果反而成为鸡肋了。ajax

    2Silverlight编程

    SilverlightMicrosoft提供的一个浏览器的、跨平台的插件,为Web带来良好的多媒体体验和丰富的交互式应用程序体验。基于.NET平台。如今能够基于浏览器,也能够独立运行。canvas

    主要基于如下2大技术:

    XAML(可扩展应用程序标记语言--展现UI layout

    WPF(WindowsPresentation Foundation--用户界面框架

    Silverlight播出视频及动画的效果很好,支持硬件加速

    Silverlight支持windows IOS,支持iefirefoxsafari等。

    Silverlight没有了像activex的安全的问题,也支持SEO。网站开发者仍是比较偏心的。

    Silverlight控件丰富,并支持第三方和自定义控件。

    2. java系列

    1Java Applet:是网页上的java程序。用awt做为图形库。含有Applet的网页的HTML文件代码中部带有<applet> </applet>这样一对标记,当支持Java的网络浏览器遇到这对标记时,就将下载相应的小应用程序代码并在本地计算机上执行该Applet。以前的google编程大赛平台就是用这个作的。要运行javaapplet,首先要装java虚拟机,而后第一次使用时,下载applet也须要必定时间。如今使用的很少了,只有在过去开发的一些企业内部管理系统中还能看见。

    2RCP。这里指的RCP是专门指Eclipse RCPRCP提供了丰富的界面控件,这使得基于 Java 开发桌面应用也变得容易了不少。RCP 充分发挥了插件化系统的优点, 是基于 OSGi 构建插件化系统的最佳实践。Eclipse RCP项目用SWT图形库和工具包取代了Java标准中的AWTSwingSWT直接调用了操做系统的图形库,从而使得Java应用程序的LOOK & Feel 与操做系统的习惯彻底一致;更为重要的是,对本地方法的直接调用大幅度的提升了基于SWT Java应用程序的运行速度。固然SWT也有先天的不足,它不是标准的java控件库,市场占有率不高,同时在ios上的性能表现也不佳,只是在windows上尚可。

    RAPEclipse Rich AjaxPlatform):RAP 容许开发人员使用丰富的 Java 库和Eclipse API 构建基于浏览器的 Ajax 应用程序。RAP 主要运行在服务器上。因为 RAP 运行在服务器上,所以容许您访问丰富的 Java API 并容许经过 OSGi 使用著名的 Eclipse 插件模型。RAP 版与 RCP 版的主要差异在于插件依赖性(RAP 插件)和应用程序入口点(IEntryPoint)。

    GWT  (GoogleWeb Toolkit)容许使用 Java 来编写富 Internet 应用程序的代码。GWT 运行在客户机上。GWT 相似一个web SWT 应用程序。

     

    3JavaFX:JavaFX将成为Java平台上主流的图形用户界面开发库。可是在富客户端领域,因为有其余3大系列的竞争,市场份额占有仍是不多,将来难以估计。在组件的外观方面,一套图形用户界面库JavaFX2.0也采用了更加流行的作法,即用CSS来定义应用的外观。JavaFX2.0也引入了界面描述语言FXML.JavaFX 2.0开始使用了java做为开发语言而不是以前的JavaFX  script. 在之后的开发中,AWTSwing应该会逐渐淡出桌面应用开发的视野。 JavaFX能发挥做用的一个地方应该是在企业内部系统中。

     

    3 Adobe系列:

    1flashflex):Flash的编程模型是基于时间轴的,Flex的则是基于窗体。一个服务于设计师,一个服务于开发人员。

    2ActionScript:开发 flash或者flex的编程脚本语言。

    3 Adobe Air是利用Adobe公司的Flash技术开发的视频播放平台。比较熟悉的例子:sina 微博 air

    优势: 1)跨平台(跨操做系统,跨浏览器) 2)技术门槛下降:只须要有web开发技术3)能够脱机运行,偶尔链接网络4)基于flash的用户体验更好

    缺点: 1)用户体验和交互操做比桌面应用还有不足,而且不少应用须要安装桌面应用才行。2)须要安装虚拟机

     

     

    4.html系列

    1ajax

    这个是目前的主流。Web2.0的基础。该技术使得网页实现异步的局部更新。市面上的全部的浏览器都支持。主流流行的js框架也都为止进行了封装。在流媒体处理上还有不足。

    异步IO—是针对同步IO而言,加强clientserver交互性的socket链接手段。常用在各类分布式、即时通讯和中间件系统中。是一种高效,且扩展性很强的通讯架构。

    2Html5,是将来的趋势。在浏览器层面解决客户端交互,而不是以前说的3类,经过插件的方式来加强交互。它支持多设备跨平台。

    Html5主要包括了一些新增的ui控件,如多媒体播放器webplayercanvas等;增长了websoket的支持,这个是对异步IO的根本性的颠覆;增长webwork,舍得高性能计算和页面展现能够线程分离,不影响用户体验;增长了css3支持,展示式样上对3D效果更加支持。Html5经过history特性甚至解决了ajax不能修改URL这个先天不足。在云时代渐渐向咱们走进的时候,Html5将表明了将来。固然,全部的这些须要经过市场的洗礼,一一落地。

     

     

    总而言之,客户端交互技术是在不断的向前的。不为别的,只由于它在互联网时代将带给使用者更真实的用户体验。

相关文章
相关标签/搜索