• Ext.JS


        ExtJS可以用来开发RIA也即丰富客户端的AJAX应用,是一个用javascript写的,主要用于创建前端用户界面,是一个与后台技术无关的前端ajax框架。因此,可以把ExtJS用在.Net、Java、Php等各种开发语言开发的应用中。ExtJs最开始基于YUI技术,由开发人员JackSlocum开发,通过参考JavaSwing等机制来组织可视化组件,无论从UI界面上CSS样式的应用,到数据解析上的异常处理,都可算是一款不可多得的JavaScript客户端技术的精品。

    ExtJs支持多平台下的主流浏览器 Internet Explorer 6+ FireFox 1.5+ (PC, Mac) Safari2+、Opera9+。在使用的厂家包括IBM、Adobe、Cisco和更多。

    Ajax主流框架与ExtJS
    JQuery、 Prototype和YUI都属于非常核心的JS库。虽然YUI,还有最近的JQuery,都给自己构建了一系列的UI器件(Widget),不过却没有一个真正的整合好的和完整的程序开发平台。哪怕是这些低层的核心库已经非常不错了,但当投入到真正的开发环境中,依然需要开发者做大量的工作去完善很多缺失之处。
    而Ext就是要填补这些缺口。
    主流开源框架中只有Dojo像Ext一样,尝试着提供整合的开发平台。相比Dojo这个出色的工具包,我们认为 Ext能提供一个粘合度更高的应用程序框架。
    Ext的各个组件在设计之时就要求和其它Ext组件组合一起工作是无缝合作的。这种流畅的互通性,离不开一个紧密合作的团队,还必须时刻强调设计和开发这两方面目标上的统一,而这点是很多开源项目未能做到的。从构建每一个组件开始,我们始终都强调组件的外观、性能、互通性和可扩展性,而我们认为组件已经达到了这几点的要求。
    Ext绝对可以单独使用.实际上,除了有特定的要求,推荐单独使用Ext,这样的话文件占位更小,支持和整合也更紧密。我们也支持与jQuery、 YUI或Prototype整合使用,作为底层库的角色出现,以提供处理各种核心的服务,如DOM和事件处理,Ajax连接和动画特效。使用整合方式的一个原因是它们已具备了一些特定的器件而Ext并没有原生支持——像YUI的History控件便是一个典型的例子。这时,Ext需要依赖YUI这个库的底层来实现History控件,这样一来的话也可免去Ext自身底层库,从而减少了整个程序的内存占用。另一个使用整合方式的原因是,对于许多已在使用其他底层库的程序,你可能希望逐步加入Ext。总之,如果已经有了其他库,Ext可以利用它们。我们的宗旨是为用户提供各种可能性和性能上的优化。而事实是,只要实现了相对应的底层库接口,为任意一个框架添加上适配器是没有问题的——人们可以轻松地将Dojo、Moo、AjaxNET,或其它JS库转变为 Ext的底层。
    Ext从2.x开始收费,这给他的应用前景带来一些问题。不过对国内开发人员的影响不大,毕竟是客户付款。
     
    1. 不用再调css,降低了工作量。由于ExtJS本身的约束很强,只要配置错误,就是不会有效果。而且css可以调整的地方相对比较少。只要正确使用,就会有一个统一的ui样式,而且看上去还不错。这对于java等后台程序员来说是很有诱惑的。原来用jquery插件组织出来的页面确实有些地方非常漂亮,但是这也增加了调整css的工作量,同时各种组件的风格没有调整统一,导致不协调,反倒不好看了。后来在网上找了一些后台设计方案,挺不错的,当时不知道,这些都是经验的问题吧,如果用哪个方案继续做下去,或许没有那么糟糕,但是css的工作量必定还是非常大。
    2. 前端开发的趋势就是组件化。reactjs和web compoment都是为了实现组件化。extjs自己实现了一套,一开始不适应,现在也习惯了。reactjs不过是xml化,而extjs则用object来配置,就当做是xml和json的区别吧。
    3. 相对别的框架,文档比较齐全,也有很多坑。代码是开源的,方便学习,比很多框架要大气一点,当然extjs 不怕你抄,反正他的目标客户都是500强,可以告你。
    4. 因为sencha挺赚钱的,所以肯定会持续开发,做些新鲜的东西出来。
    5. 增加了代码的复杂度,出来bug只好脑补来调,spa的顽疾吧,无解。
    6. dom语法不能和jquery兼容,差评。
    7. 网上大量开源组件整合困难,差评。
    8. 国内文档少,大部分都是google和sencha论坛。考验英语。
    9. 要付钱

    xml与json的区别:

    Xml特点:

      1、有且只有一个根节点;

      2、数据传输的载体

      3、所有的标签都需要自定义

      4、是纯文本文件 

    Json(JavaScript Object Notation)特点:

    json分为两种格式:

    1.json对象(就是在{}中存储键值对,键和值之间用冒号分隔,

    键 值 对之间用逗号分隔); 

    2.json数组(就是[]中存储多个json对象,json对象之间用逗号分隔)

    (两者间可以进行相互嵌套)数据传输的载体之一

    区别:

     传输同样格式的数据,xml需要使用更多的字符进行描述,

        流行的是基于json的数据传输。

        xml的层次结构比json更清晰。

    共同点:

        xml和json都是数据传输的载体,并且具有跨平台跨语言的特性。

    1.XML
    扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 XML使用DTD(document type definition)文档类型定义来组织数据;格式统一,跨平台和语言,早已成为业界公认的标准。
    XML是标准通用标记语言 (SGML) 的子集,非常适合 Web 传输。XML 提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。

    2.JSON
    JSON(JavaScript Object Notation)一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性。可在不同平台之间进行数据交换。JSON采用兼容性很高的、完全独立于语言文本格式,同时也具备类似于C语言的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)体系的行为。这些特性使JSON成为理想的数据交换语言。
    JSON基于JavaScript Programming Language , Standard ECMA-262 3rd Edition - December 1999 的一个子集。

    3.XML和JSON优缺点

    (1).XML的优缺点
    <1>.XML的优点
      A.格式统一,符合标准;
      B.容易与其他系统进行远程交互,数据共享比较方便。
    <2>.XML的缺点
      A.XML文件庞大,文件格式复杂,传输占带宽;
      B.服务器端和客户端都需要花费大量代码来解析XML,导致服务器端和客户端代码变得异常复杂且不易维护;
      C.客户端不同浏览器之间解析XML的方式不一致,需要重复编写很多代码;
      D.服务器端和客户端解析XML花费较多的资源和时间。

    (2).JSON的优缺点
    <1>.JSON的优点:
      A.数据格式比较简单,易于读写,格式都是压缩的,占用带宽小;
      B.易于解析,客户端JavaScript可以简单的通过eval()进行JSON数据的读取;
      C.支持多种语言,包括ActionScript, C, C#, ColdFusion, Java, JavaScript, Perl, PHP, Python, Ruby等服务器端语言,便于服务器端的解析;
      D.在PHP世界,已经有PHP-JSON和JSON-PHP出现了,偏于PHP序列化后的程序直接调用,PHP服务器端的对象、数组等能直接生成JSON格式,便于客户端的访问提取;
      E.因为JSON格式能直接为服务器端代码使用,大大简化了服务器端和客户端的代码开发量,且完成任务不变,并且易于维护。
    <2>.JSON的缺点
      A.没有XML格式这么推广的深入人心和喜用广泛,没有XML那么通用性;
      B.JSON格式目前在Web Service中推广还属于初级阶段

  • 相关阅读:
    Leetcode---2. Add Two Numbers
    Leetcode---1. Two Sum
    dpkg:处理 xxx (--configure)时出错解决方案
    ubuntu 14.04搭建tensorflow-gpu开发环境
    Leetcode---35. Search Insert Position
    Leetcode---21. Merge Two Sorted Lists
    Leetcode----26. Remove Duplicates from Sorted Array
    Leetcode---28. Implement strStr()
    Leetcode----27 Remove Element
    qemu 安装 ubuntu-server 虚拟机
  • 原文地址:https://www.cnblogs.com/ziyanxiaozhu/p/8457615.html
Copyright © 2020-2023  润新知