Yahoo javascript 开源界面库YUI 和EXT

清清月儿整理

[yui][译]Yahoo!User Interface Libray 介绍

Yahoo! User Interface Library(简称yui) 是一个使用JavaScript编写的工具和控件库。它利用DOM脚本,DHTML和AJAX来构造具有丰富交互功能的Web程序。yui也包含几个核心的CSS文件。yui中的所有组件已经以开源的形式发布,它们遵循BSD协议并且可以免费使用。可以从Sourceforge站点下载完整的项目文件,同时包含相关文档和示例。

-Written by 浪子@cnblogs.com

Yui组件分成2类:工具包和控件库

Yui 工具包

Yui 工具包利用DOM脚本来简化浏览器内的开发(in-browser devolvement),使用DHTML和AJAX的特性开发所有的Web程序。

动画(Animation):在你的页面中通过指定位置,大小,透明度或者页面元素的其他特性来创建一个“电影效果(cinematic effects)”。这些效果将在你的页面发生变化的时候给用户更好的体验。

连接管理(Connection Manager ):这个工具包帮助你管理XMLHttpRequest(一般被称为AJAX)事务,它提供对表单提交(form posts),错误捕获(error handling)和callbacks的全面支持。该工具包也支持文件的上传管理。

DOM:DOM工具包提供更简单的DOM脚本的功能调用方式,包含元素的位置和CSS样式的管理。

拖放(Drag and Drop):创建可拖放的对象。为了提供丰富的交互功能(比如拖动一个对象到目标位置)你可能需要编写很多代码。这个工具包可以在所有支持的浏览器中捕获所有的操作事务并保证其稳定地运行。

事件(Event):这个神奇的管理类库给你提供一种简单安全的方法访问浏览器的事件(比如点击和键盘操作)。这个事件封包中还包含了自定义事件对象,它为你的程序交互提供一种发布和订阅事件的机制。

yui控件:

yui控件库为你页面提供一组高交互性性的可视化元素。这些元素完全在客户端创建维护,不需要请求服务器进行页面刷新。

这些控件包括:

自动完成(AutoComplete)控件:自动完成控件为文本输入提供一种渐进式的用户体验(streamline user interactions)。控件会提供相似项列表和基于多样化的数据格式的提前键入功能(type-ahead functionality based on a variety of data-source formats),并且可以通过XMLHttpRequest访问服务端的数据。

日历(Calendar)控件:一个用来日期选择的动态图形控件。

容器(Container)控件:一组模仿windows样式的控件,他们包括Tooltip, Panel, DialogSimpleDialog。其中ModuleOverlay控件提供一个可扩展的平台,你可以控制自定义的模仿windows样式的控件。

日志(Logger)控件:提供一个快速和简单的记录日志的方式,它直接将日志信息输出到屏幕控制台(on-screen console)、Firefox的扩展组件FireBug,或者Safari的Javascript控制台。yui的Debug组件将完整的记录输出信息和调试信息。

菜单(Menu)控件:利用此控件只需要几行简单的代码就可以设计一个动态样式的菜单。可以完全使用javascript构造一个菜单,can be layered on top of semantic unordered lists。

滑块(Slider)控件:提供一个可滑动的组件,它允许使用者在一定的范围内(x轴,y轴)改变滑块的位置。

树形(TreeView)控件:提供一个节点可缩放的树形控件。节点可以是链接,自定义属性,并且可以动态加载。节点元素的展现可以通过CSS修改,比如文件夹视图,TO-DO任务列表或者其他可视化处理

第三章 yui的CSS资源

为了让CSS能符合不同等级的浏览器(A-Grade browsers)的标准,我们想了很多。我们把这些作为yui类库的一部分共享出来,希望能在这里得到促进,获得一个简洁的,可维护并在浏览器中表现优秀的设计。

页面网格样式(CSS Page Grids):7个基本的用css组织子组件的页面框架,支持130种不通的页面布局。

标准的CSS字体(Standard CSS Fonts):标准的跨浏览器字体样式和大小展现。

标准的CSS排列(Standard CSS Reset):使用这些CSS声明来排除页面的空白部分并且公共元素的样式兼容各种浏览器的展现。

YUI Team于美国时间5月28日发布了YUI 2.5.2,主要变化:
1. 这一版针对Firefox3和Opera9.5解决了几个关键性Bug。
2. 修复了DataTable、Menu、RTE、Button的几个主要Bug。
3. Charts组件增加3种新风格。
4. 从这版开始,在YUI下载包中增加了ActionScript源文件,方便开发者深入了解Charts和Uploader组件。
详情请见YUI Blog

