client交互技术简单介绍


随着网络应用的不断丰富,client交互技术也如雨后春笋一般,遍地开花。

正是这些技术的支持,我们的互联网世界变得更加丰富多彩。一个浏览器上。不用说是简单的动画效果,就是一个Office应用也能顺畅的使用。全部这些都要感谢client交互技术的高速发展。甚至。如今的client交互技术的发展的趋势是。能够以浏览器为载体。也能够脱离浏览器以单独的应用形式存在。

   整体来看。眼下的client交互技术主要分为例如以下几大类别;

  1. microsoft系列: ActiveX Silverlight

  2. java系列:Java AppletRCPRAPGWT,JavaFX

  3. Adobe系列: flashflex),ActionScriptair

  4. html系列:  ajax(异步IO)。html5

    1. microsoft系列

    1)ActiveX 这个在10年前是非常流行的。当时的控件非常单一。

    非常多复杂的业务就 被封装成一个个ActiveX控件。但这个有几个问题,1是仅仅有IE才支持。其它浏览器如今有的尽管号称支持了,但和IE原生态环境相比,也仅仅能说是有了,效果还是有差别的。2是须要数字签名。可是IE的安全级别又是能够设置的,所以安全漏洞百出。仅仅能说想法是好的。效果反而成为鸡肋了。

    2Silverlight

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

    主要基于下面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 开发桌面应用也变得easy了非常多。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 执行在server上。因此同意您訪问丰富的 Java API 并同意通过 OSGi 使用著名的 Eclipse 插件模型。

    RAP 版与 RCP 版的主要区别在于插件依赖性(RAP 插件)和应用程序入口点(IEntryPoint)。

    GWT  (GoogleWeb Toolkit)同意使用 Java 来编写富 Internet 应用程序的代码。GWT 执行在客户机上。GWT 类似一个web SWT 应用程序。

     

    3JavaFX:JavaFX将成为Java平台上主流的图形用户界面开发库。可是在富client领域,因为有其它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。是未来的趋势。在浏览器层面解决client交互,而不是之前说的3类。通过插件的方式来增强交互。它支持多设备跨平台。

    Html5主要包含了一些新增的ui控件。如多媒体播放器webplayercanvas等。添加了websoket的支持,这个是对异步IO的根本性的颠覆;添加webwork。舍得高性能计算和页面展示能够线程分离。不影响用户体验。添加了css3支持。展现式样上对3D效果更加支持。

    Html5通过history特性甚至攻克了ajax不能改动URL这个先天不足。

    在云时代渐渐向我们走进的时候,Html5将代表了未来。当然,全部的这些须要通过市场的洗礼,一一落地。

     

     

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

原文地址:https://www.cnblogs.com/slgkaifa/p/7230378.html