![]() |
|
Spaces home 要做就做到全球最棒 要麼就不做ProfileFriendsBlogMore ![]() | ![]() |
|
August 02 張亞飛宣佈開放的《萬維網應用程式開發綱要》自從20世紀70年代互聯網誕生以來,以WWW技術為支撐的萬維網近十多年來迅猛發展,滲透到社會生活的各個方面。從聖法蘭西斯科郊外的矽穀,到新竹日夜通明的半導體工廠,它是如此深刻地改變著我們工作和生活的方式。 全世界有3/4的人還從未接觸過互聯網,這也預示著我們這些已經從事互聯網工作,和即將從事互聯網工作的設計者、開發者都將有一個美好的明天。 用戶參與和從業於萬維網相關軟體的開發和設計工作,首先必須掌握萬維網的基本常識,這是萬維網的基本知識結構,也是學習互聯網相關知識的基石,我將這稱為《萬維網應用程式開發綱要》。並且,這也不單單是一個知識結構的問題,其實任何的技術知識都是隨著技術本身的發展慢慢積累起來的,是技術不斷變化、不斷延伸的結果,所以知識結構往往也是一個怎樣正確認識技術發展史的問題。下面我們就來簡要介紹一下萬維網的技術簡史和萬維網的基本知識結構。
WWW也就是我們經常提到的萬維網,它是Internet上那些支援WWW和超文本傳輸協定(HTTP)的客戶機與伺服器的集合,透過它可以存取世界各地的超文字檔案,內容包括文字、圖形、聲音、動畫、資料庫、以及各式各樣的軟體等。 HTML是萬維網所基於的標準的格式化語言,它自從被發明以來就構成了整個萬維網設計和開發的核心,這也是我們每個從業人員都必須熟知於心的、了然於胸的,它是我們從業萬維網的基石。 鑒於HTML扮演的重要角色和萬維網不斷發展的客觀要求,我們需要不斷改進和細化它的功能——將結構、內容和樣式分離已是大勢所趨,這也是為何CSS(層疊樣式表)出現的原因。
樣式表的出現簡化了HTML語言並且減輕了HTML對表現形式的責任,它使設計者和用戶都可以控制文檔的表現形式,包括字體資訊、對齊方式、顏色等。 HTML和CSS一道構成了萬維網應用的用戶端基石,它們又被稱為萬維網應用程式的展示層。
萬維網在不斷的前進,人們對於新功能的渴望也在不斷地增強,而這些新功能應當,而且理所應當能夠針對不同用戶的需求做出不同的回應,這也就是為什麼動態網頁技術層出不窮的原因。 在這個目標的驅使下,微軟創造了ASP技術,進而又創造了ASP.NET;SUN創造了Servlet,進而又創造了JSP;Adobe創造了ColdFusion;而萬維網的技術社區會聚著不計其數的開發者,他們中的傑出者創造了PHP並使之成為流行的動態網頁開發技術。 這些動態網頁技術可以針對用戶的不同請求做出不同的回應,「請求/回應」正是萬維網應用程式的基本模式(不管是靜態網頁還是動態網頁),不同的動態網頁開發技術有不同的應對於「請求/回應」的語言特點,但它們也都有共同的實現特點,那就是針對請求生成不同的HTML網頁,並把它傳遞到用戶的用戶端軟體中,正如你經常用到的那樣,這個用戶端軟體被稱為「流覽器」。 由於動態網頁總是位於伺服器上,而它生成的HTML網頁又總是被流覽器流覽,所以這個開發經常被描述成B/S,也就是Browser(流覽器)和Server(伺服器)的縮寫。 所有的基於WWW技術的動態網頁技術都會生成HTML網頁(網頁中也許會包含樣式表,也有可能僅僅是裸資料而不包含HTML標籤),這也是為何你會看到不同的動態網頁技術卻可以創建同樣呈現結果的根本原因。 同樣,在用戶端流覽器中你也看不到動態網頁的源代碼,因為這些源代碼在伺服器上就已經被解釋、執行,最後被轉化成HTML格式的代碼並被傳遞到用戶端。這些網頁之所以被稱為動態網頁,也正是因為它們能夠根據不同的請求生成不同的HTML網頁,這個作為結果的HTML網頁是「動態」產生的。 這些動態網頁技術和支援它們的底層技術一道也被稱為中間件,它們構成了網路應用的中間層,由於這個中間層包含了用於分析用戶不同請求,並對不同請求做出不同回應的業務邏輯代碼,因此,這個層又被稱為業務邏輯層。 位於業務邏輯層之下的是資料服務層,用戶請求所要獲取的資料從這裏被「篩選」出來,並經過業務邏輯層被發送到用戶端——它們被包含在HTML檔中。 出於對資料海量存儲和便於查詢訪問的渴望催動著整個資料服務產業的發展,關聯資料庫(Relational Database)憑藉其自身的特點從它被發明那天起就成為整個資料服務產業的核心,Oracle也正是憑藉其著名的關聯資料庫產品Oracle9i成為軟體產業中僅次於微軟的軟體巨擘。IBM DB2、微軟SQL Server和開源的MySQL也都是關聯資料庫產品中的佼佼者。 而微軟Office產品組中的Access以其高智慧、輕量化和簡單易用性的特點在辦公自動化軟體(OA)領域內廣泛應用,它也是很多開發人員學習資料庫開發的極佳入門工具。 資料服務層不僅僅是資料庫,而且還包含了其他可以用作資料的資源,例如XML。XML已經成為互聯網間標準的資料交換格式,它也正在日益成為資料存儲的標準格式。 展示層、業務邏輯層、資料服務層構成了當前萬維網應用程式的基礎架構,它們也被統稱為「三層架構」。 實際上你不得不瞭解它,它是進行萬維網應用程式開發的認識論基石,也是實踐的指南針,設想存在一個不遵守該指南的萬維網應用程式是不可能的,同樣,設想任何的不瞭解該指南而進行的萬維網應用程式開發也是近似荒謬的。不管你願不願意承認,你永遠都無法擺脫它。 在萬維網軟體發展日益區分為涇渭分明的三層架構後,市場和技術並未停止它們前進的步伐,它們依舊在不斷地向前延伸。在技術廠商的推動下,在萬維網的技術社區的遙相呼應下,三層架構中的每個層次都為了某些特殊的應用不斷向其臨近的層次延伸,首當其衝的便是展示層向邏輯層的滲透。 展示層利用用戶端腳本和流覽器插件技術開始分擔業務邏輯層的部分運算,而且,它們還有一個響亮的名字,被稱為「富用戶端」。 JavaScript、Flash和Java Applet目前是實現展示層分擔業務邏輯層運算的主要軟體技術。JavaScript因為AJAX解決方案和DHTML解決方案的結合而「重獲」新生,而Flash憑藉其分佈廣泛的Flash Player插件以及高效的開發環境而正日益成為下一代萬維網用戶端運算的核心。與此形成鮮明對比的是Java Applet技術,因為其開發的難度極高,以及其用戶端運行環境自身的原因,從其誕生那天起就從未引人注目過,今天,它依然被擱置在某個角落。 用戶應該將JavaScript、Flash技術完全融入到整個萬維網開發體系中,理應將它們視為一個整體,而不是再孤立的去看待它們中的任何一個,並且,很顯然,也不應該去孤立地看待它們中的任何一個。
《綱要》是開放的,用戶對其進行修改和補充都是非常受歡迎的,對《綱要》有任何問題都可以通過張亞飛的BLOG與其交流: http://cn.zhang-yafei.com/(簡體)
July 30 張國立和趙薇原來竟然是夫妻今天,很偶然的機會看到“張國立和趙薇原來竟然是夫妻”: 張國立
《萬維網應用程式開發綱要》及其實現《萬維網應用程式開發綱要》是用戶學習萬維網應用程式開發的指南針,它是萬維網應用程式開發所宗,是用戶初入門必讀的。 最初的《萬維網應用程式開發綱要》是作為“開發王”系列圖書的前言而存在的,它是“開發王”系列圖書的基本組織路線,從而也就是《萬維網應用程式開發綱要》的最初實現。 目前,“開發王”系列圖書的第一部分已經基本完成出版,用戶在各地新華書店以及網上書店中都可以看到它們,第一部分包含以下幾本書: ![]() [1]HTML開發王 在china-pub購買該書簡體中文版 繁體中文版還要再等待些時日 [2]CSS開發王 在china-pub購買該書簡體中文版 繁體中文版還要再等待些時日 [3]JavaScript開發王 在china-pub購買該書簡體中文版 繁體中文版還要再等待些時日 [4]Flash ActionScript 3.0開發王 在china-pub購買該書簡體中文版 繁體中文版還要再等待些時日 [6]ASP開發王 在china-pub購買該書簡體中文版 繁體中文版還要再等待些時日 [7]JSP開發王 在china-pub購買該書簡體中文版 繁體中文版還要再等待些時日 [8]PHP開發王 在china-pub購買該書簡體中文版 繁體中文版還要再等待些時日 July 28 我們宣佈《Flash CS3動畫王》,史來全球第一本具有完整系統知識體系的Flash CS3動畫設計和開發圖書我們宣佈《Flash CS3動畫王》,這是完整系統的Flash知識體系成員,要完整系統的學習Flash
CS3動畫設計和開發,這是一本無可爭議的最佳入門圖書。 基本確定一個過敏源,海鮮(至少是蝦)最近,發現市場上賣活蝦的開始增多,所以接著兩天吃蝦,結果導致兩個手腕部開始出現較嚴重的過敏症狀:紅一片,還有水泡。 July 23 歐洲粒子加速器將於今年8月下旬進行首次粒子對撞記得我在上中學的時候這個粒子加速器就在建設了,那個時候,英國人霍金不止一次提到這個裝置,它能類比宇宙大爆炸。現在終於聽到消息:歐洲粒子加速器將於今年8月下旬進行首次粒子對撞。 July 17 Adobe AIR將支持ActiveX?今天看到Flex SDK4突然釋放出說明,有下面這一條: 我現在有兩個BLOG可以訪問並與我交流: July 16 Flex SDK 4發佈了今天,Adobe終於釋放出了Flex SDK 4的正式版,你可以從這裏下載: July 15 韓國喜劇《猛男誕生記》,非常值得一看韓國喜劇影片《猛男誕生記》,非常值得一看,不是三級片,所以請盡可放心。目前韓國電影水準直追好萊塢啊,應該已經超過了印度電影水準。 下面是一些場景: ![]() 想不到是什麼吧,其實你小時候也幹過的,呵呵。 ![]() 這個更猛了,讓瀑布改變了道路。下麵還有更猛的。 ![]() ![]() 成噴泉了。想不到是什麼吧,看看下面嘍: ![]() 噴泉就是這樣搞定的,哈哈哈,趕快去看吧。 July 02 今天,Google官方的一個Blog正式聲明他們將支持Flash內文搜索,這並不奇怪今天,在Google官方的一個Blog看到了Google正式聲明他們將支持Flash內文搜索的消息,原文地址址: http://googlewebmastercentral.blogspot.com/2008/06/improved-flash-indexing.html
應該說這並不奇怪,因為很久之前就已經可以搜索Flash內文,現在僅僅是宣佈罷了。同時也應該注意到,即使Google能夠搜索Flash內文,它也既不能證明Flash就會比預料的更好,也不能證明比預料的就更差。關鍵在於,你的成果是否能夠為用戶帶來收益:
商業用戶需要的是低成本所帶來的高收益,而最終的消費者需要的是最佳的體驗。 只有緊緊圍繞這個目標的軟體才最終有前途。 July 01 真的很奇怪,我得說我跟他有同樣想法今天在CSDN看到一篇文章,推薦給大家看一下:
InfoWorld主編致信鮑爾默:拯救XP的最後機會 http://news.csdn.net/n/20080701/117059.html
這篇文章歷數了vista的不足和缺陷,並建議微軟能夠延長XP的產品生命週期,他的很多想法和我的一致:既然很多用戶還未真正想使用vista,那麼何妨再讓XP多活幾年,畢竟,它不過是一個桌面系統而已,不是server,也不是office。 June 28 [PHP開發王]目錄第Ⅰ篇 PHP动态网站基础入门篇 第01章 建立首要的、基础的正确认知 第02章 PHP基础——PHP动态网页和PHP语法基础 第03章 PHP基础——数据运算和流程控制 第04章 PHP基础——使用预定义函数和创建自定义函数 第Ⅱ篇 交互应用程序和数据库应用程序篇 第05章 PHP动态网页的请求和响应 第06章 PHP使用表单开发交互式应用程序 第07章 PHP和数据库集成——使用PDO访问数据库 第08章 PHP和数据库集成——数据库设计和SQL语法 第09章 PHP和数据库集成——深入PDO 第Ⅲ篇 PHP应用程序高级进阶篇 第10章 在PHP中使用正则表达式 第11章 Session、Cookies和状态管理 第12章 网页的国际化和区域化 第13章 PHP脚本出错、调试与异常情况处理 第14章 PHP网络应用程序的安全 第15章 在PHP网页内使用类和面向对象PHP开发 第Ⅳ篇 PHP应用程序架构和PHP扩展应用篇 第16章 PHP网络应用程序基础架构和PHP扩展 第17章 使用MySQL数据库函数和MySQLi扩展 第18章 使用PHP操作文件系统 第19章 使用PHP结合XML开发 第20章 使用PHP发送和接收电子邮件 第21章 PHP事务和关键应用 附件 附件A PHP关键字列表 附件B 常用字符集速查表 附件C PHP支持的时区字符串列表 附件D php.ini核心配置选项说明 附件E 测试题答案 附件F 参考文献以及资料来源 [JSP開發王]目錄第Ⅰ篇 JSP动态网站基础入门篇 第01章 建立首要的、基础的正确认知 第02章 JSP基础——JSP动态网页和Java语言基础 第03章 JSP基础——流程控制、数据运算和运算的封装 第04章 JSP基础——了解和使用常用内建类 第Ⅱ篇 交互应用程序和数据库应用程序篇 第05章 JSP动态网页的请求和响应 第06章 JSP使用表单开发交互式应用程序 第07章 JSP和数据库集成——使用JDBC访问数据库 第08章 JSP和数据库集成——数据库设计和SQL语法 第09章 JSP和数据库集成——深入JDBC 第Ⅲ章 JSP应用程序高级进阶篇 第10章 Session、Cookies和状态管理 第11章 JSP内建对象 第12章 网页的国际化和区域化 第13章 JSP脚本出错、调试与异常情况处理 第14章 JSP网络应用程序的安全 第Ⅳ章 JSP应用程序架构和面向对象开发篇 第15章 JSP网络应用程序基础架构 第16章 在JSP内使用类和面向对象Java开发的基础 第17章 JSP和Java Servlet的关系与部署 第18章 基于容器的安全和Tomcat领域(Realm) 第19章 使用JSP操作文件系统 第20章 使用JSP结合XML开发 第21章 使用JSP发送和接收电子邮件 第22章 JSP事务和JTA 第Ⅴ章 JSP标签库、动作和实用功能应用篇 第23章 在JSP网页中使用JavaBeans 第24章 使用统一表达式语言(Unified EL) 第25章 使用JSP标准标签库(JSTL) 第26章 JSP的XML语法格式和标准动作标签 第27章 创建JSP自定义标签 第28章 深入JSP网络应用程序基础架构和MVC架构 第29章 JSF入门——使用基于MVC架构的实现 附件 附件A JSP内建对象速查卡 附件B 常用字符集速查表 附件C 参考文献以及资料来源 [Flash ActionScript 3.0開發王]目錄第Ⅰ篇 Flash开发和ActionScript语言基础入门篇 第01章 建立首要的、基础的正确认知 第02章 ActionScript3.0语言基础——变量和语法约定 第03章 ActionScript3.0语言基础——数据运算和流程控制 第04章 ActionScript3.0语言基础——使用全局函数和创建自定义函数 第05章 创建基于时间轴的应用程序 第06章 开发Flash应用程序的三个基本步骤 第Ⅱ篇 精通Flash Foundation Class和OOP 第07章 使用基本的ActionScript顶级类 第08章 影片剪辑控制、多时间轴和显示列表 第09章 事件处理和基本的交互控制 第10章 设计用户界面和使用组件 第11章 在Flash中使用声音 第12章 在Flash中使用视频 第13章 Flash和XML集成开发 第14章 创建网络应用程序 第15章 在ActionScript中使用正则表达式 第16章 ActionScript脚本调试原理与技术 第17章 创建自定义类和进行面向对象的编程 第Ⅲ篇 动态创建图形和动画效果 第18章 使用过渡效果相关类动态创建动画效果 第19章 使用滤镜动态处理影片剪辑以增加特效 第20章 动态处理图形和位图以增加特效 第Ⅳ篇 高级主题 第21章 系统支持侦测与设置 第22章 应用程序影片的发布和调整 附件 附件A 默认值的改变 附件B 保留的关键字 附件C 关于ActionScript 1.0使用原型来实现面向对象开发 附件D 键盘键和键控代码值对照表 附件E 参考文献以及资料来源 CDROM上的文档 因为太多,所以,某些章节放在了CDROM上。 eBook_01 什么是舞台和时间轴 eBook_02 如何创建影片剪辑元件和按钮元件 eBook_03 在Flash CS3中使用声音的基础知识 eBook_04 XML文档基本语法 eBook_05 使用滤镜效果类 [ASP開發王]目錄第Ⅰ篇 ASP动态网站基础入门篇 第01章 建立首要的、基础的正确认知 第02章 ASP动态网页和VBScript基础 第03章 流程控制、数据运算和运算的封装 第04章 使用内建函数和集合 第Ⅱ篇 交互应用程序和数据库应用程序篇 第05章 ASP动态网页的请求和响应 第06章 ASP使用表单开发交互式应用程序 第07章 ASP和数据库集成——使用ADO访问数据库 第08章 ASP和数据库集成——数据库设计和SQL语法 第09章 ASP和数据库集成——深入ADO内建对象 第Ⅲ篇 ASP应用程序高级进阶篇 第10章 面向对象的VBScript脚本开发和ASP内建对象 第11章 Session、Cookies和状态管理 第12章 全局设置和Global.asa文件 第13章 网页的国际化和区域化 第14章 ASP脚本出错、调试与异常情况处理 第15章 ASP网络应用程序的安全 第Ⅳ篇 ASP应用程序架构和COM组件应用篇 第16章 ASP网络应用程序基础架构和COM组件开发 第17章 使用ASP内建组件 第18章 使用ASP操作文件系统 第19章 使用ASP结合XML开发 第20章 使用ASP发送和接收电子邮件 第21章 ASP事务和事务组件开发 附件 附件A ASP内建对象速查卡 附件B 使用正则表达式 附件C 其它 |