今天,本文向初学者介绍一些 Web 开发中的基本概念和用到的技术,从A到Z总共26项,每项对应一个概念或者技术。
A — AJAX
AJAX 全称为“ Asynchronous JavaScript and XML ”(异步 JavaScript 和 XML ),是一种创建交互式网页应用的 网页开发 技术。根据Ajax提出者Jesse James Garrett建议,AJAX:
使用 XHTML + CSS 来表示信息;
使用 JavaScript 操作 DOM (Document Object Model)进行动态显示及交互;
使用 XML 和 XSLT 进行数据交换及相关操作;
使用 XMLHttpRequest 对象与 Web服务器 进行异步数据交换;
使用 JavaScript 将所有的东西绑定在一起。
类似于 DHTML 或 LAMP ,AJAX不是指一种单一的技术,而是有机地利用了一系列相关的技术。事实上,一些基于AJAX的“派生/合成”式(derivative/composite)的技术正在出现,如 AFLAX 。
B — Browser
网页浏览器 是个显示 网页服务器 或文件系统内的文件,并让用户与此些文件交互的一种 软件 。它用来显示在 万维网 或 局域网 等内的文字、图像及其他信息。这些文字或图像,可以是连接其他网址的超连结,用户可迅速及轻易地浏览各种信息。大部分网页为 HTML 格式,有些网页需特定浏览器才能正确显示。 个人电脑 上常见的网页浏览器按照2010年1月的市场占有率依次是 微软 的 Internet Explorer 、 Mozilla 的 Firefox 、 Google 的 Google Chrome 、 苹果公司 的 Safari 和 Opera软件公司 的 Opera 。浏览器是最经常使用到的 客户端程序 。Web开发人员应该确保其程序在各个主流浏览器中都能正常工作。
C — CSS
层叠样式表, 又称: 串样式列表 ,英文: Cascading Style Sheets ,简写为 CSS ,由 W3C 定义和维护的标准,一种用来为结构化文档(如 HTML 文档或 XML 应用)添加样式(字体、间距和颜色等)的 计算机语言 。目前最新版本是 CSS 2.1,为W3C的候选推荐标准。下一版本CSS 3仍然在开发过程中。
D — DOM
文档对象模型 (Document Object Model,简称DOM),是 W3C 组织推荐的处理 可扩展置标语言 的标准编程接口。Document Object Model的历史可以追溯至1990年代后期微软与 Netscape 的“ 浏览器大战 ”(browser wars),双方为了在 JavaScript 与 JScript 一决生死,于是大规模的赋予浏览器强大的功能。微软在网页技术上加入了不少专属事物,计有VBScript、ActiveX、以及微软自家的D HTML 格式等,使不少网页使用非微软平台及浏览器无法正常显示。DOM即是当时蕴酿出来的杰作。
E — Events
事件 是可以被控件识别的操作,如按下确定按钮,选择某个 单选按钮 或者 复选框 。每一种控件有自己可以识别的事件,如 窗体 的加载、单击、双击等事件,编辑框(文本框)的文本改变事,等等,现代的Web应用程序很大程度上依靠事件驱动。
事件有系统事件和用户事件。系统事件由系统激发,如时间每隔24小时,银行储户的存款日期增加一天。用户事件由用户激发,如用户点击按钮,在文本框中显示特定的文本。 事件驱动 控件执行某项功能。触发事件的对象称为事件发送者;接收事件的对象称为事件接收者。
使用事件机制可以实现:当类对象的某个状态发生变化时,系统将会通过某种途径调用类中的有关处理这个事件的方法或者触发控件事件的对象就会调用该控件所有已注册的事件处理程序等。
F — Firebug
Firebug 是 网页浏览器 Mozilla Firefox 的一个扩展,是一个除错工具。用户可以利用它除错、编辑、甚至删改任何网站的 CSS 、 HTML 、 DOM 、与 JavaScript 代码。Firebug 也有提供其他网页开发工具,例如 Yahoo! 的网页速度优化建议工具 YSlow 。Firebug是哈维( Joe Hewitt )撰写的。他是最初Firefox创始者之一。
G — Grid
网格 ,也称 栅格 ,不过从定义上说,栅格更为准确些。网上找个一个对网页栅格系统比较恰当的 定义 :以规则的网格阵列来指导和规范网页中的版面布局以及信息分布。网页栅格系统是从平面栅格系统中发展而来。对于网页设计来说,栅格系统的使用,不仅可以让网页的信息呈现更加美观易读,更具可用性。而且,对于前端开发来说,网页将更加的灵活与规范。如果有很多CSS框架支持栅格功能,可参考文章《 介绍27款经典的CSS框架 》。
H — HTML
超文本置标语言 ( 英文 : HyperText Markup Language , HTML )是为“ 网页 创建和其它可在 网页浏览器 中看到的信息”设计的一种 置标语言 。HTML被用来结构化信息——例如标题、段落和列表等等,也可用来在一定程度上描述文档的外观和 语义 。由 蒂姆·伯纳斯-李 给出原始定义,由 IETF 用简化的 SGML (标准通用置标语言)语法进行进一步发展的HTML,后来成为国际标准,由 万维网联盟 (W3C)维护。
最新版本是 HTML5 它是HTML下一个的主要修订版本,现在仍处于发展阶段。目标是取代1999年所定订的 HTML 4.01和 XHTML 1.0 标准,以期能在互联网应用迅速发展的时候,使网络标准达到符合当代的网络需求。广义论及HTML5时,实际指的是包括HTML、 CSS 和 JavaScript 在内的一套技术组合。
I — IE
Windows Internet Explorer (旧称 Microsoft Internet Explorer ,简称 Internet Explorer ,缩写 IE ),是 微软公司 推出的一款 网页浏览器 。截至2010年9月止,统计的数据显示Internet Explorer的 市场占有率 高达59.65%。虽然它依然是使用最广泛的网页浏览器,但与 2003年 最高峰时相比,市场占有率相差超过30%。
Internet Explorer对一些标准化技术都有一定程度上的支持,但亦有很多运行上的差距和兼容性的故障 ,这导致技术开发者的批评日益增加。批评增加的情况,在很大程度上是归因于Internet Explorer的竞争对手相对地已提供完全的技术支持,标准规格(Standards-compliant)的应用亦越来越广泛起来。因为Internet Explorer在全球广为应用,网络开发者们在寻求 跨平台 的代码时常常会发现Internet Explorer的漏洞、私有的功能集合和对标准支持的不完善。
2011年3月14日发布的Internet Explorer 9浏览器大幅提高对CSS3和HTML5等W3C规范的支持程度,这个版本也是Internet Explorer浏览器第一个采用GPU加速的版本,正式版于Acid3测试中获得95/100分,相比以往版本有很大进步。可以认为,从Internet Explorer 9开始,Internet Explorer浏览器对W3C规范的支持将不再是问题。
J — JavaScript
JavaScript 是一种广泛用于 客户端 Web开发 的 脚本语言 ,常用来给HTML网页添加动态功能,比如响应用户的各种操作。它最初由 网景公司 的 Brendan Eich 设计,是一种动态、弱类型、基于原型的语言,内置支持类。JavaScript是 Sun公司 的注册商标。 Ecma国际 以JavaScript为基础制定了 ECMAScript 标准。JavaScript也可以用于其他场合,如服务器端编程。完整的JavaScript实现包含三个部分: ECMAScript , 文档对象模型 , 字节顺序记号 。
Netscape公司在最初将其脚本语言命名为LiveScript来Netscape在与Sun合作之后将其改名为JavaScript。JavaScript最初受 Java 启发而开始设计的,目的之一就是“看上去像Java”,因此语法上有类似之处,一些名称和命名规范也借自Java。但JavaScript的主要设计原则源自 Self 和 Scheme .JavaScript与Java名称上的近似,是当时网景为了营销考虑与Sun公司达成协议的结果。为了取得技术优势, 微软 推出了 JScript 来迎战JavaScript的 脚本语言 。为了互用性, Ecma国际 (前身为 欧洲计算机制造商协会 )创建了ECMA-262标准(ECMAScript)。现在两者都属于 ECMAScript 的实现。尽管JavaScript作为给非程序人员的 脚本语言 ,而非作为给程序人员的 编程语言 来推广和宣传,但是JavaScript具有非常丰富的特性。
K — Keyword Optimization
关键词优化 ,也叫 搜索引擎优化 ( Search Engine Optimization ,简称 SEO )是一种利用 搜索引擎 的搜索规则来提高目的 网站 在有关搜索引擎内的排名的方式。由于不少研究发现,搜索引擎的用户往往只会留意搜索结果最前面的几个条目,所以不少 网站 都希望通过各种形式来影响搜索引擎的排序。当中尤以各种依靠广告维生的网站为甚。
所谓“针对搜索引擎作优化的处理”,是指为了要让网站更容易被搜索引擎接受。搜索引擎会将网站彼此间的内容做一些相关性的数据比对,然后再由 浏览器 将这些内容以最快速且接近最完整的方式,体现给搜索者。
搜索引擎优化对于任何一家网站来说,要想在网站推广中取得成功,搜索引擎优化都是至为关键的一项任务。同时,随着搜索引擎不断变换它们的排名算法规则,每次算法上的改变都会让一些排名很好的网站在一夜之间名落孙山,而失去排名的直接后果就是失去了网站固有的可观访问量。所以每次搜索引擎算法的改变都会在网站之中引起不小的骚动和焦虑。可以说,搜索引擎优化是一个愈来愈复杂的任务。
L — Less
Less 最早是一个ruby的gem,让CSS具有动态语言的特性,这些特性包括变量,操作符,嵌套规则。其实Less真正的作用是将使用高