Site Construction [Chinese Simplified]

网站前台编写

一、概述

随着 Web 2.0概念的普及和 W3C 组织的推广,网站重构的影响力正以惊人的速度增长。 XHTML + CSS 布局,DHTML 和 Ajax 像一阵旋风,铺天盖地席卷而来,包括新浪,搜狐,网易,腾讯,淘宝等在内的各种规模的 IT 企业都对自己的网站进行了重构。

网站进行重构原因

  • 优化 - 根据 W3C 标准进行重构后,可以让前端的代码组织更有序,显著改善网站的性能,提高网站访问速度,还能提高可维护性,对搜索引擎也更友好;
  • 加速 - 重构后的网站能带来更好的用户体验,用 XHTML + CSS 重新布局后的页面,文件更小,下载速度更快。
  • 目的 - 重构的本质是构建一个前端灵活的 MVC 框架,即 HTML 作为信息模型(Model),CSS控制样式(View),JavaScript 负责调度数据和实现某种展现逻辑(Controller)。 同时,代码需要具有很好的复用性和可维护性。这是高效率,高质量开发以及协作开发的基础。

DHTML 可以让用户的操作更炫,更吸引眼球;Ajax 可以实现无刷新的数据交换,让用户的操作更流畅。对于普通用户来说,一个网站是否规范,功能是否强大,服务器端是用 J2EE + Oracle 的强大组合,还是用 ASP + Access 的简单组合,并没有太明显的区别。 但是,前端的用户体验却给了用户直观的印象。
Web前端开发技术包括三个要素:HTML,CSS 和 JavaScript,但随着 RIA 的流行和普及,Flash/Flex,Silverlight,XML 和服务器端语言也是应该掌握的。

二、总结

前端开发要用到的技术和语言

  • 基本的 Web 前端开发技术包括:CSS,HTML,DOM,Ajax等,在掌握这些技术的同时,还要清楚地了解它们在不同浏览器上的兼容情况,渲染原理和存在的 Bug;
  • JavaScript,JQuery,ExtJS 等页面效果框架,这是最核心的技术,做页面效果的技术。 如果精通了 JavaScript,后端编程语言,如 .NET,PHP,Ruby 都很容易掌握,因为其原理是一样的;
  • HTML5 与 sencha,是移动设备的页面前端技术;
  • 辅助开发工具:比如处理IE系列浏览器兼容性问题的IE Tester,FF 排错用的 Firebug,Flash Firebug,JavaScript Debugger 等;
  • Dreamweaver,制作网页;
  • 使用和修改开源源码 ThinkPHP 与 Zend 框架;
  • 使用和修改模板语言,如 WordPress 等;
  • 简单使用修图软件,如 Adobe Photoshop,Illustrator;
  • Flash,制作动态 Flash 相册,Flash as3编程;
  • 优化技术:网站性能优化,SEO 和服务器端的基础知识;
  • 理论知识:除了要用到技术层面的知识,还有理论层面的知识,包括代码的可维护性,组件的易用性,分层语义模板和浏览器分级支持,等等。

三、简要介绍前台页面开发的几种语言特点

HTML 的特点

  • 简易性:HTML 版本升级采用超集方式,从而更加灵活方便;
  • 可扩展性:HTML 语言的广泛应用带来了加强功能,增加标识符等要求,HTML 采取子类元素的方式,为系统扩展带来保证;
  • 平台无关性:虽然 PC 机大行其道,但使用 Mac 等其他机器的大有人在,HTML 可以使用在广泛的平台上,这也是盛行的另一个原因。

CSS 的特点

  • 简化了网页格式设计,增强了网页的可维护性;
  • 加强了网页的表现力,CSS 样式属性提供了比 HTML 更多的格式设计功能。例如,可以通过 CSS 样式去掉网页中超级链接的下划线,甚至可以为文字添加阴影,翻转效果等;
  • 增强了网站格式的一致性。将 CSS 样式定义到样式表文件中。然后在多个网页中同时应用样式表文件中的样式,就确保了多个网页具有一致的格式,并且可以随时更新样式表文件,以到达可以自动更新多个网页的格式设置,从而大大降低了网站的开发与维护工作。

JavaScript 的特点