主页:http://developer.yahoo.com/yui/

清清月儿整理

控件:

YUI Components Animation AutoComplete Browser History Manager Button Calendar Charts (experimental) Color Picker Connection Manager Cookie beta_1.gif Container DataSource beta_1.gif DataTable beta_1.gif Dom Drag & Drop Element beta_1.gif Event Get ImageCropper beta_1.gif ImageLoader JSON Layout Manager beta_1.gif Logger Menu Profiler beta_1.gif ProfilerViewer beta_1.gif Resize beta_1.gif Rich Text Editor beta_1.gif Selector beta_1.gif Slider TabView TreeView Uploader (experimental) Yahoo Global Object YUI Loader beta_1.gif YUI Test Reset CSS Base CSS Fonts CSS Grids CSS

Filter
-min -debug raw
Options Load OptionalCombine All JS Files Allow Rollup base:
YUI JavaScript Core Dom Collection Event Utility Yahoo Global Object YUI JavaScript Utilities Animation Utility Connection Manager Cookie Utility DataSource Utility Drag & Drop Utility Element Utility Get Utility Browser History Manager ImageLoader Utility JSON Utility Resize Utility Selector Utility YUI Loader Utility YUI Aggregate (Rollup) Files reset-fonts.css reset-fonts-grids.css utilities.js yahoo-dom-event.js yuiloader-dom-event.js
YUI CSS Packages Base CSS Package Fonts CSS Package Grids CSS Package Reset CSS Package YUI User Interface Widgets AutoComplete Control Button Control Calendar Control Charts Control Color Picker Control Container Family Container Core (Module, Overlay) DataTable Control Rich Text Editor ImageCropper Control Layout Manager Menu Control Simple Editor Slider Control TabView Control TreeView Control Uploader YUI Developer Tools Logger Control Profiler ProfilerViewer Control YUI Test Utility

EXT介绍

ext是一个强大的js类库,以前是基于YAHOO-UI,现在已经完全独立了,

主要包括data,widget,form,gird,dd,menu,其中最强大的应该算gird了,编程思想是基于面对对象编程(oop),扩展性相当的好.可以自己写扩展.自己定义命名 空间.web应用可能感觉太大.不过您可以根据需要按需加载您想要的类库就可以了.

主要包括三个大的文件ext-all.css,ext-base.js,ext-all.js(包括所有的类库,您可以根据需要进行删减.官方 网站提供这一接口),在引用ext类库的时候.这三个文件必不可少.

Combination Samples s.gifGrid Samples s.gifTabPanel Samples s.gifWindow Samples s.gifTree Samples s.gifLayout Managers s.gifComboBox Samples s.gifForm Samples s.gifToolbars and Menus s.gifTemplates and DataView s.gifMisc Samples

Combination Samples
feeds.gif
Feed Viewer 2.0

RSS 2.0 feed reader sample application that features a swappable reader panel layout.

air.gif
Simple Tasks 2.0

Complete personal task management application sample that runs on Adobe AIR.

tasks.gif
Simple Tasks

Personal task management application sample that uses Google Gears for data storage.

organizer.gif
Image Organizer

DataView and TreePanel sample that demonstrates dragging data items from a DataView into a TreePanel.

desktop.gif
Web Desktop

Demonstrates how one could build a desktop in the browser using Ext components including a module plugin system.

Grid Samples
grid-array.gif
Basic Array Grid

A basic read-only grid loaded from local array data that demonstrates the use of custom column renderer functions.

grid-edit.gif
Editable Grid

An editable grid loaded from XML that shows multiple types of grid ediors as well as defining custom data records.

grid-xml.gif
XML Grid

A simple read-only grid loaded from XML data.

grid-paging.gif
Paging

A grid with paging, cross-domain data loading and custom- rendered expandable row bodies.

grid-grouping.gif
Grouping

A basic grouping grid showing collapsible data groups that can be customized via the "Group By" header menu option.

grid-summary.gif
Live Group Summary

Advanced grouping grid that allows cell editing and includes custom dynamic summary calculations.

grid-plugins.gif
Grid Plugins

Multiple grids customized via plugins: expander rows, checkbox selection and row numbering.

grid-filter.gif
Grid Filtering