JavaScript是一种基于对象(Object)和事件驱动(Event Driven)并具有安全性能的脚本语言。使用它的目的是与 HTML 超文本标记语言、Java 脚本语言( Java 小程序)一起实现在一个 Web 页面中连接多个对象,与 Web 客户交互作用。从而可以开发客户端的应用程序等。它是通过嵌入或调入到标准的HTML语言中实现的。它的出现弥补了 HTML 语言的缺陷,它是 Java 与 HTML 折衷的选择,具有以下几个基本特点:

  • 是一种脚本编写语言,JavaScript 是一种脚本语言,它采用小程序段的方式实现编程。像其它脚本语言一样,JavaScript 同样已是一种解释性语言,它提供了一个易的开发过程。它的基本结构形式与 C、C++、VB、Delphi 十分类似。但它不像这些语言一样,需要先编译,而是在程序运行过程中被逐行地解释。它与 HTML 标识结合在一起,从而方便用户的使用操作。
  • 基于对象的语言,JavaScript 是一种基于对象的语言,同时以可以看作一种面向对象的。这意味着它能运用自己已经创建的对象。因此,许多功能可以来自于脚本环境中对象的方法与脚本的相互作用;
  • 简单性,JavaScript 的简单性主要体现在:首先它是一种基于 Java 基本语句和控制流之上的简单而紧凑的设计,从而对于学习 Java 是一种非常好的过渡。其次它的变量类型是采用弱类型,并未使用严格的数据类型;
  • 安全性,JavaScript 是一种安全性语言,它不允许访问本地的硬盘,并不能将数据存入到服务器上,不允许对网络文档进行修改和删除,只能通过浏览器实现信息浏览或动态交互。从而有效地防止数据的丢失;
  • 动态性,JavaScript 是动态的,它可以直接对用户或客户输入做出响应,无须经过Web服务程序。它对用户的反映响应,是采用以事件驱动的方式进行的。所谓事件驱动,就是指在主页(Home Page)中执行了某种操作所产生的动作,就称为"事件"(Event)。比如按下鼠标、移动窗口、选择菜单等都可以视为事件。当事件发生后,可能会引起相应的事件响应;
  • 跨平台性,JavaScript 是依赖于浏览器本身,与操作环境无关,只要能运行浏览器的计算机,并支持 JavaScript 的浏览器就可正确执行。从而实现了“编写一次,走遍天下”的梦想。实际上 JavaScript 最杰出之处在于可以用很小的程序做大量的事。无须有高性能的电脑,软件仅需一个字处理软件及一浏览器,无须WEB服务器通道,通过自己的电脑即可完成所有的事情。

综合所述 JavaScript 是一种描述语言,它可以被嵌入到HTML的文件之中。JavaScript 语言可以做到回应使用者的需求事件(如:Form 的输入),而不用任何的网路来回传输资料,所以当一位使用者输入一项资料时,它不用经过传给伺服端(Server)处理,再传回来的过程,而直接可以被客户端 (Client) 的应用程式所处理。

网站后台编写

后台编写语言:ASP、ASP.NET、JSP、Java、PHP、.NET、Ruby、Python 等。

ASP

优点

  • 无需编译;
  • 易于生成;
  • 独立于浏览器;
  • 面向对象;
  • 与任何 ActiveX Scripting 语言兼容;
  • 源程序码不会外漏。

缺点

  • Windows 本身的所有问题都会一成不变的也累加到了它的身上。安全性、稳定性、跨平台性都会因为与 NT 的捆绑而显现出来;
  • ASP 由于使用了 COM 组件所以它会变的十分强大,但是这样的强大由于 Windows NT 系统最初的设计问题而会引发大量的安全问题。只要在这样的组件或是操作中一不注意,哪么外部攻击就可以取得相当高的权限而导致网站瘫痪或者数据丢失;
  • 由于 ASP 还是一种 Script 语言所没除了大量使用组件外,没有办法提高其工作效率。它必须面对即时编绎的时间考验,同时我们还不知其背后的组件会是一个什么样的状况;
  • 无法实现跨操作系统的应用。当然这也是微软的理由之一,只有这样才能发挥 ASP 最佳的能力。可是我却认为正是 Windows 限制了 ASP,ASP 的概念本就是为一个能让系统运行于一个大的多样化环境而设计的;
  • 还无法完全实现一些企业级的功能:完全的集群、负载均横。

ASP.NET

优点

  • 简洁的设计和实施;
  • 语言灵活,并支持复杂的面向对象特性;
  • 开发环境。

缺点

  • 数据库的连接复杂。

JSP

优点

  • 一处编写随处运行;
  • 系统的多台平支持;
  • 强大的的可伸缩性;
  • 多样化和功能强大的开发工具支持。

缺点

  • 与 ASP 一样,Java 的一些优势正是它致命的问题所在;
  • 缺少系统性的资料;
  • 速度超慢。