New! Grid plugins providing custom data filtering menus that support various data types.

grid-from-markup.gif
Grid From Markup

Custom GridPanel extension that can convert a plain HTML table into a dynamic grid at runtime.

grid-data-binding.gif
Binding: Grid (basic)

New! Data binding a grid to a detail preview panel via the grid's RowSelectionModel.

grid-data-binding.gif
Binding: Grid (advanced)

New! Refactoring the basic data binding example to use a class-based application design model.

TabPanel Samples
tabs.gif
Basic Tabs

Basic tab functionality including autoHeight, tabs from markup, Ajax loading and tab events.

tabs-adv.gif
Advanced Tabs

Advanced tab features including tab scrolling, adding tabs programmatically and a context menu plugin.

Window Samples
window.gif
Hello World

Simple "Hello World" window that contains a basic TabPanel.

msg-box.gif
MessageBox

Different styles include confirm, alert, prompt, progress and wait and also support custom icons.

window-layout.gif
Layout Window

A window containing a basic BorderLayout with nested TabPanel.

Tree Samples
tree-reorder.gif
Drag and Drop Reordering

A TreePanel loaded asynchronously via a JSON TreeLoader that shows drag and drop with container scroll.

tree-two.gif
Multiple trees

Drag and drop between two different sorted TreePanels.

tree-columns.gif
Column Tree

A custom TreePanel implementation that demonstrates extending an existing component.

Layout Managers
layout-browser.gif
Layout Browser

New! Includes examples for each standard Ext layout, several custom layouts and combination examples.

border-layout.gif
Border Layout

A complex BorderLayout implementation that shows nesting multiple components and sub-layouts.

anchor.gif
Anchor Layout

A simple example of anchoring form fields to a window for flexible form resizing.

portal.gif
Portal Demo

A page layout using several custom extensions to provide a web portal interface.

ComboBox Samples
combo.gif
Basic ComboBox

Basic combos, combos rendered from markup and customized list layout to provide item tooltips.

combo-custom.gif
ComboBox Templates

Customized combo with template-based list rendering, remote loading and paging.

Form Samples
form-dynamic.gif
Dynamic Forms

Various example forms showing collapsible fieldsets, column layout, nested TabPanels and more.

form-xml.gif
Ajax with XML Forms

Ajax-loaded form fields from remote XML data and remote field validation on submit.

form-custom.gif
Custom Search Field

A TriggerField search extension combined with an XTemplate for custom results rendering.

form-grid-binding.gif
Binding: Grid -> Form

New! A grid embedded within a FormPanel that automatically loads records into the form on row selection.

form-adv-vtypes.gif
Advanced Validation

New! Relational form field validation using custom vtypes.

Toolbars and Menus
toolbar.gif
Basic Toolbar

Toolbar and menus that contain various components like date pickers, color pickers, sub-menus and more.

toolbar-actions.gif
Ext Actions

Bind the same behavior to multiple buttons, toolbar and menu items using the Ext.Action class.

Templates and DataView
templates.gif
Templates

A simple example of rendering views from templates bound to data objects.

data-view.gif
DataView

A basic DataView with custom plugins for editable labels and drag selection of items.

chooser.gif
DataView (advanced)

New! A more customized DataView supporting sorting and filtering with multiple templates.

Misc Samples
statusbar.gif
StatusBar

New! A simple StatusBar that can be dropped into the bottom of any panel to display status text and icons.

statusbar-plugin.gif
StatusBar (advanced)

New! Customizing the StatusBar via a plugin to provide automatic form validation monitoring and error linking.

slider.gif
Slider

New! A slider component that supports vertical mode, snapping, tooltips, customized styles and more.

dd-zones.gif
Custom Drag and Drop

New! Enabling drag and drop between a DataView and a grid using DragZone and DropZone extensions.

qtips.gif
QuickTips

Various tooltip and quick tip configuration options including Ajax loading and mouse tracking.

progress.gif
Progress Bar

A basic progress bar component shown in various configurations and with custom styles.

panel.gif
Panels

A basic collapsible panel example.

resizable.gif
Resizable

Examples of making any element resizable with various configuration options.

spotlight.gif
Spotlight

A utility for masking everything except a single element on the page to visually highlight it.

locale-dutch.gif
Localization (static)

Demonstrates fully localizing a form by including a custom locale script.

locale-switch.gif
Localization (dynamic)

Dynamically render various Ext components in different locales by selecting from a locale list.


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值