PHP 特点与技术优势

  • 跨平台特性:PHP 语言可以运行于 Linux、FreeBSD、OpenBSD、Solaris Unix、AIX、Darwin、Windows 等多种操作系统;
  • 数据库支持:PHP 支持多种主流与非主流的数据库,如:MySQL、SQL Server、Oracle、PostgreSQL 等;
  • 安全性:加密支持,PHP4 实现了完整的加密,这些加密功能是一个完整的 mycrypt 库,并且 PHP 4.0 支持哈希函数。Blowfish,TripleDES,MD5,并且 SHA1 也是可使用的一些加密算法。 使用 PHP 语言运行 Linux、FreeBSD、OpenBSD、Solaris Unix操作系统,不需安装任何杀毒软件及补丁,安全可靠;
  • 扩展性:扩充了 API 模块:PHP 4.0 为扩展的 API 模块的提供了扩展 PHP 接口模块,它比旧的 API 版本显著地快。 PHP 模块已有的及最常用的接口多数被转换到使用这个扩展的接口;另外,PHP 属于开源软件,其源代码完全公开,任何程序员为 PHP 扩展附加功能非常容易使 PHP 有很好的发展空间和扩展性;
  • 执行速度快:PHP 是一种强大的 CGI 脚本语言,语法混合了 C、Java、Perl 和 PHP 式的新语法,执行网页比 CGI、Perl 和 ASP 更快,这是它的第一个突出的特点;内存方面,PHP 4.0 能更有效的使用内存,导致较少的内存占用消耗,这主要归功于引用计数技术的实现;
  • 可移植性:PHP 写出来的 Web 后端 CGI 程序,可以很轻易的移植到不同的操作系统上。例如,Linux 架构的网站,在系统负荷过高时,可以快速地将整个系统移到Sun工作站上,不用重新编译 CGI 程序。面对快速发展的 Internet,这是长期规划的最好选择;
  • 功能全面性:PHP 包括图形处理、编码与解码、压缩文件处理、XML 解析、支持 HTTP 的身份认证、Cookie、POP3、SNMP 等。可以利用 PHP 连接包括 Oracle,Microsoft Access,MySQL 在内的大部分数据库。从对象式的设计、结构化的特性、数据库的处理、网络接口应用、安全编码机制等,PHP 几乎涵盖了所有网站的一切功能;
  • 可伸缩性:传统上网页的交互作用是通过 CGI 来实现的。CGI 程序的伸缩性不很理想,因为它为每一个正在运行的 CGI 程序开一个独立进程。解决方法就是将经常用来编写 CGI 程序的语言的解释器编译进 Web 服务器(比如 mod_perl,JSP),PHP 就可以以这种方式安装。内嵌的 PHP 可以具有更高的可伸缩性;
  • 要发挥PHP语言的优势,Linux + Apache + MySQL + PHP 是非常好的组合。
网站管理工具

关系示意:网站前台 → 数据库 → 网站后台
后台是通过前台更新前台的。

管理系统后台

根据应用层面的不同,后台系统可以被划分为:

  • 重视后台管理的网站后台管理系统;
  • 重视风格设计的网站后台管理系统;
  • 重视前台发布的网站后台管理系统等。

网站后台管理系统开发者的出发点是为了让不熟悉网站的用户有一个直观的表示方法,也让各种网络编程语言用户可以通过简单的方式来开发个性化的网站。 让不同的用户在懂得少许 HTML 语言的基础上,就能够快速的构建一个风格个性化的而功能强大的专业企业网站。

PHP 网站后台管理系统

Joomla!,Drupal,Mambo,DEDECMS,phpcms,Empire CMS,php168,HBcms,SupSite,WordPress 等。

数据库

Oracle

能在所有主要的平台(其中包括 Windows 上运行),并且完全支持所有的工业标准,所以,客户可以利用很多种第三方应用程序,工具,网关和管理实用程序。 Oracle 采用开放策略,它使得客户可以选择一种最适合他们特定需要的解决方案。 SQL Server 只在 Windows 上运行,Microsoft 这种专有策略的目标是将客户锁定到 Windows 环境中。 由于 SQL Server 紧密的捆绑在 Windows 平台上,所以,只有随着 Windows 可靠性,开放性以及性能的改善,SQL Server 的开放性和可靠性才能进一步提高。

优点

  • Oracle 的稳定性要比 SQL Server 好;
  • Oracle 在导数据工具 sqlload.exe 功能比 SQL Server 的 Bcp 功能强大,Oracle 可以按照条件把文本文件数据导入;
  • Oracle 的安全机制比 SQL Server 好;
  • 在处理大数据方面 Oracle 会更稳定一些;
  • SQL Server 在数据导出方面功能更强一些;
  • 处理速度方面比 Oracle 快一些,和两者的协议有关。

缺点

  • 价格昂贵。

MySQL 的特性

  • 开放性:它所使用的语言 SQL 以 ANSI SQL2 为基础。这个数据库引擎可运行在多个平台上,包括 OS X、Linux、FreeBSD、Solaris 和 Windows。如果没有可用于你的平台的二进制文件,则可以将源代码在相应平台上进行编译;
  • 应用支持:MySQL 为几乎任何编程语言提供了一个 API;
  • 跨数据库连接:可以连接不同数据库的表以建立 MySQL 查询;
  • 外连接支持:MySQL 支持 ANSI 及 ODBC 的左外连接和右外连接;
  • MySQL 廉价而且快速。
Site Construction [Chinese Simplified]
2 votes, 5.00 avg. rating (98% score)